Volatility describes the scale of uncertainty in a specified financial variable over a specified horizon. Estimating past volatility, forecasting tomorrow’s conditional variance, and extracting volatility from option prices are related tasks—but they are not the same task.
Learning goals and notation
- Define the modeled return, variance horizon, and annualization convention.
- Calculate close-to-close and OHLC variance estimates under stated assumptions.
- Explain EWMA smoothing and rolling-window artifacts.
- Derive ARCH/GARCH dynamics, long-run variance, and multi-step forecasts.
- Distinguish jump risk, stochastic variance, and implied-volatility surfaces.
- Evaluate forecasts using aligned targets and standardized-residual diagnostics.
Use rₜ for log return, εₜ for the return innovation after subtracting its conditional mean, hₜ for conditional variance, and √hₜ for conditional volatility. Decimal-return units are used unless stated otherwise: 1% is 0.01, and its squared value is 0.0001.
1. Define volatility before estimating it
For a positive total-return wealth series Pₜ, log return is rₜ=log(Pₜ/Pₜ₋₁). Log returns add across dates. For small simple returns R, log(1+R)≈R, but they differ for large moves.
Return volatility is a standard deviation of returns, not generally raw price changes. A one-dollar price movement has different significance for a ten-dollar and a thousand-dollar asset. For rates or spreads, volatility might instead be stated in basis points; always name the variable and units.
Log transformation does not guarantee covariance stationarity. Structural breaks, changing unconditional variance, and evolving distributions can remain. Conversely, a stationary return model can have a conditional variance that changes over time: conditional and unconditional stability are different concepts.
| Quantity | What it describes |
|---|---|
| Historical volatility | An estimate from a specified past window |
| Conditional volatility | Uncertainty forecast using currently available information |
| Integrated variance | Accumulated latent diffusion variance over a continuous-time interval |
| Realized variance | An observable estimator based on squared sampled returns, subject to sampling issues |
| Implied volatility | A pricing-model parameter that reproduces an observed option price |
Annualization is a scaling assumption
For uncorrelated returns with constant variance, variance over N periods is N times one-period variance, so volatility scales by √N. Common conventions use √252 for daily, √52 for weekly, and √12 for monthly volatility. Daily volatility of 1% becomes 15.87% under a 252-day convention.
For a covariance-stationary return series with autocovariance γ(k), the exact variance of N summed log returns is:
Var(Σᵢ₌₁ᴺrᵢ)=Nγ(0)+2Σₖ₌₁ᴺ⁻¹(N−k)γ(k).
Serial dependence changes the square-root rule. With time-varying conditional variance, an N-day forecast generally aggregates future conditional variances rather than multiplying today’s value by N. Annualization also does not turn a return standard deviation into a bound on losses.
2. Close-to-close: a baseline with limited information
For m daily log returns, the sample variance is:
s_CC²=[1/(m−1)]Σᵢ(rᵢ−r̄)².
If the mean is assumed known to be zero, a different estimator is (1/m)Σᵢrᵢ². A single squared close-to-close log return is a noisy one-observation second-moment estimate under a zero-mean assumption; it is not the usual multi-observation sample variance.
The outline’s expression (C₁−C₀)² only has a return interpretation if C denotes a log-price, and even then ignores the mean unless justified. With raw close prices, it has squared-price units. Define notation rather than silently mixing price, log-price, return, and variance.
3. Range-based OHLC estimators
For each session i, define log movements relative to its open:
uᵢ=log(Hᵢ/Oᵢ), dᵢ=log(Lᵢ/Oᵢ), cᵢ=log(Cᵢ/Oᵢ),
and the overnight return oᵢ=log(Oᵢ/Cᵢ₋₁). The high–low log range is uᵢ−dᵢ=log(Hᵢ/Lᵢ). The symbol dᵢ here is a low-price log movement, not a differencing order.
Use consistent sessions, adjusted prices, and reliable highs/lows. Corporate actions, stale opens, bad ticks, discrete sampling, and overnight gaps can invalidate an apparently precise calculation.
Parkinson
The m-session variance estimator is:
v_P=[1/(4m log 2)]Σᵢ[log(Hᵢ/Lᵢ)]².
It uses the range to extract more information than one closing displacement under a continuous zero-drift diffusion idealization. The often-cited roughly 5.2-fold efficiency is a model-based estimator-variance comparison, not five times the accuracy for every dataset. Opening jumps and drift can change its behavior.
Garman–Klass
A familiar form is:
v_GK=(1/m)Σᵢ{½(uᵢ−dᵢ)²−(2 log 2−1)cᵢ²}.
It combines range and open-to-close information. Frequently quoted efficiency improvements around 7.4–8 are tied to particular formulations and idealized no-drift, continuous-session assumptions. They are not universal forecast-performance multipliers and do not incorporate overnight gaps automatically.
Rogers–Satchell
The daily contribution is uᵢ(uᵢ−cᵢ)+dᵢ(dᵢ−cᵢ), so:
v_RS=(1/m)Σᵢ[uᵢ(uᵢ−cᵢ)+dᵢ(dᵢ−cᵢ)].
Its diffusion-based construction accommodates nonzero drift, but it does not by itself add the overnight close-to-open component.
Yang–Zhang
Let s_o² and s_c² be sample variances of oᵢ and cᵢ using m−1 denominators. One common Yang–Zhang construction is:
v_YZ=s_o²+k s_c²+(1−k)v_RS,
with k=0.34/[1.34+(m+1)/(m−1)] for m>1 under that convention. It combines overnight, intraday, and range information; it is not merely a universally superior Garman–Klass replacement.
Yang and Zhang’s original paper develops estimation properties under its price-process assumptions and discusses earlier range estimators. Choosing it for a particular task still requires data-quality checks, a matched target, and validation. Lower estimator variance under an ideal model does not guarantee the best forecast in markets with jumps, microstructure noise, or changing dynamics.
Worked range calculation
Suppose one session has O=100, H=103, L=98, and C=102. Then log(H/L)≈0.049762 and c=log(1.02)≈0.019803. The one-session contributions are approximately:
- Parkinson variance: 0.0008931, corresponding to session volatility 2.99%.
- Garman–Klass variance: 0.0010866, corresponding to session volatility 3.30%.
- Rogers–Satchell variance: 0.0010966, corresponding to session volatility 3.31%.
These are noisy daily contributions, not a reliable long-run estimate from a single session. A Yang–Zhang calculation needs multiple sessions and their overnight returns; one OHLC bar is insufficient for the sample-variance terms above.
4. EWMA: update risk without a hard window boundary
After specifying a conditional mean, let εₜ be the innovation. An exponentially weighted variance forecast is:
hₜ₊₁=λhₜ+(1−λ)εₜ², with 0<λ<1.
Older squared shocks have weights proportional to (1−λ)λʲ. On a finite history, initialization or weight normalization matters. A larger λ smooths more and responds more slowly. The weight half-life is log(0.5)/log(λ) observations.
RiskMetrics popularized this approach in the 1990s; its technical documentation is a primary source. The historical daily λ=0.94 convention is not an estimated universal constant.
With λ=0.94, current hₜ=0.0001, and εₜ=3%, the next forecast is 0.94×0.0001+0.06×0.0009=0.000148, giving volatility 1.2166%. Its weight half-life is approximately 11.20 observations.
Plain EWMA is a GARCH-like recursion with zero intercept and coefficient sum one. It has no estimated fixed long-run variance target. Under its usual conditional forecasting interpretation, multi-step variance expectations remain at the latest forecast rather than reverting to a separate finite target.
5. Rolling volatility and seasonal ARIMA
An equal-weight m-day average of squared returns vₜ=(1/m)Σⱼ₌₀ᵐ⁻¹rₜ₋ⱼ² satisfies:
Δvₜ=(rₜ²−rₜ₋ₘ²)/m.
A moving observation enters while an old one exits. Under independent squared returns, v has mechanically high short-lag correlation, and Δv has lag-m correlation −0.5. For a 21-day window, lag-21 structure can therefore arise without a monthly economic cycle. Demeaned sample variances and square-root estimates are more complicated, but the overlap remains important.
The supplied lecture reports that ARIMA(2,1,3)(2,0,1)_21 addressed a boundary-related residual spike in one case. Without its data, fitting details, and validation outputs, that is an attributed example rather than a verified default model. A model can remove one ACF feature yet retain other dependence or overfit.
Our Time Series Analysis lecture derives the overlap effect and explains why forecasting tomorrow’s trailing estimate differs from forecasting nonoverlapping future variance. EWMA avoids a single hard cutoff but still has its own smoothing-induced dynamics.
6. ARCH: model changing conditional variance
Write returns as:
rₜ=mₜ+εₜ, εₜ=√hₜ zₜ,
where mₜ is a forecast based on past information and zₜ has conditional mean zero and conditional variance one. An i.i.d. Gaussian or standardized Student-t specification adds distributional assumptions beyond those moments.
Engle’s ARCH model lets:
hₜ=ω+Σᵢ₌₁ᵖαᵢεₜ₋ᵢ²,
with ω>0 and αᵢ≥0 as common sufficient positivity restrictions. A large recent shock raises future variance regardless of its sign in this symmetric model. This represents volatility clustering while innovations themselves can remain serially uncorrelated. Engle’s Nobel lecture describes the motivation for time-varying volatility models.
ARCH LM diagnostic
Fit an appropriate mean model and regress squared residuals on a constant and K of their lags. Under a suitable no-ARCH null and regularity conditions, N_aux R² has an approximate χ²_K law, where N_aux is the number of observations in the auxiliary regression after lag losses.
Mean-model misspecification, breaks, outliers, and heavy tails can affect the test. Rejection indicates conditional-variance structure compatible with the diagnostic, not proof that one particular GARCH model is correct. Do not confuse this test with a test of autocorrelation in unsquared returns.
7. GARCH(1,1): shock response plus persistence
Bollerslev’s extension adds lagged variance. In this lesson, GARCH(p,q) uses p squared-innovation lags and q variance lags; some books reverse the order. The common (1,1) model is:
hₜ=ω+αεₜ₋₁²+βhₜ₋₁,
with ω>0, α≥0, β≥0. α controls response to a new squared shock; β carries past variance forward. See Bollerslev’s original GARCH publication record.
Stationarity: name the relevant moment
With standardized i.i.d. zₜ and α+β<1, the standard stationary solution has finite unconditional innovation variance:
h̄=E[εₜ²]=E[hₜ]=ω/(1−α−β).
This does not mean hₜ is constant or that return observations are independent. Strict stationarity can hold under the more general condition E[log(αzₜ²+β)]<0 even when a finite unconditional second moment does not exist. Those are distinct statements.
Finite covariance of the squared innovations requires a fourth moment of ε, which is stronger. A standard condition is E[(αz²+β)²]<1; with Gaussian z this becomes 3α²+2αβ+β²<1. Thus α+β<1 alone should not be used to justify every covariance calculation on squared returns.
Why squared innovations have an ARMA form
Set uₜ=εₜ²−hₜ, a mean-zero innovation relative to the past under the model. Substituting hₜ₋₁=εₜ₋₁²−uₜ₋₁ gives:
εₜ²=ω+(α+β)εₜ₋₁²+uₜ−βuₜ₋₁.
This is an ARMA(1,1)-type representation for squared innovations. Its disturbance u is generally not i.i.d. Gaussian; white-noise covariance interpretations require the appropriate fourth-moment conditions. It is not a claim that raw returns follow this same ARMA model.
8. Worked GARCH update and forecast
Take ω=0.000002, α=0.08, β=0.90 in decimal daily-return units. Persistence is ρ=α+β=0.98, and:
h̄=0.000002/0.02=0.0001, so long-run daily volatility is 1%.
If hₜ=0.0001 and today’s innovation is εₜ=0.03:
hₜ₊₁=0.000002+0.08×0.0009+0.90×0.0001=0.000164.
The next-day volatility forecast is √0.000164≈1.2806%, or 20.33% on a √252 quoted annualization basis.
For k≥1, the conditional forecast of variance is:
Eₜ[hₜ₊ₖ]=h̄+ρᵏ⁻¹(hₜ₊₁−h̄).
At k=10, variance is approximately 0.00015336, with square-root variance forecast about 1.2384%. The expected variance deviation has half-life log(0.5)/log(0.98)≈34.31 days.
This is mean reversion in the conditional expectation of variance under the model. New shocks can keep actual future variance elevated. Also √Eₜ[h] and Eₜ[√h] are different quantities; variance forecasts do not automatically give expected volatility by merely taking a square root.
Forecasting a multi-day return
If return innovations are conditional martingale differences and the modeled mean is handled consistently, the variance of the next H summed innovations is the sum of their conditional variance forecasts:
V_H=Hh̄+(hₜ₊₁−h̄)(1−ρᴴ)/(1−ρ).
This need not equal Hhₜ₊₁. A multi-day horizon forecast should use its actual path of expected variance, rather than blindly applying today’s daily volatility times √H. Parameter uncertainty and model misspecification require additional consideration.
9. Asymmetry, power models, and heavy-tailed shocks
| Extension | What it changes | Interpretation |
|---|---|---|
| GJR-GARCH | Adds a term such as γ εₜ₋₁² 1{εₜ₋₁<0} | Negative and positive shocks can have different variance effects |
| EGARCH | Models log variance with magnitude and signed standardized shocks | Positivity through exponentiation and asymmetric responses |
| Threshold / TARCH variants | Depend on a specified sign threshold and variance or scale equation | Naming conventions differ across implementations |
| Power / asymmetric power GARCH | Models a power of scale rather than variance alone | Generalizes the response to shock magnitudes |
| Student-t or skewed-t innovations | Changes the standardized shock distribution | Allows heavier conditional tails than Gaussian shocks |
Conditional heteroscedasticity itself can produce heavy unconditional tails even when z is Gaussian. A Student-t choice adds another tail mechanism; unit-variance standardization requires degrees of freedom above two, and fourth-moment work needs stronger conditions. More flexible models can overfit, so compare them on held-out targets and diagnostics.
The arch documentation explicitly states its p, o, q, and power conventions. Its modeling guide illustrates asymmetric models and heavy-tailed innovations. Matching names without checking the actual equation can lead to the wrong interpretation.
10. Estimation and diagnostics
Gaussian conditional log-likelihood sums terms proportional to −½[log hₜ+εₜ²/hₜ], in addition to constants and any initialization treatment. Student-t likelihood uses its own density and standardization. Numerical estimation must respect model constraints and check convergence, uncertainty, and sensitivity to scaling and starting values.
Once fitted, standardized residuals are ẑₜ=ε̂ₜ/√ĥₜ. Inspect both ẑ and ẑ²:
- Remaining ACF in ẑ suggests conditional-mean structure or other misspecification.
- Remaining structure in ẑ² suggests the variance dynamics are incomplete.
- Tail and quantile checks assess the chosen innovation distribution.
- Rolling-origin forecast errors reveal stability beyond the fitting window.
Use suitable residual-test reference laws and avoid assuming every plotted autocorrelation is an independent test. For risk forecasts, validate tail exceedances and their clustering as well as average errors. A fitted variance recursion that looks smooth can still underestimate rare losses.
11. Jump diffusion: continuous shocks are not the whole story
A multiplicative jump-diffusion can be written schematically as:
dSₜ/Sₜ₋=(μ−λκ_J)dt+σdWₜ+(J−1)dNₜ,
where N is a Poisson counting process with intensity λ, jump multipliers J are positive in this specification, and κ_J=E[J−1] under the chosen measure. Independence assumptions and the distribution of J must be specified. The compensation term makes μ the intended instantaneous expected return under those assumptions.
Poisson arrivals model discrete changes, unlike a continuous Brownian path. A jump can cross a stop or barrier without trading at intermediate prices. A finite-activity jump model is still a simplification and need not fit every form of market clustering or tail behavior.
Under a risk-neutral pricing measure Q, the drift and jump distribution must be consistent with discounted-asset pricing; physical P estimates cannot simply be copied into every option-pricing input. Jump risk can be priced differently from ordinary return variance.
12. Stochastic volatility and Heston
GARCH makes variance a recursion based on observed past innovations and modeled past variance. A continuous-time stochastic-volatility model introduces a latent variance process with its own random shocks. It need not be independent of price shocks.
One common risk-neutral Heston specification is:
dSₜ=(r−q)Sₜdt+√vₜ SₜdWₜ^Q,
dvₜ=κ(θ−vₜ)dt+ξ√vₜdZₜ^Q,
with d[W^Q,Z^Q]ₜ=ρdt. Here q is a dividend yield, not a GARCH lag count; κ is variance-reversion speed, θ a long-run variance level, ξ volatility of variance, and ρ the shock correlation. Parameter constraints, boundary behavior, and simulation methods matter for v≥0.
The correlation allows price declines and variance increases to occur together in a model. That is different from an autonomous variance process with no relationship to price. Heston’s original paper develops the option-pricing framework.
P-measure variance dynamics describe statistical evolution, while Q-measure parameters also reflect priced variance risk. Historical return fitting and option-surface calibration therefore solve different estimation problems. More parameters and a better in-sample surface fit do not automatically improve hedging out of sample.
13. Implied volatility and the surface
For a suitable option quote, implied volatility is the value σ_imp that solves:
model_option_price(S,K,T,r,q,σ_imp)=observed_option_price.
Use a model appropriate to the contract: European equity options, American exercise, futures options, and rates options may require different pricing conventions. Bid/ask prices, dividends, rates, exercise style, and no-arbitrage price bounds all affect the inversion. A stale or inconsistent quote may not yield a meaningful implied volatility.
Across strikes and maturities, σ_imp(K,T) forms a volatility surface. Smile or skew describes strike dependence; term structure describes maturity dependence. A flat Black–Scholes volatility is often an inadequate description of the full quote set, but its implied-volatility coordinate system remains useful.
Illustration: an at-the-money one-month implied volatility of 25% and a historical estimate of 20% do not alone prove the option is overpriced. The historical window may not match the future horizon, a known event may be ahead, and options incorporate risk premia and nonlinear payoffs. A scalar IV is not an unadjusted physical forecast of future standard deviation.
Surface fitting must consider price consistency, such as suitable strike-convexity and calendar relationships, rather than merely making an attractive smooth chart. CME’s volatility-surface discussion illustrates how skew and smile describe distinct features.
14. A practical model-comparison workflow
- Define the target: next-day return variance, future integrated variance, trailing volatility estimate, tail loss, or option price.
- Align prices, sessions, distributions, corporate actions, units, and the forecast information date.
- Establish simple baselines such as constant variance, rolling variance, and EWMA before increasing complexity.
- Fit an appropriate mean model, then compare conditional-variance specifications on common training data.
- Inspect standardized residuals, roots or persistence, moment assumptions, convergence, and sensitivity to outliers or breaks.
- Evaluate rolling-origin forecasts against the same future target and dates. Account for overlap when estimating performance uncertainty.
- Use losses aligned to the task: variance MAE/RMSE, a justified QLIKE score, tail calibration, or option-price and hedge errors. MAPE can fail near zero.
- Include transaction costs, margin, liquidity, and model uncertainty if forecasts determine positions. Accurate volatility estimation alone does not guarantee a profitable volatility strategy.
15. Practice questions
- What is annualized volatility for 1% daily volatility under √252 scaling? When can that scaling be inappropriate?
- Does one squared raw-price change equal the conventional sample return variance?
- Which OHLC estimator explicitly includes an overnight component in the formula given here?
- With λ=0.94, hₜ=0.0001, and εₜ=0.03, find the EWMA next-day variance.
- For ω=0.000002, α=0.08, and β=0.90, what are long-run variance and persistence?
- Does α+β<1 alone ensure finite variance of squared GARCH innovations?
- Is the squared-innovation ARMA disturbance generally independent Gaussian noise?
- If implied volatility exceeds historical volatility, does that establish an arbitrage or a certain profitable option sale?
Answers
- Approximately 15.87%. Serial dependence, changing conditional variance, or a mismatched horizon can invalidate naive scaling.
- No. Units, mean treatment, and multi-observation estimation must be specified.
- Yang–Zhang in the stated multi-session construction.
- 0.000148, corresponding to daily volatility about 1.2166%.
- 0.0001, with persistence 0.98.
- No. Covariance calculations on squared innovations require an appropriate finite fourth moment.
- No. It is a model-derived mean-zero disturbance with additional moment qualifications, not generally i.i.d. Gaussian.
- No. Horizon differences, events, risk premia, payoff nonlinearity, costs, and model assumptions must be considered.
Further reading
- Yang and Zhang: Drift-independent volatility estimation for OHLC estimation and assumptions.
- RiskMetrics Technical Document for EWMA-based market-risk modeling.
- Engle’s Nobel lecture for ARCH motivation and development.
- Heston: Options with stochastic volatility for the continuous-time pricing model.
The useful volatility model is the one whose target, information set, assumptions, and evaluation match the risk or pricing decision—not simply the one producing the smoothest fitted line.