Historical Volatility: Parkinson, Garman-Klass & Rogers-Satchell

Volatility estimation is fundamental to options pricing, risk management, and portfolio optimization. The traditional close-to-close method uses only the daily closing prices, capturing just endpoint information while ignoring the valuable data contained in intraday price movements. Range-based estimators like Parkinson, Garman-Klass, and Rogers-Satchell use the full OHLC (Open, High, Low, Close) data to achieve 5-8x efficiency gains — meaning you can get equally precise volatility estimates with far fewer observations.

What Are Range-Based Volatility Estimators?

Range-based volatility estimators are methods that use the daily high, low, open, and close prices to measure historical volatility more efficiently than traditional close-to-close approaches.

Key Concept

Efficiency in this context refers to the variance of the estimator itself, not the volatility of the asset. A 5x more efficient estimator has one-fifth the estimator variance, allowing you to use fewer days of data to achieve the same precision — or achieve better precision with the same data.

The first range-based estimator was developed by Parkinson in 1980 to address a fundamental problem: close-to-close volatility requires many observations to be precise, but using too many days introduces non-stationarity (the volatility regime may have changed). Range-based methods break this trade-off by extracting more information from each trading day.

Why Use OHLC Data Instead of Closing Prices?

The close-to-close approach measures only the distance between yesterday’s close and today’s close. It ignores the intraday journey — how high or low the price traveled during the day. This is valuable information that’s already available in standard OHLC data at no additional cost.

Consider a day where a stock opens at $100, swings between $95 and $105, then closes at $100.50. The close-to-close method sees a calm 0.5% move, but the intraday range reveals significant volatility. Range-based estimators capture this hidden information.

Pro Tip

Range-based estimators are most valuable when you need volatility estimates from limited data — such as for new securities, after regime changes, or when comparing assets across different time periods. Accurate volatility inputs are critical for options strategies where vega exposure depends on realized vs. implied volatility differences.

Close-to-Close Volatility (Baseline)

Before examining the range-based estimators, it’s important to understand the baseline they improve upon.

Close-to-Close Variance
σ²CC = (1/n) × Σ[ln(Ci / Ci-1)]²
Sum of squared log returns, using only closing prices

This is the simplest volatility estimator, requiring only a series of closing prices. Its efficiency serves as the 1x baseline against which range-based methods are compared. For a drift-adjusted version, use (n-1) in the denominator and subtract the squared mean return.

Parkinson Volatility Estimator

The Parkinson estimator (1980) was the first range-based volatility measure. It uses only the daily high and low prices, treating them as extreme values of a random walk.

Parkinson Variance
σ²P = (1 / 4n·ln(2)) × Σ[ln(Hi / Li)]²
Sum of squared log high-low ranges, scaled by 1/(4·ln(2))

Where:

  • Hi — the high price on day i
  • Li — the low price on day i
  • n — the number of trading days
  • ln(2) — the natural logarithm of 2 (approximately 0.693)

Efficiency: 5x more efficient than close-to-close. This means the Parkinson estimator’s sampling variance is one-fifth that of the close-to-close method, given the same number of observations.

Assumptions

Parkinson assumes zero drift (no expected return) and continuous trading with no overnight gaps. It works best for liquid assets with minimal opening gaps, such as major currency pairs or highly liquid equities during normal trading.

Garman-Klass Volatility Estimator

The Garman-Klass estimator (1980) improves upon Parkinson by incorporating all four OHLC prices. By using the open and close in addition to the high and low, it extracts more information from each trading day.

Garman-Klass Variance
σ²GK = (1/n) × Σ[0.5·ln(H/L)² – (2ln2 – 1)·ln(C/O)²]
Weighted combination of range and open-to-close return components

Where:

  • H, L, O, C — the high, low, open, and close prices for each day
  • 2ln2 – 1 — approximately 0.386

Efficiency: 7.4x more efficient than close-to-close. By using all four price points, Garman-Klass achieves nearly 50% better efficiency than Parkinson.

Like Parkinson, Garman-Klass assumes zero drift and continuous trading. It is the most efficient estimator under these ideal conditions but can be biased when these assumptions are violated.

Rogers-Satchell Volatility Estimator

The Rogers-Satchell estimator (1991) addresses a key limitation of Parkinson and Garman-Klass: their sensitivity to drift. When an asset has a non-zero expected return (trending up or down), Parkinson and GK can produce biased estimates. Rogers-Satchell is drift-independent.

