# Garman-Klass Estimator

Garman-Klass Estimator is an indicator on [Vela](https://vela.luxalgo.com/chart), our next-generation charting platform, written in Pine Script®.

Historical volatility from the published Garman-Klass formula: per-bar variance from the high-low range recentered by the open-to-close leg, averaged over a 20-bar window and annualized at 252 bars per year. A same-settings close-to-close overlay makes the efficiency gain visible and diagnoses gap blind spots and session churn, with percentile expansion and compression alerts.

- Indicator in the LuxAlgo Library, by LuxAlgo, published Jun 16, 2026.
- Access: free.
- Concepts: [Garman-Klass Estimator](https://www.luxalgo.com/library/concept/garman-klass-estimator/) (primary)
- Open on Vela: https://vela.luxalgo.com/chart?pineScriptCodeId=p5txfwp7uxnqs28522n83phg
- Page: https://www.luxalgo.com/library/indicator/garman-klass-estimator/

**Garman-Klass Estimator** measures volatility from the whole bar rather than closes alone: each bar contributes half the squared log high/low range minus (2 ln 2 − 1) times the squared open-to-close move, and the window average is annualized into the line. It is a faithful build of the [Garman-Klass estimator](https://www.luxalgo.com/library/concept/garman-klass-estimator/), with a close-to-close line on identical settings so the blind spot and the efficiency edge are both visible.

## How to Trade the Garman-Klass Estimator?

- **Compression**: the percentile rank crossing under the low threshold flags a quiet stretch, a rank-based squeeze screen for lulls that often resolve into wider movement.
- **Expansion**: the rank crossing the high threshold confirms volatility is broadening.
- **Gap Blind Spot**: Garman-Klass far below close-to-close says the action is happening between sessions, in gaps it never samples. Trust the pair, not the level.
- **Session Churn**: the estimate far above close-to-close flags heavy intrabar trade that the closing prints barely register.

## Garman-Klass Estimator Settings

- **Window Length** (default 20): bars the per-bar variance is averaged over; the estimator's efficiency makes 10–30-bar windows usable where close-to-close is still noisy.
- **Annualize** (default enabled) with **Bars Per Year** (default 252): scales readings to annualized percent. Match the constant when reconciling with other tools.
- **Close-to-Close Comparison** (default enabled): the same-window benchmark line.
- **Divergence Alert Level %** (default 25): how far the two lines must diverge before the diagnostic alerts fire.
- **Percentile Lookback** (default 100) with **High Percentile** (80) and **Low Percentile** (20); **Show Percentile Levels** (default disabled) plots the thresholds as dotted levels.
- **Show Dashboard** (default enabled); line colors and **Gradient Fill** are cosmetic.

## Frequently Asked Questions

### How does it compare with the Parkinson estimator?

The [Parkinson Estimator](https://www.luxalgo.com/library/indicator/parkinson-estimator/) uses the high-low range alone; Garman-Klass adds the open-to-close leg with the paper's optimal weights, extracting more information from the same bar. Both share one limitation: neither term sees the close-to-open gap.

### Why is my reading lower than close-to-close volatility?

When Garman-Klass sits far under the close-to-close line, the variance is landing in the overnight span the formula omits. The dashboard's GK / Close-to-Close ratio quantifies it.

### Does it work intraday?

Yes, the formula is bar-agnostic, but set Bars Per Year to bars per session times trading days, or annualized levels will be wrong. The percentile thresholds keep working regardless: they rank the reading against its own history.

## Related indicators

- [Hot Zone Radar](https://www.luxalgo.com/library/indicator/hot-zone-radar/) (Volatility Percentile/rank): markdown at https://www.luxalgo.com/library/indicator/hot-zone-radar.md
- [Volatility Signature Plot](https://www.luxalgo.com/library/indicator/volatility-signature-plot/) (Volatility): markdown at https://www.luxalgo.com/library/indicator/volatility-signature-plot.md
- [The Range Indicator](https://www.luxalgo.com/library/indicator/the-range-indicator/) (Volatility): markdown at https://www.luxalgo.com/library/indicator/the-range-indicator.md
- [Jump Detection](https://www.luxalgo.com/library/indicator/jump-detection/) (Volatility): markdown at https://www.luxalgo.com/library/indicator/jump-detection.md
- [Volatility of Volatility](https://www.luxalgo.com/library/indicator/volatility-of-volatility/) (Volatility): markdown at https://www.luxalgo.com/library/indicator/volatility-of-volatility.md
- [Garman-Klass–Yang-Zhang Hybrid](https://www.luxalgo.com/library/indicator/garman-klass-yang-zhang-hybrid/) (Volatility): markdown at https://www.luxalgo.com/library/indicator/garman-klass-yang-zhang-hybrid.md
- [GARCH-family Clustering](https://www.luxalgo.com/library/indicator/garch-family-clustering/) (Volatility): markdown at https://www.luxalgo.com/library/indicator/garch-family-clustering.md
- [Kase Studies](https://www.luxalgo.com/library/indicator/kase-studies/) (Volatility): markdown at https://www.luxalgo.com/library/indicator/kase-studies.md

---

Source: https://www.luxalgo.com/library/indicator/garman-klass-estimator/ (LuxAlgo Library). Free to use with attribution: https://www.luxalgo.com/library/license/
