OHLC Input

$
Opening price of the session
$
Must be the highest price (H >= O, C, L)
$
Must be the lowest price (L <= O, C, H)
$
Closing price of the session
Used for annualization (default: 252)
Volatility Formulas
Parkinson (~5x efficient)
σ² = (ln(H/L))² / (4 × ln(2))
Garman-Klass (~7.4x efficient)
σ² = 0.5(ln(H/L))² - 0.39(ln(C/O))²
Rogers-Satchell (drift-adjusted)
σ² = ln(H/C)ln(H/O) + ln(L/C)ln(L/O)
Ryan O'Connell, CFA
Calculator by Ryan O'Connell, CFA

Volatility Estimates

Parkinson
~5x efficient
4.14% Daily 65.8% Annualized Extreme
Garman-Klass
~7.4x efficient
4.52% Daily 71.8% Annualized Extreme
Rogers-Satchell
Drift-adjusted
4.41% Daily 70.0% Annualized Extreme
Note: This is a single-day estimate for educational illustration. Multi-day averaging produces more statistically robust volatility estimates.

Formula Breakdown

Interpretation Guide

Annualized Volatility Levels
Range Level Typical Assets
< 10% Low T-bills, stable large-caps
10-20% Moderate S&P 500, large-cap stocks
20-30% Elevated Individual stocks, small-caps
30-50% High Growth stocks, emerging markets
> 50% Extreme Crypto, speculative assets
Model Assumptions
  • Single-day observation - Multi-day averaging yields more robust estimates
  • Same trading session - O, H, L, C from one continuous session
  • No overnight gaps - Range estimators don't capture close-to-open jumps
  • Log-normal returns - Assumes geometric Brownian motion
  • Annualization - Daily vol × √252 (configurable trading days)

Understanding Range-Based Volatility

Why Use Range-Based Estimators?

Traditional close-to-close volatility only uses two price points per day, missing all intraday information. Range-based estimators incorporate High and Low prices to capture more information about true volatility.

Key benefits:

  • Parkinson is ~5x more efficient than close-to-close
  • Garman-Klass is ~7.4x more efficient
  • Fewer observations needed for same accuracy

Choosing an Estimator

Each estimator makes different assumptions:

  • Parkinson - Simple, uses only H/L, assumes zero drift
  • Garman-Klass - Uses all OHLC, most efficient under no-drift assumption
  • Rogers-Satchell - Drift-adjusted, less biased in trending markets
Tip: In trending markets, Rogers-Satchell is typically less biased. In range-bound markets, Garman-Klass is often more efficient under its model assumptions.

Frequently Asked Questions

Range-based volatility estimators use intraday price information (Open, High, Low, Close) to estimate volatility more efficiently than traditional close-to-close methods. By incorporating the trading range, these estimators capture more information about price variability within each trading session. The three main estimators are Parkinson (uses High/Low only), Garman-Klass (uses OHLC), and Rogers-Satchell (drift-adjusted OHLC).

Parkinson volatility is approximately 5x more efficient because it uses the high-low range, which captures the maximum price movement during a session. Close-to-close volatility only uses two data points (yesterday's close and today's close), missing all intraday price action. The high-low range contains more information about the true underlying volatility, requiring fewer observations to achieve the same estimation accuracy.

Garman-Klass (1980) extends Parkinson by incorporating all four OHLC prices, achieving approximately 7.4x efficiency versus close-to-close. The formula combines the high-low range with the open-close relationship, weighting each component to minimize estimation variance. It is considered one of the most efficient volatility estimators for non-trending markets.

"Drift" refers to the directional trend in prices. Parkinson and Garman-Klass assume zero drift (no trend), which can bias estimates in trending markets. Rogers-Satchell (1991) is mathematically constructed to be independent of drift, making it less biased when prices are trending up or down. It achieves this by using the relationships between High/Close and Low/Open rather than just the range.

Each estimator uses different price relationships and makes different assumptions. Parkinson only uses High/Low, making it simpler but less informative. Garman-Klass uses all four prices but assumes zero drift. Rogers-Satchell adjusts for drift but may be more sensitive to unusual OHLC patterns. In trending markets, Rogers-Satchell is typically less biased; in sideways markets, Garman-Klass is often more efficient under its model assumptions.

Multiply daily volatility by the square root of the number of trading days per year. The standard assumption is 252 trading days for US equity markets. For example: Daily vol of 1% multiplied by sqrt(252) equals approximately 15.87% annualized. This scaling assumes volatility is constant and returns are independent across days (geometric Brownian motion assumption).
Disclaimer

This calculator is for educational purposes only. Range-based volatility estimators assume continuous trading without overnight gaps. Single-day estimates are illustrative; multi-day averaging produces more statistically robust results. Actual market volatility depends on many factors not captured here. This tool should not be used for trading decisions. Not financial advice.