Rogers-Satchell Variance
σ²RS = (1/n) × Σ[ln(H/C)·ln(H/O) + ln(L/C)·ln(L/O)]
Product of log ranges relative to open and close

Key feature: Drift-independent. This makes Rogers-Satchell the preferred choice when estimating volatility for trending assets or during periods with strong directional momentum.

While Rogers-Satchell solves the drift problem, it still assumes continuous trading and does not account for overnight gaps. For assets with significant opening jumps, consider the Yang-Zhang estimator.

How to Calculate Historical Volatility with OHLC Data

Let’s walk through a Parkinson calculation using actual Apple (AAPL) OHLC data from January 2024. This 5-day example demonstrates the mechanics; actual estimation typically uses 20-60 day rolling windows for stability.

Parkinson Calculation: Apple (AAPL), Jan 2-8, 2024
Date High Low ln(H/L) [ln(H/L)]²
Jan 2 $187.05 $183.62 0.0185 0.000342
Jan 3 $185.15 $183.43 0.0093 0.000087
Jan 4 $183.09 $180.88 0.0121 0.000147
Jan 5 $182.76 $180.17 0.0143 0.000204
Jan 8 $185.60 $181.50 0.0223 0.000497

Sum of [ln(H/L)]² = 0.001277

σ²P = 0.001277 / (4 × 5 × 0.693) = 0.001277 / 13.86 = 0.0000921

σP (daily) = √0.0000921 = 0.96%

σP (annualized) = 0.96% × √252 = 15.2%

Example: Trending Market (Rogers-Satchell)

When analyzing a strongly trending asset, Parkinson and Garman-Klass may overestimate volatility because they interpret the directional movement as additional variance. Rogers-Satchell handles this correctly.

NVIDIA (NVDA) Rally, Nov 2023

During November 2023, NVIDIA rose from approximately $450 to $500 — a strong upward trend driven by AI demand. Over this period:

Date Open High Low Close
Nov 20 $499.50 $505.48 $493.00 $504.20
Nov 21 $498.13 $499.50 $489.85 $494.64
Nov 22 $492.36 $502.87 $491.70 $499.44

Parkinson and Garman-Klass would include the upward drift in their variance estimates. Rogers-Satchell isolates the true volatility around the trend, producing a more accurate estimate for trending assets like momentum stocks, currencies with interest rate differentials, or commodities with seasonal patterns.

Parkinson vs Garman-Klass vs Rogers-Satchell vs Close-to-Close

Each estimator makes different trade-offs between efficiency, data requirements, and robustness. Choose based on your data availability and the asset’s characteristics.

Close-to-Close

  • Data: Closing prices only
  • Efficiency: 1x (baseline)
  • Drift sensitive: No (with adjustment)
  • Captures overnight gaps: Yes
  • Best for: Simplicity, compatibility

Parkinson

  • Data: High & Low only
  • Efficiency: 5x
  • Drift sensitive: Yes
  • Captures overnight gaps: No
  • Best for: Quick estimates, H/L-only data

Garman-Klass

  • Data: Full OHLC
  • Efficiency: 7.4x
  • Drift sensitive: Yes
  • Captures overnight gaps: No
  • Best for: Maximum efficiency, stable assets

Rogers-Satchell

  • Data: Full OHLC
  • Efficiency: Moderate
  • Drift sensitive: No
  • Captures overnight gaps: No
  • Best for: Trending assets, momentum

Decision guide: Use close-to-close for simplicity and backward compatibility. Use Parkinson when you only have high/low data. Use Garman-Klass for maximum efficiency on range-bound, liquid assets. Use Rogers-Satchell when the asset has a clear directional trend.

Limitations of Range-Based Estimators

While range-based estimators offer significant efficiency gains, they come with important limitations that affect their accuracy in real-world applications.

Overnight Gaps

All range-based estimators assume continuous trading. When significant overnight or opening gaps occur — common in individual stocks, futures, and international markets — these estimators can underestimate true volatility because the gap is not reflected in the intraday range.

1. Opening jump risk — Earnings announcements, news events, and overnight developments can cause the opening price to gap significantly from the previous close. Parkinson, Garman-Klass, and Rogers-Satchell do not capture this jump volatility.

2. Session boundaries — Assets that trade across multiple sessions (futures with day/night sessions, international equities) may have discontinuities that violate the continuous trading assumption.

