---
title: "Garman-Klass Volatility: Formula"
description: "The Garman-Klass estimator measures volatility from open, high, low and close prices of each bar. It uses more information than close-to-close returns and..."
canonical: https://www.getswoopr.com/indicators/volatility/garman-klass-volatility/
source: "Swoopr Investment: https://www.getswoopr.com"
---

## Direct Answer



> Garman-Klass Volatility is a volatility measure used to measure dispersion, range, implied uncertainty, or expansion/contraction in price movement. The production page must define the exact calculation convention before interpreting higher or lower readings, because platform and provider implementations can differ.





      


# Garman-Klass Volatility: Formula, Meaning, Signals, Examples and How to Use It



## How Is Garman-Klass Volatility Calculated?

The Garman-Klass estimator measures volatility from open, high, low and close prices of each bar. It uses more information than close-to-close returns and so needs fewer observations for the same precision, assuming no drift and no opening gaps.

**Formula:** `sigma^2 = (1 / n) x sum of [ 0.5 x (ln(High/Low))^2 - (2 x ln(2) - 1) x (ln(Close/Open))^2 ]; annualize with sqrt(252)`

**Inputs:**

- Open, high, low and close for each bar
- Window length n
- Annualization factor

**Worked example.** For one bar with open 99, high 102, low 98 and close 101, the per-bar volatility is 2.54%. The inputs are illustrative numbers, not market data.

**Reading it.** Read it like other historical volatility measures: larger values mean wider intrabar ranges. It is generally more statistically efficient than close-to-close volatility when its assumptions hold.

**Limits.** It assumes zero drift and continuous trading with no opening jump, so overnight gaps are ignored and can make it underestimate volatility. A single bar gives a very noisy estimate; it is meant to be averaged.


      

## Indicator overview





| Attribute | Value |
| --- | --- |
| Category | Volatility |
| Asset classes | Stocks, ETFs, Indexes, Options, Futures, Forex, Crypto, Commodities |
| Output type | Ratio/index/scalar |
| Parameters | Varies by implementation; document exact settings on use |






## What is Garman-Klass Volatility?



Garman-Klass Volatility is a volatility measure used to measure dispersion, range, implied uncertainty, or expansion/contraction in price movement. The production page must define the exact calculation convention before interpreting higher or lower readings, because platform and provider implementations can differ.



For Swoopr, the canonical profile separates definition, calculation, interpretation and decision use. That keeps readers from collapsing a descriptive metric into a trading strategy. An indicator can describe trend, momentum, volatility, participation, positioning or risk without providing a complete entry, exit, sizing or portfolio decision.




## What does it measure?



Garman-Klass Volatility measures specific market properties in the Volatility domain. The practical value is repeatability: the same inputs and formula can be applied across a defined dataset, allowing users to compare readings through time or across instruments when the calculation convention is held constant.




## How to read Garman-Klass Volatility



Interpretation depends on the market property being measured. A descriptive reading is not automatically predictive. The same numerical state can lead to different outcomes in a strong trend, quiet range, event-driven gap or illiquid market. Always combine with context from price structure, volume, and broader market regime before drawing conclusions.




## Strengths



- Combining the high-low range with the open-to-close move uses four prices per bar, so each bar carries more information than a close-to-close return.
- The constant 2 ln 2 minus 1 is derived analytically for Brownian motion, so the weights follow from the assumed model rather than being tuned.
- Reproducible when the formula and data convention are fixed.




## Weaknesses and limitations



- Highs and lows come from discrete prints, so the observed range is narrower than the true range and the estimate leans low.
- Rounding of prices to the tick size matters for low-priced or low-volatility instruments, where the range spans only a few ticks.
- Correlated indicators can create false confidence by repeating the same underlying information.




## Editorial and risk note



This page is educational content, not individualized investment advice. It should not imply guaranteed prediction, accuracy or outperformance. Where multiple valid definitions exist, Swoopr states the alternatives and the reason for selecting its primary convention.







## Frequently Asked Questions


        



Is Garman-Klass Volatility a buy or sell signal?




No. Read it like other historical volatility measures: larger values mean wider intrabar ranges. It assumes zero drift and continuous trading with no opening jump, so overnight gaps are ignored and can make it underestimate volatility. A trade built on it still needs a trigger, an invalidation rule, a position size and realistic execution assumptions.










What is the best setting for Garman-Klass Volatility?




Garman-Klass Volatility takes these inputs: open, high, low and close for each bar; window length n; annualization factor. There is no universal best setting for the tunable ones, so test them across instruments, regimes and out-of-sample periods and favor stable parameter regions over one historical winner.










Can Garman-Klass Volatility be used by itself?




It assumes zero drift and continuous trading with no opening jump, so overnight gaps are ignored and can make it underestimate volatility. A single bar gives a very noisy estimate; it is meant to be averaged. For that reason it is read next to measures of direction, participation, valuation, liquidity and risk, not alone.










Does Garman-Klass Volatility work on every timeframe?




The calculation (sigma^2 = (1 / n) x sum of [ 0.5 x (ln(High/Low))^2 - (2 x ln(2) - 1) x (ln(Close/Open))^2 ]; annualize with sqrt(252)) can be run on any bar size, but behavior is not portable: a reading on a five-minute chart describes a very different market window from the same reading on a daily chart. Validate the exact timeframe before relying on it.










Why does Garman-Klass Volatility give false signals?




Highs and lows come from discrete prints, so the observed range is narrower than the true range and the estimate leans low. Rounding of prices to the tick size matters for low-priced or low-volatility instruments, where the range spans only a few ticks. Lag, noise and regime changes add to this, because market participants react to new information after the reading is calculated.










How should Garman-Klass Volatility be backtested?




Rebuild Garman-Klass Volatility from open, high, low and close for each bar using point-in-time data, write the rules before testing, include delisted securities where relevant, model realistic fills and costs, reserve a validation sample and compare with a simpler baseline.









## References

- [The Journal of Business: On the Estimation of Security Price Volatilities from Historical Data (Garman and Klass, 1980)](https://doi.org/10.1086/296072)



S




Swoopr Editorial Team



The Swoopr Editorial Team produces independent investment education, research, and tools for understanding markets, evaluating opportunities, and managing risk. All content is educational only and does not constitute personalized investment advice.



See our [editorial policy](https://www.getswoopr.com/legal/editorial-policy/) and [corrections policy](https://www.getswoopr.com/legal/corrections-policy/).
