Heterogeneous autoregressive realised volatility model
Forecast realised variance with overlapping daily, weekly and monthly inputs; understand HAR-RV timing, lag weights, log variants and forecast evaluation.
Heterogeneous autoregressive realised volatility model
The heterogeneous autoregressive realised volatility model (HAR-RV) forecasts a realised measure of return variation from its recent daily, weekly and monthly history. It lets a risk forecast react to yesterday’s turbulence while retaining information about the surrounding month. “Heterogeneous” refers to the different time horizons, motivated by participants operating at different speeds; the fitted coefficients do not identify particular investor groups.
The name needs a units check. Corsi’s original model uses realised volatility, the square root of realised variance, and explicitly allows variance and logarithmic variants. Here the worked model is HAR in variance levels: every input and the predicted output is a realised variance. Coefficients estimated for standard deviations cannot be carried across unchanged. Corsi (2009), §§2.1–2.3.
Three backward-looking averages, one future day
Let Vt be day t’s realised variance, measured as a sum of squared intraday decimal log returns over a defined session. At a forecast origin after that session’s data are available, construct
Dt=Vt,Wt=51j=0∑4Vt−j,Mt=221j=0∑21Vt−j.
Five and 22 are trading-day window conventions. Wt is an average daily variance over five completed sessions, not five-day cumulative variance. Mt is similarly normalised. All three windows end at t; none includes Vt+1.
The variance-level regression and its forecast are
The second line is a conditional-mean forecast under the model’s zero conditional-mean error assumption; without that assumption it is a fitted linear prediction. The target is tomorrow’s measured variance, with the same session definition as the training data. Translating it into the conditional variance of a close-to-close return requires matching overnight coverage and the assumptions linking the realised measure to that return’s risk.
Suppose a fictional fitted model has c=0.00001 and coefficients 0.5,0.3,0.1. Today’s available inputs are Dt=0.0004, Wt=0.0003 and Mt=0.0002. Then
Taking its square root gives 1.7889% in daily decimal-return units. This is the square root of a variance forecast. It is generally different from the forecast of tomorrow’s realised standard deviation, because EtVt+1] and Et[Vt+1] differ by [Jensen’s inequality. No annualisation is used here.
Three nested windows end at day t: daily realised variance is 0.0004, the five-day average is 0.0003 and the 22-day average is 0.0002. Tomorrow is unknown. The intercept and weighted daily, weekly and monthly contributions are 0.00001, 0.00020, 0.00009 and 0.00002, summing to a variance forecast of 0.00032.
Original fictional example. The windows deliberately overlap. Bar lengths represent contributions in variance units; they are not separate standard deviations or probabilities.
Overlap is the structure
The latest day appears in all three predictors. This is intentional, not three independent pieces of evidence. Expanding the averages gives the effective coefficients on the daily observations:
Observation in the history
Effective coefficient
In the example
Vt
βD+βW/5+βM/22
0.564545
Each of Vt−1,…,Vt−4
βW/5+βM/22
0.064545
Each of Vt−5,…,Vt−21
βM/22
0.004545
Thus a unit change in today’s variance, holding earlier daily observations fixed, changes all three averages. Its forecast effect is 0.564545, not just the daily coefficient 0.5. In contrast, a regression coefficient describes changing one predictor while holding the other predictors fixed. The distinction matters when explaining a risk update.
This is a restricted autoregression: 22 daily lags receive three stepwise weights. Under a stable specification it can mimic persistent volatility over useful finite horizons without being a true long-memory process. Corsi (2009), §2.3 and §2.4.
Measurement and fitting choices change the forecast
The regression cannot repair a badly constructed variance series. Specify the sampling grid, price source, session boundaries, corporate-action treatment and handling of missing bars. Finer sampling does not guarantee a better measure: bid–ask effects and other market microstructure noise can contaminate squared returns. A session-only estimator also omits overnight variation. Keep these choices consistent across training inputs and evaluation targets. Hansen and Lunde’s primary working paper, introduction, explains the sampling/noise trade-off.
Ordinary least squares is a straightforward way to fit the linear specification. At each forecast origin, however, include only training rows whose next-day target is already available. A row with predictors dated t cannot enter the fit at t if its target is Vt+1. The 22-day warm-up, vendor publication delays and data revisions also belong to the forecasting clock. This prevents look-ahead bias.
Overlapping predictors may be highly correlated, so individual coefficients can be unstable even when fitted forecasts look similar. Unconstrained least squares can produce a negative variance forecast. Nonnegative coefficients and intercept guarantee nonnegative fitted values for nonnegative inputs, but impose a different estimation problem; a positive floor is also a modelling choice that must be fixed before evaluation. Neither choice establishes stationarity or forecast accuracy. Inspect residual dependence, changing regimes and estimation uncertainty.
A log variant needs a return ticket
A different specification models zt=logVt, requiring strictly positive measurements. One version uses the last log variance and trailing averages of log variances. Another uses logs of the level averages; these differ, since log(Wt) is generally not the average of the last five logV values. State which version is fitted.
Exponentiating a log forecast guarantees a positive number, but it does not automatically recover a mean variance forecast. If zt+1=mt+et+1, then
Et[Vt+1]=exp(mt)Et[exp(et+1)].
For a conditionally Gaussian log error with mean zero and variance st2, this becomes exp(mt+st2/2). For example, exp(mt)=0.0002 and st2=0.16 give a mean of 0.0002166574, about 8.33% higher. The Gaussian correction is an assumption, not a universal adjustment. A residual-based correction also needs a defensible error-distribution assumption and training-only estimation. The broader realised-measure forecasting framework, including logarithmic modelling, is developed by Andersen, Bollerslev, Diebold and Labys.
What would count as evidence that it works?
Compare chronological, genuinely out-of-sample forecasts against simple alternatives on identical dates and variance units. Choose the estimation window, transformation, positivity treatment and loss before the final test. For a positive variance forecast h and later variance proxy y, squared error (y−h)2 and the QLIKE score logh+y/h are common choices. Under the relevant conditional-unbiasedness and integrability conditions, their expected comparisons can remain meaningful with a noisy proxy. This does not make them immune to biased measurements or finite-sample uncertainty. Patton (2011), §§2–3.
Longer-horizon forecasts require an explicit target: the next five days’ average, their total, or day t+5 alone. Overlapping future targets create dependence in evaluation errors. A good variance forecast also supplies neither return direction nor a complete tail-loss distribution.
For the underlying lag-model mechanics, see AR, MA, and ARMA. For rolling experiments and dependent forecast comparisons, see Forecast Evaluation. Both have public previews; the full lessons require membership.