Garman-Klass Volatility Calculation – Volatility Analysis in Python

Subscribe to newsletter

In the previous post, we introduced the Parkinson volatility estimator that takes into account the high and low prices of a stock. In this follow-up post, we present the Garman-Klass volatility estimator that uses not only the high and low but also the opening and closing prices.

Garman-Klass (GK) volatility estimator consists of using the returns of the open, high, low, and closing prices in its calculation. It is calculated as follow,

Volatility Analysis in Python Garman-Klass

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.

Subscribe to newsletter https://harbourfrontquant.beehiiv.com/subscribe Newsletter Covering Trading Strategies, Risk Management, Financial Derivatives, Career Perspectives, and More

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

Garman-Klass Volatility in Python

The GK volatility estimator has the following characteristics [1]

Advantages

  • It is up to eight times more efficient than the close-to-close estimator
  • It makes the best use of the commonly available price information

Disadvantages

  • It is even more biased than the Parkinson estimator


To download the accompanying Excel workbook or Python program for this post:
1. Subscribe to the newsletter. If you're already a subscriber, go to the next step
2. Once subscribed, refer a friend
After completing these steps, you’ll gain access to the file for this post, along with files for a dozen other posts.


Also check out Historical Volatility Online Calculator.

References

[1] E. Sinclair, Volatility Trading, John Wiley & Sons, 2008

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 NEWSCorcept therapeutics officer sells $20.2 million in stock
Corcept therapeutics officer sells $20.2 million in stock
Stay up-to-date with the latest news - click here
LATEST NEWSOak Valley Bancorp director Terrance Withrow acquires $13,595 in stock
Oak Valley Bancorp director Terrance Withrow acquires $13,595 in stock
Stay up-to-date with the latest news - click here
LATEST NEWSRing Energy director John A. Crum acquires $57,499 in stock
Ring Energy director John A. Crum acquires $57,499 in stock
Stay up-to-date with the latest news - click here
LATEST NEWSEleven more Ukrainian children return home from Russia, Russian-held areas
Eleven more Ukrainian children return home from Russia, Russian-held areas
Stay up-to-date with the latest news - click here
LATEST NEWSBrazil mulls 'all possible actions' as Congress lays framework for trade retaliation
Brazil mulls 'all possible actions' as Congress lays framework for trade retaliation
Stay up-to-date with the latest news - click here

Leave a Reply