Skip to content

Historical Volatility: Data, Estimators, and Annualization

Calculate historical volatility with explicit return, adjustment, sampling, dependence, and annualization conventions, and keep it distinct from realized variance and a forecast.

Updated

For educational purposes only; not investment advice. Investing may result in loss.

Direct answer

Historical volatility (HV) usually means a backward-looking estimate built from a stated sample of returns. A common close-to-close version is the demeaned sample standard deviation of daily returns, multiplied by sqrt(252) to quote an annualized number. It is not direction, cumulative return, a loss quantile, or a forecast.

The label is not sufficient by itself. A reproducible figure must identify the security and data vintage, price or total-return adjustment, return definition, sampling clock, window, missing-data rule, demeaning and denominator, overlap, and annualization assumption. High-frequency realized variance is a different construction and should not silently be called the same statistic.

A reproducible workflow

  1. Lock the security identity, currency, source, as-of timestamp, exchange session and timezone. State whether the input is an unadjusted price, split-adjusted price, or dividend-reinvested total-return index; vendor fields named “adjusted close” are not universal.
  2. Preserve the raw data and a point-in-time corporate-action ledger. Validate splits, cash and special distributions, spin-offs, rights, ticker changes, listings, delistings, halts, duplicate rows and revisions instead of treating every large return as economic.
  3. Define the observation and return. Simple return is R_t=P_t/P_(t-1)-1; log return is r_t=ln(P_t/P_(t-1)). Separate close-to-close, overnight, intraday, OHLC-range and high-frequency objects, and never fill a missing trading observation with a zero return without an explicit rule.
  4. Lock the statistic. For n returns, a demeaned sample estimate uses s^2=sum((r_t-r_bar)^2)/(n-1), a population description uses denominator n, and a zero-mean second moment uses sum(r_t^2)/n. A rolling 20-return window requires 21 prices; overlapping windows are dependent.
  5. Calculate and retain per-period variance before taking a square root. Keep returns in decimal units during computation, use unrounded observations, and report the effective count, window endpoints, outlier policy and uncertainty alongside the estimate.
  6. Annualize only under a declared clock and dependence assumption. The shortcut is sigma_ann=sigma_period*sqrt(m). With autocovariances gamma_k, the finite-horizon variance is Var_h=h*gamma_0+2*sum((h-k)*gamma_k,k=1,...,h-1); serial dependence can make sqrt(h) scaling wrong.
  7. Validate rolling behavior and alternative estimators, then label the use. Compare close-to-close with appropriate range or high-frequency measures, version every transformation, and match horizon, endpoint and return object before comparing HV with future realized volatility or option-implied volatility.

Worked examples

  • Estimator conventions: Closes 50,50.5,49.75,51.25,50.8,52 give simple returns 1.0000000000%,-1.4851485149%,3.0150753769%,-0.8780487805%,2.3622047244%. Their mean is 0.8028165612%. The n-1 daily sample standard deviation is 1.9637180491%, or 31.1730576182% with 252-day scaling. The population-denominator result is 27.8820303603% annualized, the zero-mean RMS result is 30.6565695016%, and the log-return sample result is 30.9503931412%. These are different declared statistics, not rounding variants.
  • Corporate-action adjustment: Raw closes 100,102,51,52 around a 2:1 split imply returns 2.0000000000%,-50.0000000000%,1.9607843137% and sample annualized volatility 476.4082651082%. A split-adjusted series 50,51,51,52 instead gives 2.0000000000%,0.0000000000%,1.9607843137% and 18.1532626762%. Separately, a price drop from $100 to $98 is -2.0000000000%, but with a contemporaneous $2 distribution the simplified total return is 0.0000000000%; split adjustment and dividend reinvestment are distinct choices.
  • Dependence and annualization: Suppose daily standard deviation is 1.20%, lag-one correlation is 0.30, and all higher autocovariances are zero. The 5-day formula gives 3.2643529221%, versus the IID shortcut 2.6832815730%. At 252 days it gives 24.0778736603%, versus 19.0494094397%. Overlapping multi-day returns and rolling windows must not be counted as independent evidence.
  • Range estimators: For four no-overnight-gap OHLC rows (100,103,98,102), (102,104,99,100), (100,101,95,96), and (96,99,94,98), a documented implementation gives close-to-close sample volatility 49.5714227092%, Parkinson 50.7624937587%, Garman-Klass 53.5943705174%, and Rogers-Satchell 52.5916416264%, all annualized with 252. Parkinson relies on a continuous no-drift diffusion idealization; Garman-Klass, Rogers-Satchell and Yang-Zhang use different OHLC assumptions, and none is universally superior or immune to jumps and bad prints.

Risks and validation

  • Identity risk: A ticker change, merger, share class or delisting can splice different securities.
  • Vintage risk: Vendors may revise history or corporate actions after the original analysis date.
  • Adjustment risk: Split-only, price-return and total-return series answer different questions.
  • Distribution risk: Cash dividends, special distributions, spin-offs and rights require explicit treatment.
  • Calendar risk: Exchange holidays and asset-specific sessions make a generic 252 assumption approximate.
  • Timezone risk: Misaligned closes can create artificial cross-market or overnight returns.
  • Missing-data risk: Filling a halt, stale close or absent row with zero suppresses measured variance.
  • Duplicate-data risk: Duplicate or out-of-order timestamps distort returns and sample counts.
  • Return-definition risk: Simple and log returns cannot be mixed inside one series or comparison.
  • Denominator risk: n-1, n and a zero-mean second moment estimate different objects.
  • Rounding risk: Computing from displayed rounded returns can move a small-sample result materially.
  • Window risk: Count returns rather than prices and define whether endpoints are inclusive.
  • Overlap risk: Rolling and multi-period observations share data and are not independent.
  • Dependence risk: Autocorrelation invalidates mechanical square-root-of-time scaling.
  • Regime risk: A long window dilutes a new regime; a short window is noisy.
  • Outlier risk: One genuine jump or bad print can dominate the estimate.
  • Microstructure risk: Bid-ask bounce, non-synchronous trades and thin markets contaminate high-frequency data.
  • Estimator risk: Close-to-close, range and high-frequency estimators have different assumptions and targets.
  • Comparison risk: HV and IV are mismatched when horizon, timestamp, underlying or return convention differs.
  • Decision risk: A historical estimate is not an executable option value, forecast, hedge ratio or trading signal.

Common misconceptions

  • “Annualized HV is the asset’s annual move.” It is a standardized dispersion estimate, not cumulative return or a guaranteed range.
  • “Realized volatility always means this sample standard deviation.” High-frequency realized variance commonly sums intraday squared returns and is a distinct estimator.
  • “Adjusted close has one correct definition.” Split-adjusted price and dividend-reinvested total return can differ materially.
  • “More frequent or overlapping observations always add independent information.” Microstructure noise and shared returns can reduce effective information.
  • “IV above trailing HV is automatically a short-volatility opportunity.” Different horizons, event risks, risk premia, execution costs and payoff convexity remain.

Authoritative sources

Navigation

Search the wiki...