Skip to content
All library documents

Estimating and Annualizing Historical Realized Volatility

Article Quant Q&A · Author: Fly_back

Summary

The document explains common ways to estimate volatility from a window of daily returns. A root mean square of returns relative to zero gives a realized-volatility estimate over the chosen window; subtracting the sample mean instead estimates dispersion around that mean. The denominator depends on the assumptions: Bessel’s correction addresses sample variance when the mean is estimated, while it is unnecessary if the mean is assumed known to be zero. The correction does not make the resulting standard-deviation estimate unbiased.

Multiplying a daily volatility estimate by the square root of the number of trading days in a year expresses it on an annualized scale. The window length determines the period summarized, rather than volatility on one isolated day. The answers also mention log returns, exponential weighting, and the Garman–Klass estimator, which uses open, high, low, and close prices. No comparison across data or window choices is reported, and the estimates depend on return conventions, distributional assumptions, and the intended horizon.

Key ideas

  • A root mean square of returns relative to zero and a standard deviation around the sample mean use different centering assumptions.
  • Bessel’s correction concerns variance estimation when the mean is estimated, but does not remove bias from the standard deviation estimate.
  • A rolling window estimates volatility over that period; square-root-of-time scaling annualizes the estimate.
  • Log returns, exponential weighting, and the Garman–Klass range estimator are presented as alternatives or variations.
  • The document does not establish one window length as universally appropriate.

Tags

Full text
# A good way to calculate the realised daily volatility


# A good way to calculate the realised daily volatility












Currently, I am confused about the calculation of realised daily volatility. Assume I have daily returns, for example, FTSE, then I need to estimate the daily realised volatility. I read some materials and I get the idea:

$v = 100 * \sqrt{\frac{252}{n}\sum_{i = 1}^n R_t^2}$,

however, some other materials explain it should be $\frac{252}{n-1}$ in the equation, which one is right?

Then it comes to why $v$ in the equation could be treated as the realised volatility. Here is my understanding, if we want to estimate the realised volatility on day $N$, we use the standard deviation of returns $R_{N - n}, R_{N - n + 1}, \dots, R_N $ multiply $\sqrt{252}$ as an approximation, if that true? If it is true, then how to decide the size of $n$, $n= 10, 20 \dots$.

Besides this method, any other method possible? Of course, except the estimation from GARCH family model.

Thanks

## Answer by GoneAsync (score 7, accepted)

https://quant.stackexchange.com/a/17849

NN Taleb has some discussion of this in his book Dynamic Hedging. You'll find a lot of criticism of the book out in the aether, and there are certainly a good number of typos, but it is probably the least academic and most experience-based resource out there, and certainly worth considering. Augen is another big experience-based proponent of volatility (e.g. "The Volatility Edge in Options Trading").

Putting the two together, with what you have given: your equation is simply calculating the simple moving average of the root-mean-square deviation (RMSD) from zero of returns, and expressing it as annualized volatility (based on the assumption of a Gaussian distribution). Firstly, it's not clear if you're using simple returns or log-returns. Both Taleb and Augen urge the use of log returns. Augen uses the RMSD from the average, Taleb advocates just using zero as you have. Augen uses the simple average as you have, Taleb also suggests an exponential moving average.

All of the above are variations on the theme of time-averaging. In contrast, Taleb also suggests the Garman-Klass estimator, which uses only a single day's common price details: Open, High, Low, Close: $$ \sigma_{GK} = \left\{\frac{1}{2}\left[\ln\left(\frac{H}{L}\right)\right]^2 - (2\ln2 - 1)\left[\ln\left(\frac{C}{O}\right)\right]^2\right\} $$ Note that this equation is different to his; it's the one I use that I believe corrects the typos/mistakes.

## Answer by ocstl (score 2)

https://quant.stackexchange.com/a/17815

The factor $\frac{n}{n-1}$ (Bessel's correction) is used when estimating sample variance. This is because using $n$ in the denominator yields a biased estimator of the variance. That being said, if one assumes that the mean is $0$ (not an unusual assumption), then one doesn't lose a degree of freedom in estimating sample mean, so Bessel's correction isn't necessary.

Also, while the correction yields an unbiased estimator of variance, it does not yield an unbiased estimator of standard deviation (volatility), so the point is a bit moot; the difference is small anyway.

As for the second question, the realized volatility is estimated over a period of time. So, if $n = 10$, you're estimating RV over a ten day period. This is not the same as estimating the RV on a single day. Multiplying it by $\sqrt{252}$ is simply to transform the estimated RV to an annualized RV.

As far as I know, your first equation is the most common way of estimating RV. Though I do remember Tauchen was working on using Laplace transforms on high-frequency data, but I'm not sure that's what you're looking for.

Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.