If you're working with daily data (without access to intraday data) and need to calculate volatility, then using close-to-close squared returns is by far not the best way to go. Trades and quants know that it is a very noisy metric, and come up with few work-arounds. In this post I will do a very quick review of some available options, as well as new developments. I am not planning a thorough review or comparison, rather just to offer my personal opinion, based on practical experience of what works better.

Quants tend to like either modelling some long-term average of daily squared returns (which introduced autocorrelation), or using GARCH to filter out smooth volatility process based on the data. GARCH model of daily returns, in my experience, also performed quite poorly, especially in forecasting future volatility.

Traders tend to use ATR - average true range - as a measure of price variability (quick tip: daily volatility ≈ ATR / stock price / 1.6). Another very similar estimate based on squared range, called Parkinson's volatility estimator.

Better volatility estimates have been devised: Garman-Klass and Rogers-Satchell volatility estimators are much better than others mentioned above. Yang-Zhang estimator has theoretically even higher accuracy, but works only for multi-day estimates. Magdon-Ismail and Atiya published another estimator but (according to their own research) it works only slightly better than R-S and G-K estimators, while being much more complicated from computational point. A quick note about the formulas to the right - similar to Y-Z estimator, G-K and R-S can also be adjusted to include overnight return,

see e.g. this.

Recently there were three interesting developments in estimators based on OHLC data.

Last year Bruno Dupire introduced what he called a Move-based estimator, a volatility
estimate that reflect the cost
of option hedging. I have to honestly admit, that after reviewing the presentation several times I still don't understand how the estimator is derived. If you can explain it to me, please email or comment below.

Jerzy Pawlowski created a skew-like and moment like estimators based on OHLC data, here slides 6 and 7, with R code available here.

Finally, not quite recent (2008) but also important is this correlation formula from Rogers and Zhou.

How do you go about calculating 30 days rolling volatility if you have weekly data

ReplyDeleteIf you only have weekly closing prices, then there are just too few observations to get a meaningful estimate. If you have weekly OHLC data, then absolutely use the formulas that I mentioned, as if your observations came from daily data.

ReplyDeleteIn literature, use weekly data to calculate every week's volatility (Parkinson), so formula just have one highest and lowest price in one week. I don't sure "N" in formula how to determine. Is all trading days in that week? like 5 days? Author says he want to account for impact of different number of trading days on weekly volatility. Thank you!

ReplyDelete