# Sharpe Ratio : why the normalization factor?

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.84525

I 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?

If you're annualising your data with T it should always be the same, not changing with the length of your data.

To demonstrate, annualising monthly returns, the Sharpe ratios turn out fairly similar:-

Note

The reason for multiplying by root 12 is that the mean return is annualised by multiplying by 12 and volatility is annualised by m = 12.

12 on the Sharpe ratio numerator and root 12 on the denominator is equivalent to multiplying by root 12.

• Thanks a lot for your answer, but after reading several times, I still don't understand. May I ask a few questions? Why are the 2nd and 3rd curves non-linear like mines? Did you work with some different data? What do you do in this code? Can you comment? I don't know this language and what Flatten@ConstantArray, what a FoldList(..., 1, #+1)&/@ is, etc. Sorry for all these questions :) but I really want to understand :)
– Basj
Dec 18 '15 at 19:40
• Hi. I just used Mathematica to run some demo numbers. One would expect constant positive returns to be exponential rather than linear. The Mathematica commands are documented here: ConstantArray, FoldList. Dec 19 '15 at 8:33

I'll try to answer according to what I've read (and I hope mostly understood).

Let's assume the mean of daily returns is 1%, and the standard deviation of daily returns is 1%. Then:

$$Sharpe = \sqrt{252} \frac{mean(daily\ return)}{stddev(daily\ return)} \approx \sqrt{252} \frac{1 \%}{1 \%} = \sqrt{252}$$

Now let's assume we work with monthly returns. In one month, the return will be ~21 times greater than before on average, and the standard deviation will be ~$\sqrt{21}$ times greater than before on average (why? see note below...), i.e. :

$$Sharpe = \sqrt{12} \frac{mean(daily\ return)}{stddev(daily\ return)} \approx \sqrt{12} \frac{21 \%}{\sqrt{21} \%} \approx \sqrt{12} \sqrt{21} = \sqrt{252}$$

This shows than the Sharpe ratio is independant to sampling rate; we just have to pay attention to multiply by $\sqrt{252}$ when using daily returns, or $\sqrt{12}$ when using monthly returns.

Note: since the variance has $V(a X) = a^2 V(X)$, standard deviation has $\sigma_{a X} = |a| \sigma_X$, so I don't see why multiplying returns by 21 makes its standard deviation been multiplied by $\sqrt{21}$. This needs to be explained.

The units of returns are 'per time', while the units of variance are also 'per time', thus the units of the Sharpe ratio are 'per square root time'. See section 2.2 of the Short Sharpe Course for a discussion of units, and section 3.3.2 of the same for more information on how moments of the Sharpe are affected by the sampling rate.