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.
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.
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.
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.
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.
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.
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.
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.
| 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.
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.
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
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.