Quant Memo
Core

Realized Volatility Estimators

Realized volatility turns a sequence of actual observed returns into a single number measuring how much a price actually moved — the simplest possible recipe, and the starting point every fancier estimator tries to improve on.

Prerequisites: Realized Volatility Estimation

Estimate a runner's average speed from just their start and finish times, and you get one number that hides everything — did they sprint and coast, or run steadily? Attach a GPS tracker recording position every second and you get the whole story of how fast they moved throughout. Realized volatility is the GPS-tracker approach applied to price moves: instead of inferring volatility indirectly from an option price (implied vol) or a rough close-to-close estimate, it adds up every observed intraday return, squared, to measure how much actually happened.

The formula, defined

RVt=i=1nri2RV_t = \sum_{i=1}^{n} r_{i}^2

In words: split the day (or any period) into nn small intervals, compute the log return rir_i in each one, square each return (so up moves and down moves both add rather than cancel), and sum them all up. RVtRV_t is the realized variance for that period; taking its square root gives realized volatility on that period's own time scale, and multiplying by an annualization factor (like 252\sqrt{252} for daily data) puts it on a standard annualized footing for comparison across assets and horizons.

Worked example 1 — computing RV from five daily returns

A stock's daily log returns over a week are: +1.2%, -0.8%, +0.3%, -1.5%, +0.6%. Squaring each: 0.0122=0.0001440.012^2 = 0.000144, 0.0082=0.0000640.008^2 = 0.000064, 0.0032=0.0000090.003^2 = 0.000009, 0.0152=0.0002250.015^2 = 0.000225, 0.0062=0.0000360.006^2 = 0.000036. Summing: RV=0.000478RV = 0.000478. That's the realized variance for the 5-day window; realized vol for that window is 0.0004782.19%\sqrt{0.000478} \approx 2.19\%. Annualized (scaling to 252 trading days): σann=0.000478/5×252\sigma_{\text{ann}} = \sqrt{0.000478 / 5 \times 252} \approx 15.5%.

five daily squared returns summing to RV +1.2% -0.8% +0.3% -1.5% +0.6%
Each day's squared return contributes a bar; the largest-magnitude return (-1.5%) dominates the sum, since squaring amplifies larger moves disproportionately.

Worked example 2 — sampling more frequently sharpens the estimate

Suppose instead of 1 daily return, the same day is split into 8 half-hour intraday returns: +0.3%, -0.2%, +0.1%, -0.4%, +0.2%, -0.1%, +0.3%, -0.1%. Squaring and summing: 0.000009+0.000004+0.000001+0.000016+0.000004+0.000001+0.000009+0.000001=0.0000450.000009 + 0.000004 + 0.000001 + 0.000016 + 0.000004 + 0.000001 + 0.000009 + 0.000001 = 0.000045. Compare that day's full-day close-to-close return alone: roughly 0.30.2+0.10.4+0.20.1+0.30.1=0.1%0.3-0.2+0.1-0.4+0.2-0.1+0.3-0.1 = 0.1\%, squared to just 0.0000010.000001 — the single close-to-close return massively understates that day's actual activity, because offsetting up-and-down moves during the day cancel out in a single overnight-to-close difference but don't cancel when each interval is squared and summed separately. This is the core reason RV built from finer sampling is more informative than a single daily return: it captures the path, not just the endpoint.

8 intraday squared returns, summed 1 close-to-close squared return
Summing eight small squared moves (left) captures far more of the day's actual variance than one squared overnight-to-close return (right), because intraday reversals cancel in the return but not in the squares.

What this means in practice

Realized volatility computed from high-frequency data is the standard against which implied volatility is compared (was the option "worth" what it cost, given what actually happened?), and it's the target variable that forecasting models like HAR-RV (see HAR-RV model) try to predict. It's also the basic building block that more sophisticated estimators — range-based, two-scale, bipower — are built to improve on for specific weaknesses.

Sampling too frequently doesn't keep improving the estimate forever — at very high frequency (seconds or less), bid-ask bounce and other microstructure noise start dominating the actual price signal, and naive RV computed at that frequency becomes biased upward, sometimes dramatically, because noise adds spurious squared returns that have nothing to do with true volatility. This is exactly the problem that motivates using coarser sampling (typically 5-minute bars) or explicitly noise-robust estimators like two-scale realized volatility instead of pushing sampling frequency as high as the data allows.

Realized volatility is just the sum of squared returns over small intervals — the simplest possible measure of how much a price actually moved, and its accuracy improves with finer sampling only up to the point where microstructure noise starts to dominate.

Practice

  1. A stock has four half-hour returns: +0.5%, -0.3%, +0.2%, -0.4%. Compute the realized variance and realized volatility for that two-hour window.
  2. Why does computing RV from 1-second returns typically give a worse (more biased) estimate of true daily volatility than computing it from 5-minute returns, despite using far more data points?

Related concepts

Practice in interviews

Further reading

  • Andersen, Bollerslev, Diebold, and Labys, The Distribution of Realized Exchange Rate Volatility (JASA, 2001)
  • Hull, Options, Futures, and Other Derivatives (Ch. 20)
ShareTwitterLinkedIn