# Standard deviation of annual returns formulas return all different values

I am trying to build a monte-carlo simulator for predicting the possible future values of a portfolio. I have daily historical prices for several assets but I don't know how to correctly estimate annual standard deviation of the returns for each specific asset.

Looking on the web there are three different ways to compute it:

1. Calculate std on the daily returns and multiply by sqrt(252)
2. Calculate std on monthly returns and multiply by sqrt(12)
3. Calculate std on annual returns

But each of them return different results with the last one usually being much larger with respect to the first two. For instance if I apply those strategies to the historical daily gold prices I will have the following annual deviations:

1. 20.89%
2. 21.16%
3. 28.91%

I think the most appropriate one is to directly compute std on annual returns but this will lead to a high deviations which is different to the one I usually see on the web for specific assets.

• I'm pretty sure this question has been answered before on here. Commented Nov 8, 2022 at 14:39
• This is a pretty (maybe somewhat is the right word) well known phenomenon. The $\sqrt{N}$ formula only applies when observations are independent with equal variances. Commented Nov 8, 2022 at 17:55
• Also, how precisely a standard deviation can be estimated depends on how many observations you have. You have fewer data for annual returns (for ex dozens of years, versus hundreds of months and many thousands of days), so the third estimate is correspondingly more uncertain or imprecise. (Personally I like to work with monthly data, which is both plentiful and reasonably uncorrelated. Daily rets are somewhat auto-correlated and years are scarce). Commented Nov 8, 2022 at 19:20
• @nbbo2, if we care about annual returns, estimation precision depends on the calendar span of our sample; do we cover 1 year in total? 2 years? 10 years? Unless we assume some structure of how high frequency returns are related to low frequency returns, having one year worth of daily returns tells us as much about the volatility of yearly returns as having a single yearly return. Of course, we do tend to assume some structure in practice, but to which extent these assumptions hold is a question worth pondering. Commented Nov 9, 2022 at 16:30
• I agree with you that the returns you care about (what is the period that you need volatility for) should be the primary consideration. Commented Nov 10, 2022 at 12:45

It looks like you've discovered positive autocorrelation between returns.

When returns are independent (and identically distributed), one is able to annualise volatility using the sqrt(T) rule. However, when there is autocorrelation (subsequent returns over equal time slice, dt, having a correlation != 0) one cannot annualise with the sqrt(T) rule anymore, and must resort to an uglier looking annualisation factor:

For variance V(r_ht):

$$V(r_{ht}) = σ^2 * (h + 2ρ/(1-ρ)^2 * ((h-1)(1-ρ) - ρ(1-p)^{h-1}))$$

So the volatility annualisation is:

$$σ * \sqrt{(h + 2ρ/(1-ρ)^2 * ((h-1)(1-ρ) - ρ(1-p)^{h-1}))}$$

Where ρ is the correlation between subsequent returns at your chosen time slice, dt; and where h is the number of periods in a year for your chosen time slice, 1/dt.

For daily data with a volatility of 1.31%, the sqrt(T) rule would dictate that the annualised volatility is 1.31% * sqrt(252) = 20.89%.

If returns had a daily autocorrelation of 0.2, then the annualised volatility would be 1.31% * sqrt(377.3) = 0.2544.

In your case it seems your return autocorrelation is 0.3192. Which suggests a positive trend affect.

You can confirm this using numerical methods. I found it written in Carole Alexander's book 'Practical Financial Econometrics', which is the second book in her 'Market Risk Analysis' series.