8

I want to calculate realized/historical volatility for the underlying products of various options using the Garman-Klass estimator, but I can't see to find an equation, although I know it involves OHLC data. In the comments there is a link to the equation, but I still am looking for a little explanation. Why does this work? What is the variable "F"?

Stu
  • 377
  • 2
  • 5
  • 14
  • Google is your best friend, http://www.todaysgroep.nl/media/236846/measuring_historic_volatility.pdf – Matt Wolf May 15 '14 at 15:39
  • 1
    I found this, but was hoping for a better explanation. For example, what is the variable "F"? Frequency? Is this suppose to be the sqrt(252) to annualize the volatility? – Stu May 15 '14 at 15:40
  • 3
    My Google-fu didn't turn up anything great so I will produce something below. Credits to @joshuaulrich for the TTR R-package I used as source. – Bob Jansen May 15 '14 at 16:20

1 Answers1

12

In the R TTR package the Garman-Klass volatility is given by

# Historical Open-High-Low-Close Volatility: Garman Klass
# https://web.archive.org/web/20100326172550/http://www.sitmo.com/eq/402
if( calc=="garman.klass" ) {
  s <- sqrt( N/n * runSum( .5 * log(OHLC[,2]/OHLC[,3])^2 -
             (2*log(2)-1) * log(OHLC[,4]/OHLC[,1])^2 , n ) )
}

which corresponds to*

$$ \sigma = \sqrt{ \frac{Z}{n} \sum \left[ \textstyle\frac{1}{2}\displaystyle \left( \log \frac{H_i}{L_i} \right)^2 - (2\log 2-1) \left( \log \frac{C_i}{O_i} \right)^2 \right] }. $$

I think this code is fairly self-explanatory but what's what?

Z = Number of closing prices in a year, n = number of historical prices used for the volatility estimate.

* $\LaTeX$ taken from the vignette.

Bob Jansen
  • 8,552
  • 5
  • 37
  • 60