If I know the daily returns of my portfolio, I need to multiply the Sharpe Ratio by $\sqrt{252}$ to have it annualized. I don't understand why that is.
-
$\begingroup$ If I had daily data for one month (22 trading days), and wanted an estimate of annualized Sharpe ratio, would I use sqrt(252)? $\endgroup$– user4850Feb 26, 2013 at 0:06
-
$\begingroup$ @GerryBlais Yes. $\endgroup$– chrisaycockFeb 26, 2013 at 0:53
-
1$\begingroup$ @David : don't you think RYogi's answer could be accepted for your question? $\endgroup$– SRKXFeb 26, 2013 at 11:15
8 Answers
Actually, that is not always the case. Here is a great paper by Andy Lo, "The Statistics of Sharpe Ratios". He shows how monthly Sharpe ratios "cannot be annualized by multiplying by $\sqrt{12}$ except under very special circumstances". I expect this will carry over to annualizing daily Sharpe Ratios.
-
3$\begingroup$ For me, this link led me to a page first asking me to prove I'm human, and then trying to install a chrome extension. $\endgroup$ Apr 9, 2019 at 10:42
-
$\begingroup$ Thanks @EduardoWada, I updated the link to a different source. $\endgroup$– RyogiApr 9, 2019 at 14:17
-
2$\begingroup$ That Andy Lo paper "The Statistics of Sharpe Ratios" is awesome. The overall theme is how autocorrelations in high frequency (e.g. daily) returns complicate using them to compute a lower frequency (e.g. annual) Sharpe ratio. $\endgroup$ Feb 18, 2021 at 3:34
-
2$\begingroup$ Does anyone know of a library that does this correctly. Preferably in Python $\endgroup$– BrandonSep 25, 2021 at 0:54
@RYogi's answer is definitely far more comprehensive, but if you're looking for what the assumptions behind the common rule of thumb are, they are:
- The returns of the portfolio are a Wiener process, in which volatility scales with the square-root of time.
- There are 252 trading days in a year.
As Lo's paper points out, assumption #1 is somewhat suspect.
-
2$\begingroup$ Thanks, Tal. I think the assumption 1 should be the returns are IID. $\endgroup$– DavidOct 28, 2011 at 16:04
You often see various financial metrics scale with the square root of time This stems from the process that drives the lognornmal returns in stock prices which is the Ito process $dS = \mu Sdt + \sigma SdZ$.
The Wiener process assumes that each dt is IID and has constant $\mu$ and $\sigma^2$, therefore the same expected value and variance at each increment. Because: $$\operatorname{Var}\left(\ln\left(\frac{S(T)}{S(T_0)} \right) \right) = \operatorname{Var}\left(\ln\left(\frac{S(t_n)}{S(t_{n-1})} \right) \right) + \operatorname{Var}\left(\ln\left(\frac{S(t_{n-1})}{S(t_{n-2})} \right) \right) + \dots + \operatorname{Var}\left(\ln\left(\frac{S(t_1)}{S(t_0)} \right) \right)$$ $$ = ns^2 = s^2\frac{(T-T_0)}{dt}$$ $$\text{where } n = \frac{(T-T_0)}{dt} $$ $$\text{where } S(T_{n})=S_{0}e^{(u-\frac{1}{2}\sigma^2)T_n+\sigma W(T_n)}$$ It follows that $s^2(T-T_0)$. Because the variance should be finite, in the $\lim_{dt \rightarrow 0}$, variance should be proportional to $dt$. Since $s^2$ is 1 for a lognormally distributed process, the variance is $(T-T_0)$, the standard deviation is therefore $\sqrt{T-T_0}$ or $\sqrt{T}$.
The reason you see financial metrics scaled to the square root of time is because the metrics are usually calculated using stock returns, which are assumed to be lognormally distributed. Whether it's right or wrong really has to do with your assumption of how stock returns are really distributed.
-
1
-
Here's the idea of where that comes from:
To annualize the daily return, you multiply by 252 (the number of observations in a year).
To annualize the variance, you multiply by 252 because you are assuming the returns are uncorrelated with each other and the log return over a year is the sum of the daily log returns.
So the annualization of the ratio is 252 / sqrt(252) = sqrt(252).
-
$\begingroup$ Hi Patrick, that's exactly what I have thought about. But why the annualized standard deviation should be sqrt(252) times its daily value. My calculation is stdev(252r)=252*stdev(r). $\endgroup$– DavidOct 28, 2011 at 13:55
-
3$\begingroup$ Correct: sd(252 * r) = 252 * sd(r) but that is not what is being done. You want sd( sum from i=1 to 252 of r_i ) $\endgroup$ Oct 28, 2011 at 15:06
-
$\begingroup$ @PatrickBurns what's difference btn
sd( sum from i=1 to 252 of r_i )
andsd(252*r)
? $\endgroup$ Dec 19, 2018 at 0:49
The reason is that the Sharpe Ratio is typically defined in terms of annual return and annual deviation. As everyone has said, you go from daily returns to annual returns by assuming daily returns are independent and identically distributed.
With that assumption, you get annual return by multiplying by daily return by 252 (compounding makes little difference when daily return is 1 bp). You get annual deviation by multiplying daily deviation by square root of 252. So you get the annual ratio by the daily ratio by 252/sqrt(252) = sqrt(252).
The units of Sharpe ratio are 'per square root time', that is, if you measure the mean and standard deviation based on trading days, the units are 'per square root (trading) day'. It should be obvious then, how to re-express Sharpe ratio in different units. For example, to get to 'per root month', multiply by $\sqrt{253/12}$.
The reason why Sharpe has these units is because the drift term has units of 'return per time', while variance is 'returns squared per time'.
It is not that hard at all. You making two assumptions:
1) There are 252 business days in a year. 2) The daily returns are IID (independently and identically distributed).
Then:
a) the sum of the means of the 252 IID will be 252 times their identical mean. b) the sum of their variances will be 252 times their identical variance, as independence implies their cov are zero. Standard deviation then, by definition, would be square root of 252 times their std dev.
As Sharpe ratio is mean over std dev, you get the square root of 252 as the scaling factor for converting ratio computed on daily returns into its annualised equivalent.
-
$\begingroup$ Why are all the other answers on the page saying that assumption of Weiner process is necessary? I really don't see the issue with this answer, this seems correct to me. $\endgroup$ Dec 21, 2022 at 2:48
If you assume that your capital $C$ can be described as a Geometric Brownian Motion (GBM) with annualized drift $\mu$ and annualized standard deviation $\sigma$, then a correct way to calculate Sharpe Ratio ($\frac{\mu}{\sigma}$, disregarding risk free rate) would be as follows:
- Calculate daily log returns:
$$\log(C_{t+1}) - \log(C_{t})$$
Find mean ($\bar{\mu}$) and standard deviation ($\bar{\sigma}$) of the daily log returns
Calculate Sharpe:
$$\frac{\mu}{\sigma} = \left(\frac{\bar{\mu}}{\bar{\sigma}} + 0.5 \bar{\sigma}\right) \times \sqrt{DaysPerYear}$$
The reason to add $0.5 \bar{\sigma}$ to the log return-based ratio can be explained via Ito's lemma: logarithm of a GBM has annualized expectation of $\mu - 0.5\sigma^2$.
-
$\begingroup$ Interesting suggestion to reduce the mean return by the "volatility tax" when annualizing it for use in the Sharpe ratio. Do you have a good reference for doing this when calculating the Sharpe ratio? I think that you are correct: calculating an annual result from daily data requires the geometric mean return, not the arithmetic mean return. $\endgroup$ Feb 18, 2021 at 2:55
-
$\begingroup$ That said, did you make a sign error in your Sharpe ratio formula? I think that instead of $... + 0.5\sigma$ it should be $... - 0.5\sigma$ in order to be consistent with the "volatility tax" formula $\mu - 0.5\sigma^{2}$. Your + version means that the SR goes up more (or decreases less) as sigma goes up than the non-corrected result does, which seems to be incorrect. $\endgroup$ Feb 18, 2021 at 2:56
-
$\begingroup$ Another point: that "volatility tax" formula $\mu - 0.5\sigma^{2}$ is only exact for Geometric Brownian Motion, which is a continous process. When you have discrete returns, like daily returns, is that formula actually only the first 2 terms of a Taylor series expansion? $\endgroup$ Feb 18, 2021 at 3:00