Skip to content

Volatility cone

Build a horizon-specific envelope of historical realised volatility and interpret its percentiles without mistaking them for future confidence bands or trading signals.

A volatility cone summarises the historical distribution of realised volatility separately for several measurement windows. Its horizontal axis is the window length; its vertical axis is annualised volatility. Curves show selected percentiles, or sometimes historical minima and maxima. It helps an options analyst ask whether a volatility level is unusual for that horizon, rather than comparing a short-dated option with an arbitrary long-run average.
This article uses a cone of historical realised volatility. A chart of historical implied volatility percentiles is a different benchmark, even if a platform also calls it a cone. RealVol's own chart instructions illustrate the realised version: calculate historical levels at each horizon, then repeat the percentile calculation separately for each horizon.

The axis is a window, not a future date

A point at 20 sessions summarises many historical 20-session estimates. A point at 60 sessions summarises historical 60-session estimates. Both can be calculated at the same as-of date. This differs from a volatility term structure, which compares horizon-specific quotes observed at one valuation time, and from a volatility surface, which also varies the option's strike or moneyness.
Longer windows often have a narrower historical dispersion, giving the chart its cone-like shape. The research paper by Hodges and Tompkins, §2, describes this construction and examines its sampling properties. A particular dataset need not produce a smooth or monotonically narrowing cone. A regime change can keep long-window estimates far apart.

Build two cross-sections by hand

Take eight fictional daily log returns, written as decimals:
r=(0.010,−0.020,0.015,−0.005,0.025,−0.010,0.005,0.020).r=(0.010,-0.020,0.015,-0.005,0.025,-0.010,0.005,0.020).

This tiny dataset illustrates arithmetic only; it cannot establish useful historical tail probabilities or a trading benchmark.

For a window containing nn returns and ending at session tt, subtract that window's mean and use the sample-variance divisor n−1n-1:

rˉt,n=1n∑j=0n−1rt−j,σ^t,n=252n−1∑j=0n−1(rt−j−rˉt,n)2.\bar r_{t,n}=\frac1n\sum_{j=0}^{n-1}r_{t-j}, \qquad \widehat\sigma_{t,n} =\sqrt{\frac{252}{n-1}\sum_{j=0}^{n-1}(r_{t-j}-\bar r_{t,n})^2}.
We use 252 trading sessions per year, so the result is an annualised standard deviation. This is a centred close-to-close estimator, not an uncentred sum of intraday squared returns. Applying the square-root-of-time scaling is the reporting convention here; interpreting it as an actual annual-return standard deviation requires assumptions about return dependence and variance stability.

The first two-session window contains 0.010.01 and −0.02-0.02. Its mean is −0.005-0.005, giving

s2=(0.015)2+(−0.015)22−1=0.00045,σ^=252(0.00045)=0.336749….s^2=\frac{(0.015)^2+(-0.015)^2}{2-1}=0.00045, \qquad \widehat\sigma=\sqrt{252(0.00045)}=0.336749\ldots.
That is 33.67% annualised volatility. Moving the window forward one session produces the next estimate. With eight returns, there are 8−2+1=78-2+1=7 two-session windows and 8−4+1=58-4+1=5 four-session windows. In chronological order, the estimates are:
Window lengthAnnualised rolling volatility estimates (%)
2 sessions33.67, 39.29, 22.45, 33.67, 39.29, 16.84, 16.84
4 sessions25.10, 32.00, 26.22, 24.57, 25.10
Calculate percentiles within each row, using the unrounded estimates. For sorted values v(1),…,v(m)v_{(1)},\ldots,v_{(m)}, this example uses linear interpolation at rank
h=1+(m−1)p.h=1+(m-1)p.

If k=⌊h⌋k=\lfloor h\rfloor and a=h−ka=h-k, then, for an interior rank,

Qp=(1−a)v(k)+av(k+1).Q_p=(1-a)v_{(k)}+av_{(k+1)}.
This is the R7 convention described among the alternatives in NIST's percentile guidance. The choice matters with small samples; “the 90th percentile” alone does not fully specify a numerical algorithm.
Window lengthNumber of windows10th percentileMedian90th percentile
2 sessions716.84%33.67%39.29%
4 sessions524.78%25.10%29.69%

For example, the four-session 10th-percentile rank is 1+4(0.1)=1.41+4(0.1)=1.4. It lies 40% of the way from the smallest estimate, 24.57132475%24.57132475\%, to the next, 25.09980080%25.09980080\%. The result is 24.78271517%24.78271517\%. The four-session 90th percentile similarly lies at rank 4.64.6, between 26.22498808%26.22498808\% and 31.99609351%31.99609351\%, giving 29.68765134%29.68765134\%.

Fictional eight-return example: two-session 10th, median and 90th percentiles are 16.84%, 33.67% and 39.29%; four-session values are 24.78%, 25.10% and 29.69%. A five-row window diagram shows that adjacent four-session estimates share three returns.
Fictional eight-return example: two-session 10th, median and 90th percentiles are 16.84%, 33.67% and 39.29%; four-session values are 24.78%, 25.10% and 29.69%. A five-row window diagram shows that adjacent four-session estimates share three returns.
Original fictional-data figure. Dots show all seven and five rolling estimates; lines join only the two computed horizon summaries. The shaded historical percentile envelope does not represent a future probability band. Adjacent four-session windows reuse three returns.

Reading the envelope without inventing a forecast

The shaded region answers: where do the selected percentiles of these historical estimates lie? It does not establish an 80% probability that future realised volatility will fall inside it. It is neither a confidence interval for a parameter nor a calibrated prediction interval for a future observation. Those interpretations require additional modelling and coverage assessment.

Overlap matters. Five four-session estimates are not five independent market episodes: adjacent estimates share three returns. Hodges and Tompkins specifically study how overlap affects estimates of dispersion across windows. Their correction concerns specified statistical quantities under model assumptions; it is not a universal adjustment that turns arbitrary historical percentile bands into forecast intervals.

For an actual historical benchmark, record the underlying and price adjustments, return frequency, estimator, annualisation clock, window lengths, reference-history dates, overlap rule, percentile method and sample counts. A long reference history can mix crisis and calm regimes; a short one can omit relevant episodes. The choice changes what “unusual” means.

Enforce the as-of cutoff when evaluating a decision. At the end of fictional session 6, only three complete four-session windows are available. The five-window summary above uses sessions 7 and 8 too. Using it to judge a decision taken at session 6 would leak future data into the benchmark.

Comparing an option with the cone

Overlaying today's implied volatility can locate an option quote relative to historical realised levels of a comparable horizon. Match the underlying, option moneyness, remaining expiry, trading-session versus calendar-time conventions and annualisation before reading the gap.
A quote above the historical 90th percentile says it is high relative to that chosen historical sample. It does not by itself show overpricing or establish a profitable short-volatility trade. Implied volatility comes from option prices and can reflect compensation for risk, event exposure and the option's strike. The historical cone describes realised observations. Bollerslev and Zhou's §2.1 distinguishes option-implied risk-neutral variance from realised variation; it also distinguishes model-free implied variance from a single Black–Scholes implied-volatility quote.
The volatility risk premium, forecast error, jumps, hedging costs and trading spreads can all matter to the economic result. A cone is a descriptive comparison to investigate, rather than a valuation rule.
For the sample-variance calculation and the distinction between sample statistics and population quantities, Basic Statistics and Regression provides a worked introduction. Its preview is public; the complete primer lesson is available with a free signed-in account.

Sources

Last updated
  • volatility
  • historical volatility
  • percentiles
  • rolling windows
  • sampling
← Back to the glossaryBack to top ↑