3. Microstructure noise — At very high frequencies (tick-by-tick or minute bars), price movements are dominated by bid-ask bounce, discrete price increments, and non-synchronous trading effects rather than true volatility. Range-based estimators are designed for daily OHLC data.

4. Non-stationarity — Like all historical estimators, range-based methods assume volatility is constant over the estimation window. During regime changes (market crises, policy shifts), recent observations may not reflect current volatility.

Yang-Zhang extension: For assets with significant overnight gaps, the Yang-Zhang estimator (2000) combines overnight and intraday components to handle opening jumps. It extends Garman-Klass by explicitly modeling the overnight variance, making it more suitable for equities and futures with substantial opening gaps.

For time-varying volatility that captures persistence and clustering, see GARCH and EWMA methods, which model conditional volatility rather than fixed-window historical estimates.

Common Mistakes

Avoid these frequent errors when implementing range-based volatility estimators:

1. Forgetting to take the square root — All three formulas estimate variance (σ²), not volatility (σ). Take the square root of the result to get standard deviation.

2. Forgetting to annualize — Daily volatility must be multiplied by √252 (trading days per year) to get annualized volatility. A daily volatility of 1% becomes approximately 15.9% annualized.

3. Using drift-sensitive estimators on trending assets — Parkinson and Garman-Klass can overestimate volatility when assets have strong directional trends. While daily drift is often small relative to daily volatility, use Rogers-Satchell when drift may be meaningful (momentum stocks, currencies with rate differentials).

4. Applying to assets with large overnight gaps — Futures, international stocks, and small-cap equities often have significant opening gaps. Range-based estimators understate volatility for these assets. Consider Yang-Zhang or adjust for overnight returns separately.

5. Using tick or minute data — Range-based estimators assume log-normal returns, which breaks down at very high frequencies due to microstructure effects. Stick to daily OHLC or, at most, hourly bars for liquid assets.

6. Mixing estimator types — When tracking volatility over time, use the same estimator consistently. Switching between Parkinson and Garman-Klass creates artificial volatility changes from methodology differences.

Frequently Asked Questions

It depends on your data and the asset’s behavior. Use close-to-close for simplicity or when you need compatibility with standard industry metrics. Use Parkinson when you only have high/low data or want a quick estimate. Use Garman-Klass for maximum efficiency on liquid, range-bound assets without significant overnight gaps. Use Rogers-Satchell when the asset has a clear directional trend (momentum stocks, currencies with interest rate differentials). For assets with large overnight gaps, consider the Yang-Zhang estimator.

Multiply daily standard deviation by √252, where 252 is the typical number of trading days per year. For example, if daily volatility is 1.2%, then annualized volatility = 1.2% × √252 = 1.2% × 15.87 ≈ 19.0%. This assumes returns are independent and identically distributed. Some practitioners use 250 or 260 depending on the market; the difference is minor.

Garman-Klass uses all four OHLC data points, while Parkinson uses only the high and low. The additional information from the open and close prices reduces the estimator’s sampling variance, improving efficiency from 5x to 7.4x relative to close-to-close. In statistical terms, GK extracts more information from the same observation, reducing the standard error of the volatility estimate.

Range-based estimators can work on coarser intraday bars (hourly, 4-hour) for highly liquid assets, but performance degrades significantly at very high frequencies. Tick-by-tick and minute-level data are dominated by microstructure effects — bid-ask bounce, discrete price increments, and non-synchronous trading — rather than true volatility. The textbook treatment assumes daily OHLC data. If you need intraday volatility, consider realized variance methods designed for high-frequency data.

No. Parkinson, Garman-Klass, and Rogers-Satchell all assume continuous trading and do not account for overnight or opening gaps. When a stock gaps up or down at the open, that volatility is not captured in the intraday range. For assets with significant overnight gaps (individual stocks around earnings, futures, international equities), consider the Yang-Zhang estimator, which explicitly models both overnight and intraday variance components. Alternatively, you can estimate overnight and intraday volatility separately and combine them.

Disclaimer

This article is for educational and informational purposes only and does not constitute investment advice. Volatility estimates are based on historical data and may not predict future market conditions. The efficiency figures cited assume ideal conditions (Brownian motion, zero drift, continuous trading) that may not hold in practice. Always conduct your own research and consult a qualified financial advisor before making investment decisions.