Garman-Klass-Yang-Zhang Historical Volatility Calculation – Volatility Analysis in Python

Follow us on LinkedIn

In the previous post, we introduced the Garman-Klass volatility estimator that takes into account the high, low, open, and closing prices of a stock. In this installment, we present an extension of the Garman-Klass volatility estimator that also takes into consideration overnight jumps.

Garman-Klass-Yang-Zhang (GKYZ) volatility estimator consists of using the returns of open, high, low, and closing prices in its calculation. It also uses the previous day’s closing price.  It is calculated as follows,

volatility trading strategies in python

where hi denotes the daily high price, li is the daily low price, ci is the daily closing price and oi is the daily opening price of the stock at day i.

We implemented the above equation in Python. We downloaded SPY data from Yahoo finance and calculated the GKYZ historical volatility using the Python program. The picture below shows the GKYZ historical volatility of SPY from March 2015 to March 2020.

Garman-Klass-Yang-Zhang Historical Volatility Trading Strategy

We note that the GKYZ volatility estimator takes into account overnight jumps but not the trend, i.e. it assumes that the underlying asset follows a GBM process with zero drift. Therefore the GKYZ volatility estimator tends to overestimate the volatility when the drift is different from zero. However, for a GBM process, this estimator is eight times more efficient than the close-to-close volatility estimator.

Also check out Historical Volatility Online Calculator.

Further questions

What's your question? Ask it in the discussion forum

Have an answer to the questions below? Post it here or in the forum

LATEST NEWSIsrael prepares return to ceasefire talks; UN says Gaza hunger crisis worsens
Israel prepares return to ceasefire talks; UN says Gaza hunger crisis worsens
Stay up-to-date with the latest news - click here
LATEST NEWSRussia's presidential vote starts final day with accusations of Kyiv sabotage
Russia's presidential vote starts final day with accusations of Kyiv sabotage
Stay up-to-date with the latest news - click here
LATEST NEWSTrump says he'd hit cars made in Mexico by Chinese companies with 100% tariff, brushes off retaliation by Beijing: 'You screw us and we’ll screw you'
Trump says he'd hit cars made in Mexico by Chinese companies with 100% tariff, brushes off retaliation by Beijing: 'You screw us and we’ll screw you'

He said at a rally it would be a “bloodbath” if he didn’t win this year’s presidential election.

Stay up-to-date with the latest news - click here
LATEST NEWSUS military says it destroyed Houthi drone over Red Sea
US military says it destroyed Houthi drone over Red Sea
Stay up-to-date with the latest news - click here
LATEST NEWSVenezuela's Maduro announces candidacy for July re-election
Venezuela's Maduro announces candidacy for July re-election
Stay up-to-date with the latest news - click here

8 Comments

Leave a Reply