← All notes
ForecastingMethod15 min

Forecasting realized volatility, and what actually beats HAR

A three-term linear regression from 2009 is still the benchmark that most sophisticated alternatives fail to clear. Understanding why is more useful than any single model.

Get the target right first

GARCH infers a latent variance from daily returns. With intraday data you can simply measure it. Sum squared intraday returns over the day and you have realized variance, a consistent estimator of the day's integrated variance:

RVt = ∑i=1..Mt,i Turns a latent state into an observable regressand.

That is the good news. The bad news is that the estimator is contaminated by market microstructure noise — bid-ask bounce, discrete prices, stale quotes — and the contamination grows as sampling gets finer. Sample at one-second frequency and you are largely measuring the spread. Two standard responses:

Separately, jumps should not be treated like diffusive variance. Bipower variation estimates the continuous part only; the difference against RV identifies the jump contribution. It matters because the two components have very different persistence — the continuous part is highly predictable, jumps essentially are not.

Before any modelling: decide the sampling frequency, the noise correction, the overnight-return treatment and the jump handling. These four choices move out-of-sample accuracy more than the choice between HAR and a neural network.

The benchmark: HAR

Corsi's (2009) Heterogeneous Autoregressive model is motivated by the idea that different participants act on different horizons — intraday traders, portfolio managers, long-term investors — and each generates volatility at their own frequency. The implementation is a regression on daily, weekly and monthly averages of past realized volatility:

RVt+1 = β0 + βd RV(d)t + βw RV(w)t + βm RV(m)t + εt+1 Three regressors. Ordinary least squares. That is the whole model.

It is not a long-memory model, but the cascade of three horizons reproduces hyperbolic-looking decay well enough to be indistinguishable in practice. It has no convergence problems, no likelihood surface to get lost on, and it takes milliseconds to fit.

Two refinements are almost free:

The challengers

Realized GARCH and HEAVY. Both bolt a realized measure onto a GARCH-style recursion. Realized GARCH (Hansen, Huang & Shek, 2012) adds a measurement equation linking the realized measure to latent variance, including a leverage function. HEAVY (Shephard & Sheppard) runs two equations and adapts fast after variance breaks. Both beat daily-return GARCH comfortably. Against HAR the margin is narrow and sample-dependent.

Rough volatility. Gatheral, Jaisson and Rosenbaum showed that log realized volatility behaves like fractional Brownian motion with a Hurst exponent around 0.1 — far rougher than the smooth paths standard stochastic volatility models assume. The resulting RFSV forecast formula is parsimonious and performs well. Honest caveat: the measured roughness is partly an artefact of estimation error in RV, and the debate over how much is genuine is unresolved.

Machine learning. Gradient boosting, LSTMs and temporal fusion transformers all deliver gains when the feature set is genuinely richer — cross-asset RVs, implied vol, order-flow imbalance, macro calendars. Given the same three HAR inputs, they typically match HAR and sometimes do worse. The lesson is consistent: the gain comes from the features, not the function class.

Evaluating honestly

This is where most comparisons quietly break.

Rule of thumb: if a new model beats HAR by less than a few percent of QLIKE and does not survive a Model Confidence Set at ten percent, treat the improvement as unproven. Publish the null result anyway.

References