ARCH Models

Volatility clustering hands us a demand and a clue. The demand: build a model whose variance moves over time. The clue: the squared returns are autocorrelated, so a big shock yesterday should predict a big variance today. In 1982 Robert Engle wrote that clue down as an equation — and it was such a good idea that it won him the 2003 Nobel Prize in Economics. He called it ARCH: Autoregressive Conditional Heteroskedasticity. Unpack the name and you have the whole model: heteroskedasticity = non-constant variance; conditional = the variance for today depends on what we already know; autoregressive = it depends on the recent past of the series itself.

The model

Write each return as a time-varying standard deviation times a standardized shock:

r_t = \sigma_t\, z_t, \qquad z_t \overset{\text{iid}}{\sim} (0, 1),

where the z_t are independent draws with mean 0 and \operatorname{Var}(z_t)=1 (often standard normal). All the action is in \sigma_t, the conditional standard deviation. The ARCH(q) model makes the conditional variance \sigma_t^2 a linear function of the last q squared returns:

\sigma_t^2 = \alpha_0 + \alpha_1 r_{t-1}^2 + \alpha_2 r_{t-2}^2 + \dots + \alpha_q r_{t-q}^2,

with \alpha_0 > 0 and every \alpha_i \ge 0 (so the conditional variance can never go negative — a variance must be non-negative). Read the ARCH(1) special case aloud and the mechanism is obvious:

\sigma_t^2 = \alpha_0 + \alpha_1 r_{t-1}^2.

A big shock r_{t-1} (of either sign — it is squared) pushes up today's variance; a big variance makes a big r_t likely; that big r_t feeds the next day's variance. The feedback loop is volatility clustering, written in one line.

The news-impact curve, live

Fix \alpha_0 = 0.2 and watch how today's variance \sigma_t^2 = \alpha_0 + \alpha_1 r_{t-1}^2 responds to yesterday's shock r_{t-1}. It is a parabola — the news-impact curve — symmetric in the sign of the news: a -3\% day and a +3\% day raise tomorrow's variance by exactly the same amount. Drag \alpha_1 and the bowl steepens: larger \alpha_1 means the market overreacts more violently to recent shocks.

The flat bottom at r_{t-1}=0 is the floor variance \alpha_0: even after a perfectly quiet day the model keeps a baseline of risk. That floor is what stops volatility from ever collapsing to zero.

Watching the band breathe

Here is an ARCH(1) series (\alpha_0=0.3,\ \alpha_1=0.6) with its \pm 2\sigma_t band drawn around it. The band is not fixed: the instant a large return lands, the very next day's band flares outward, and then — because each quiet day feeds a smaller square into the recursion — it narrows back toward the baseline. That breathing band is the conditional variance doing its job.

Notice the band widens one step after the shock, never before: ARCH is strictly backward looking, reacting to yesterday's news, never anticipating tomorrow's.

Worked example: big shock versus small shock

Take an ARCH(1) with \alpha_0 = 0.2 and \alpha_1 = 0.5 (returns in %).

Same model, same parameters — a five-fold difference in tomorrow's expected volatility, driven entirely by the size of yesterday's move. That is exactly the clustering we set out to capture.

Conditionally wild, unconditionally tame

A beautiful tension sits inside ARCH. Conditionally — given the recent past — the variance jumps around; the process is heteroskedastic by construction. Yet unconditionally — averaged over all history — the process is a well-behaved, stationary series with a single finite variance. Taking the long-run expectation of both sides of the ARCH(q) recursion (and using that \mathbb{E}[r_{t-i}^2] equals the constant unconditional variance in the stationary state) gives:

For the worked ARCH(1) above (\alpha_1 = 0.5) the long-run variance is 0.2/(1-0.5) = 0.4, i.e. an unconditional volatility of \sqrt{0.4}\approx 0.63\%. Every wild and quiet day averages out to that.

ARCH captures clustering, but in practice it is clumsy: real volatility fades slowly, so a single lagged square (ARCH(1)) forgets far too fast, and matching the long, gentle decay of the squared returns' ACF needs a long recipe — ARCH(5), ARCH(8), sometimes more — each with its own \alpha_i to estimate. That is a lot of parameters, they must all stay non-negative, and the fits get unstable. The classic mistake is to keep bolting on more lags. The fix is not more ARCH terms but a smarter recursion that lets past variance carry the memory — the GARCH model, which reproduces a long ARCH with just a handful of parameters. If you find yourself fitting ARCH(8), you almost certainly want GARCH(1,1).

Before Engle, econometricians treated variance as a nuisance to be assumed constant and swept into a standard error. Engle's leap, working on UK inflation data, was to make the variance a modelled quantity in its own right — to say that uncertainty itself has dynamics you can estimate and forecast. Suddenly "how risky is tomorrow?" became a question with a data-driven numerical answer, which is the beating heart of option pricing, Value-at-Risk, and modern risk management. The 2003 Nobel citation paired him with Clive Granger; the committee singled out ARCH as the tool that let economists measure and predict volatility. Not bad for the idea of paying attention to the squares.