On this page
Parkinson Volatility: Variance from the High-Low Range
Parkinson volatility estimates daily variance using only the high and low of each bar. The physicist Michael Parkinson published the formula in 1980, showing that under a continuous-diffusion model the log of the high-to-low range is a sufficient statistic for the volatility parameter and produces a much sharper estimate than close-to-close.
Key Takeaways
- Parkinson volatility uses the squared log of the high-low range, scaled by 1 / (4 * ln 2), to estimate daily variance.
- It is roughly five times more efficient than the close-to-close estimator under its assumptions.
- It assumes zero drift and no overnight gap, so it underestimates volatility on gappy or trending bars.
- Use it on liquid, deep markets where the recorded high and low reflect real trade activity rather than spurious prints.
Key Takeaways
- Parkinson volatility uses the squared log of the high-low range, scaled by 1 / (4 * ln 2), to estimate daily variance.
- It is roughly five times more efficient than the close-to-close estimator under its assumptions.
- It assumes zero drift and no overnight gap, so it underestimates volatility on gappy or trending bars.
- Use it on liquid, deep markets where the recorded high and low reflect real trade activity rather than spurious prints.
What It Is
Parkinson volatility is a single-bar daily variance estimator that depends only on H and L. Average the per-bar values over a rolling window of N bars to get a smoother historical volatility figure, then annualise.
It is the simplest non-trivial range-based estimator and the foundation that Garman-Klass, Rogers-Satchell, and Yang-Zhang were each built on. Knowing Parkinson well makes the later formulas easier to read.
The Intuition
A diffusion process spends most of a day pinned somewhere around the open and only occasionally extends to the boundary of the bar. The high and low therefore carry information about the spread of the random walk that the close alone misses.
Parkinson's insight was that, under geometric Brownian motion with zero drift, the expected squared log range scales linearly with the diffusion variance. Inverting that relationship gives a variance estimate from a single bar with much less noise than squaring one closing return.
How It Works
The single-bar formula is:
sigma^2_P = (1 / (4 * ln 2)) * (ln(H/L))^2
The constant 1 / (4 * ln 2) is roughly 0.3607. It comes from the expected value of the squared range of a Brownian motion over a unit interval.
For a rolling N-day window:
sigma^2_P,window = (1 / N) * sum over N days of (1 / (4 * ln 2)) * (ln(H_i / L_i))^2
Take the square root to get a daily standard deviation. Annualise by multiplying by sqrt(252) for daily US equity bars or by the appropriate factor for other bar frequencies.
Because the formula uses only two prices, you can compute it on instruments where the open and close are unreliable, for example over-the-counter quotes or markets with auction-driven opens.
Worked Example
Suppose a stock prints these daily highs and lows over four sessions:
Day H L
1 104 100
2 103 101
3 106 103
4 105 102
Compute (ln(H/L))^2 for each:
Day 1: (ln(104/100))^2 = (0.03922)^2 = 0.001538
Day 2: (ln(103/101))^2 = (0.01961)^2 = 0.000385
Day 3: (ln(106/103))^2 = (0.02873)^2 = 0.000825
Day 4: (ln(105/102))^2 = (0.02899)^2 = 0.000841
Average: (0.001538 + 0.000385 + 0.000825 + 0.000841) / 4 = 0.000897.
Multiply by 1 / (4 * ln 2) = 0.3607:
sigma^2_P = 0.000897 * 0.3607 = 0.000324
sigma_P = sqrt(0.000324) = 0.01799 (about 1.80% daily)
Annualised: 0.01799 * sqrt(252) = 28.6%.
A simple close-to-close estimator on the same data would have produced more dispersion in its single-bar contributions and a noisier final number for the same window length.
Common Mistakes
-
Ignoring overnight gaps. Parkinson assumes price is continuous across sessions. A persistent overnight jump in the asset, common in single-name equities and crypto, will show up as missing variance, and the estimate biases low.
-
Applying it on trending bars. Strong drift inflates the range relative to the diffusion. The estimator does not separate drift from volatility, so a trending bar reads as high vol when it is partly directional.
-
Using highs and lows from thin sessions. A single bad print can stretch the range and blow up the daily figure. Filter for minimum-volume bars or use exchange-cleaned OHLC.
-
Confusing daily and annualised numbers. The raw formula gives daily variance. Forgetting the sqrt(252) annualisation is the single most common implementation bug.
-
Treating it as a regime indicator with a one-day window. Single-bar Parkinson is still noisy. Always smooth across at least 10 to 20 bars before reading it as a vol level.
Frequently Asked Questions
What is Parkinson volatility in simple terms? Parkinson volatility estimates how much an asset moved in a day using only the daily high and low. It is roughly five times more accurate than using just daily closes.
How does Parkinson volatility affect investment decisions? A sharper volatility estimate at short window lengths lets traders set stops, size positions, and price options with less smoothing lag. Many risk systems publish Parkinson vol as a fast complement to close-to-close vol.
What is a real-world example of Parkinson volatility? TradingView and many data libraries expose a Parkinson historical volatility study. On the S&P 500 it tracks close-to-close vol closely and reacts a few days faster around regime shifts.
How can investors use Parkinson effectively? Apply it to liquid markets without large overnight gaps, smooth over a 20-day window, and compare to close-to-close vol. Large gaps between the two flag either a gappy or trending regime.
How is Parkinson different from Garman-Klass? Parkinson uses only the high-low range. Garman-Klass adds the open-close move with a calibrated weight, which improves efficiency further under the same zero-drift, no-gap assumptions.
Sources
- IVolatility Education. "Parkinson's Historical Volatility." https://www.ivolatility.com/education/parkinsons-historical-volatility/
- Portfolio Optimizer. "Range-Based Volatility Estimators: Overview and Examples of Usage." https://portfoliooptimizer.io/blog/range-based-volatility-estimators-overview-and-examples-of-usage/
- Molnar, P. "Properties of Range-Based Volatility Estimators." http://mmquant.net/wp-content/uploads/2016/09/range_based_estimators.pdf
- Poon, S.H. (2008). "Volatility Estimation." CME Group. https://www.cmegroup.com/trading/fx/files/volEst.pdf
Disclaimer
This article is educational content only and is not financial advice. Nothing here is a recommendation to buy, sell, or hold any security. Consult a licensed advisor before making investment decisions.