In [1]:
import numpy as np
In [2]:
# annual return
value = {'start': 100.0, 'end':110.0}
metric = round((value['end']/value['start']) - 1, 2)
metric
Out[2]:
In [3]:
# stand dev of daily return
value = [100.0, 102.0, 99.0]
daily_returns = [0 for x in xrange(len(value))]
for i in xrange(len(value)):
if i != 0:
# day / day before
daily_returns[i] = round((value[i]/value[i-1]) - 1, 2)
# risk
print daily_returns
std_metric = np.std(daily_returns)
print round(std_metric, 2)
sharpe ratio (return vs amount of risk [reward/risk]; if same return, higher is better)
$S = \frac{E[R]}{\sigma} = \frac{E[R]}{\sqrt{var[R]}}$
In [4]:
# simplified version
k = np.sqrt(250) # factor for daily returns (250 days in a trading year)
metric = k * np.mean(daily_returns)/np.std(daily_returns)
metric
Out[4]:
In [5]:
# simplified version
k = np.sqrt(250) # factor for daily returns (250 days in a trading year)
metric = k * 0.005/0.04
metric
Out[5]: