I try to understand why a $\sqrt{252}$ normalization factor is useful for Sharpe Ratio:
Let's compute the Sharpe Ratio for this imaginary portfolio, for various sampling periods:
import numpy as np
import matplotlib.pyplot as plt
T = 252 # 252 days ~ 52 weeks of 5 days ~ 12 months of 21 days
for period in [1, 5, 21]: # sample every 1 day, 1 week, or 1 month
x = np.arange(0, T, period)
y = 100 + x + 3 * np.sin(x)
returns = (y[1:] / y[:-1] - 1) # will be daily, weekly, monthly returns
plt.plot(x, y)
plt.show()
plt.plot(returns)
plt.show()
print 'Sharpe Ratio: %.5f' % (np.sqrt(T/period) * returns.mean() / returns.std())
# sqrt(T/period) is sqrt(252), ~ sqrt(52), sqrt(12)
Results
I get something nearly constant :
Sharpe Ratio: 7.24790
Sharpe Ratio: 10.49590
Sharpe Ratio: 7.84525I find this really coherent and good because for these 3 sampling rates, the ratio is similar: it doesn't depend on the sampling rate** but is intrinsic to the portfolio itself.
Question :
I see this is coherent. But why this normalization factor in Sharpe Ratio?