Skip to content

The GARCH Model: From ARCH to Integrated GARCH

Returns are unpredictable; volatility is not. From Engle's original ARCH idea to GARCH(1,1), how the persistence parameter governs estimation, forecasting, and risk numbers, all the way to IGARCH on the boundary.

10 of 12 ~13 min

If you have ever wondered why risk models look so complicated when daily returns are essentially unpredictable, the answer is: returns are unpredictable, but volatility is. Volatility clusters — it comes in waves. After a large move up or down, the next move is more likely to be large; after a quiet stretch, more likely to be small. This empirical fact, documented in every asset class and market anyone has studied, is what GARCH (Bollerslev, 1986) was built to capture.

This article derives the model from Engle’s original ARCH idea, extends it to GARCH, and pushes all the way to IGARCH, where the persistence parameter sits on the boundary at 1. One quantity will keep reappearing along the way: α+β\alpha + \beta — how much of today’s volatility shock survives into tomorrow. It shapes the fit, the forecast, the risk numbers, and finally decides whether you live in the stationary world or the integrated one. Textbook references are Hamilton (1994, Ch. 21), Tsay (2010, Ch. 3), and Campbell, Lo & MacKinlay (1997, Ch. 2).

First, Agree on What Is Being Modeled

Before writing a model, put the empirical regularities of daily returns rtr_t on the table. The mean is near zero: E[rt]≈0E[r_t] \approx 0 for most assets, with drift negligible against volatility. rtr_t itself is nearly uncorrelated — the statistical form of “returns are unpredictable” — yet ∣rt∣|r_t| and rt2r_t^2 show clear positive autocorrelation that dies out slowly, hyperbolically rather than geometrically. Together, that pair of facts is volatility clustering: the conditional variance Var(rt∣Ft−1)\text{Var}(r_t \mid \mathcal{F}_{t-1}) depends on past squared returns. On top of that, standardized returns are heavier-tailed than the normal (excess kurtosis for daily equities runs from single digits into the tens), and negative returns push volatility up harder than positive returns of the same size (the leverage effect, Black, 1976).

This list doubles as the family’s road map: basic GARCH captures the clustering, non-Gaussian innovations supply the tails, asymmetric extensions (GJR, EGARCH — next article) supply the leverage effect, and the slow decay of rt2r_t^2 autocorrelations motivates IGARCH and FIGARCH. There is also a negative fact worth stating: standard ARMA assumes constant conditional variance, Var(rt∣Ft−1)=σ2\text{Var}(r_t \mid \mathcal{F}_{t-1}) = \sigma^2 for all tt, and return data reject it overwhelmingly — the squared residuals of an ARMA fit are themselves highly persistent and autocorrelated. Hence the need for something new.

ARCH: Make the Variance Itself the Modeled Object

Engle’s (1982) idea was simple and brilliant: since squared residuals are autocorrelated, model the conditional variance directly as a function of past squared residuals. ARCH(qq):

σt2=α0+α1εt−12+α2εt−22+⋯+αqεt−q2\sigma_t^2 = \alpha_0 + \alpha_1 \varepsilon_{t-1}^2 + \alpha_2 \varepsilon_{t-2}^2 + \cdots + \alpha_q \varepsilon_{t-q}^2

The full model is:

rt=μt+εt,εt=σtzt,zt∼iid(0,1)r_t = \mu_t + \varepsilon_t, \quad \varepsilon_t = \sigma_t z_t, \quad z_t \sim \text{iid}(0, 1)

The conditional mean μt\mu_t is usually just a constant (for daily equities, μ\mu is essentially zero), but it can be an ARMA, a factor regression (rt=a+b rt,market+εtr_t = a + b\, r_{t,\text{market}} + \varepsilon_t with GARCH on εt\varepsilon_t), or even a function of volatility itself — the GARCH-M specification rt=μ+λσt+εtr_t = \mu + \lambda \sigma_t + \varepsilon_t, used to estimate risk premia. The action, throughout, is in the equation for σt2\sigma_t^2.

The constraints α0>0\alpha_0 > 0, αi≥0\alpha_i \geq 0 keep the variance positive; covariance stationarity of εt\varepsilon_t requires ∑i=1qαi<1\sum_{i=1}^q \alpha_i < 1. Under stationarity the unconditional variance is

σ2=E[εt2]=α01−∑i=1qαi\sigma^2 = E[\varepsilon_t^2] = \frac{\alpha_0}{1 - \sum_{i=1}^q \alpha_i}

— “intercept over one minus persistence”, a form we will meet again. Once the sum in the denominator approaches 1, a modest intercept supports an enormous unconditional variance. That is persistence baring its teeth for the first time.

Whether the data actually carry ARCH effects can be tested with Engle’s (1982) Lagrange multiplier test: estimate the mean equation to get residuals ε^t\hat{\varepsilon}_t, regress ε^t2\hat{\varepsilon}_t^2 on a constant and qq of its own lags, and take TR2TR^2 from the auxiliary regression — under the null of no ARCH it is χq2\chi^2_q, reject for large values. On virtually any high-frequency return series (equities, FX, crypto) it rejects overwhelmingly, so running it is mostly ceremony. But the ceremony has a point: it tells you the road without a volatility model is closed.

GARCH: Two Lags Doing the Work of Thirty

ARCH’s practical problem is that it runs out of lags. Squared daily equity returns show significant autocorrelation out to lag 30 and beyond, and the ARCH way of writing that costs 30 parameters. Bollerslev (1986) and Taylor (1986) independently hit on the same fix: add lagged variance terms, the way ARMA compresses an AR(∞\infty). GARCH(p,qp, q):

σt2=ω+∑i=1qαiεt−i2+∑j=1pβjσt−j2\sigma_t^2 = \omega + \sum_{i=1}^q \alpha_i \varepsilon_{t-i}^2 + \sum_{j=1}^p \beta_j \sigma_{t-j}^2

The “like ARMA” is more than an analogy. Define vt=εt2−σt2v_t = \varepsilon_t^2 - \sigma_t^2 (a martingale difference), substitute, and εt2\varepsilon_t^2 follows exactly an ARMA(max(p,qp,q), pp) process — AR coefficients αi+βi\alpha_i + \beta_i, MA coefficients −βj-\beta_j. GARCH is a parsimonious ARMA for squared residuals, writing geometrically decaying memory with two or three parameters.

Constraints as before: ω>0\omega > 0, αi≥0\alpha_i \geq 0, βj≥0\beta_j \geq 0, and ∑αi+∑βj<1\sum \alpha_i + \sum \beta_j < 1 for stationarity. The undisputed workhorse in practice is GARCH(1,1):

σt2=ω+αεt−12+βσt−12\sigma_t^2 = \omega + \alpha \varepsilon_{t-1}^2 + \beta \sigma_{t-1}^2

Three parameters capture volatility clustering, fit daily equity returns remarkably well, and information criteria usually pick this over higher orders.

Now meet the protagonist properly. α+β\alpha + \beta is the persistence parameter, and typical daily-equity estimates land between 0.95 and 0.99. It converts directly into the half-life of a volatility shock: 0.5=(α+β)h0.5 = (\alpha+\beta)^h gives h=log⁡(0.5)/log⁡(α+β)h = \log(0.5)/\log(\alpha+\beta) — about 23 days at α+β=0.97\alpha + \beta = 0.97, about 69 at 0.990.99. The unconditional variance keeps its familiar shape, σ2=ω/(1−α−β)\sigma^2 = \omega / (1 - \alpha - \beta), with the denominator once again staring at persistence.

Estimation: The Gaussian Likelihood as a Vehicle

GARCH is estimated by maximum likelihood. The Gaussian quasi-maximum likelihood (QML) objective is

ℓ(θ)=−12∑t=1T[log⁡(2π)+log⁡(σt2)+(rt−μt)2σt2]\ell(\theta) = -\frac{1}{2} \sum_{t=1}^T \left[ \log(2\pi) + \log(\sigma_t^2) + \frac{(r_t - \mu_t)^2}{\sigma_t^2} \right]

maximized over θ=(μ,ω,α,β)\theta = (\mu, \omega, \alpha, \beta), with σt2\sigma_t^2 depending on θ\theta through the recursion. Here is a point worth pausing on: even when the innovations ztz_t are not Gaussian at all, QML remains consistent and asymptotically normal under correct specification — the Gaussian likelihood is a vehicle for estimation, not a substantive assumption. The price is that standard errors must use the robust sandwich form of Bollerslev & Wooldridge (1992); the plain inverse Hessian is wrong under non-Gaussian innovations.

Vehicle or not, the fat tails eventually demand payment. The data’s tails are thicker than Gaussian, and swapping the innovation distribution for a Student-tt fits much better:

ℓt=log⁡Γ(ν+12)−log⁡Γ(ν2)−12log⁡((ν−2)πσt2)−ν+12log⁡(1+(rt−μt)2(ν−2)σt2)\ell_t = \log \Gamma\left(\frac{\nu+1}{2}\right) - \log \Gamma\left(\frac{\nu}{2}\right) - \frac{1}{2}\log\left((\nu-2)\pi\sigma_t^2\right) - \frac{\nu+1}{2}\log\left(1 + \frac{(r_t - \mu_t)^2}{(\nu-2)\sigma_t^2}\right)

with degrees of freedom ν>2\nu > 2 for finite variance, estimated alongside the other parameters. Student-tt GARCH beats Gaussian GARCH on equity returns for exactly one reason: the tails match.

The News Impact Curve

The news impact curve plots E[σt+12∣εt]E[\sigma_{t+1}^2 \mid \varepsilon_t] against εt\varepsilon_t, other lagged quantities held at their unconditional means. For GARCH(1,1):

E[σt+12∣εt]=ω+αεt2+βE[σt2]=ω+αεt2+βσ2E[\sigma_{t+1}^2 \mid \varepsilon_t] = \omega + \alpha \varepsilon_t^2 + \beta E[\sigma_t^2] = \omega + \alpha \varepsilon_t^2 + \beta \sigma^2

A parabola in εt\varepsilon_t: zero slope at the origin, curvature set by α\alpha, and positive and negative shocks affecting next-period variance identically. This curve is the model’s face — symmetric GARCH wears a symmetric parabola, while the data (the leverage effect) want a curve that is steeper on the negative side. That mismatch is the starting point for GJR-GARCH and EGARCH, covered in the next article.

Forecasting: Persistence Decides the Shape

With the fit in hand, look forward. The hh-step variance forecast from GARCH(1,1) has a closed form:

σ^T+h2=σ2+(α+β)h−1(σ^T+12−σ2)\hat{\sigma}_{T+h}^2 = \sigma^2 + (\alpha + \beta)^{h-1} (\hat{\sigma}_{T+1}^2 - \sigma^2)

The structure reads at a glance: start from tomorrow’s conditional variance and decay geometrically toward the unconditional variance at rate (α+β)(\alpha + \beta). So persistence directly sets the forecast’s shape. With α+β\alpha + \beta near 1, over moderate horizons

σ^T+h2≈σ2+(σ^T+12−σ2)\hat{\sigma}_{T+h}^2 \approx \sigma^2 + (\hat{\sigma}_{T+1}^2 - \sigma^2)

— the forecast barely converges, parking near σ^T+12\hat{\sigma}_{T+1}^2. High persistence means current volatility is itself a good long-horizon forecast. That squares with the empirical record: GARCH volatility forecasts hold their own against naive forecasts and most alternatives out to horizons of several months.

IGARCH: Standing on the Boundary

Fit enough GARCH models and you notice α^+β^\hat{\alpha} + \hat{\beta} pressing against 1, occasionally exceeding it in finite samples (estimation error — but a hint that the true value may sit at 1). Impose α+β=1\alpha + \beta = 1 as a constraint and you get the IGARCH of Engle & Bollerslev (1986):

σt2=ω+αεt−12+(1−α)σt−12,α+β=1\sigma_t^2 = \omega + \alpha \varepsilon_{t-1}^2 + (1 - \alpha) \sigma_{t-1}^2, \quad \alpha + \beta = 1

Take the ω=0\omega = 0 special case first; the recursion collapses to

σt2=σt−12+α(εt−12−σt−12)\sigma_t^2 = \sigma_{t-1}^2 + \alpha(\varepsilon_{t-1}^2 - \sigma_{t-1}^2)

which is exactly the exponentially weighted moving average of squared returns — the RiskMetrics volatility formula. In this case variance forecasts stay flat at the current level for all horizons; with ω>0\omega > 0 they instead grow linearly in the horizon and never converge. Either way, volatility shocks are permanent, and the process has no finite unconditional variance.

The analogy “IGARCH is a unit root in variance” is useful intuition, but do not push it too far: Nelson (1990) showed the IGARCH process is still strictly stationary — σt2\sigma_t^2 does not wander off the way a true random walk does; it merely lacks finite second moments. An integrated GARCH and an integrated mean process are two different kinds of “integrated”. The practical call is simpler: when α^+β^\hat{\alpha} + \hat{\beta} sits firmly above 0.99, IGARCH (or EWMA) is the more honest specification; otherwise use stationary GARCH and let the forecast mean-revert as it should.

Code and Diagnostics

Three lines to fit:

import pandas as pd
import numpy as np
from arch import arch_model


r = pd.Series(..)

model = arch_model(r, mean='Constant', vol='GARCH', p=1, q=1, dist='t')
result = model.fit()
print(result.summary())

# Conditional variance (sigma_t^2)
vol = result.conditional_volatility

# Forecast 10 days ahead
forecast = result.forecast(horizon=10)
print(forecast.variance.iloc[-1])

The post-fit checks all orbit one question: has the model absorbed the dynamics it was supposed to absorb? Standardized residuals z^t=ε^t/σ^t\hat{z}_t = \hat{\varepsilon}_t / \hat{\sigma}_t should be close to iid — inspect the ACFs of z^t\hat{z}_t and z^t2\hat{z}_t^2, and run Ljung-Box on z^t2\hat{z}_t^2; a rejection means leftover ARCH. A sign bias test — regress z^t2\hat{z}_t^2 on z^t−1\hat{z}_{t-1} and an indicator for negative z^t−1\hat{z}_{t-1} — flags asymmetric volatility if significant, in which case move to GJR or EGARCH. The Nyblom stability test probes time-variation in (ω,α,β)(\omega, \alpha, \beta); significance points at structural breaks. Finally, plot the news impact curve and let your eyes confirm whether the symmetry assumption deserves your data.

From Variance Forecast to Risk Number

GARCH delivers σ^T+h2\hat{\sigma}_{T+h}^2; risk management wants a distribution for returns. Add the innovation assumption and you have the forecast density: Gaussian gives rT+h∼N(μ^,σ^T+h2)r_{T+h} \sim N(\hat{\mu}, \hat{\sigma}_{T+h}^2); Student-tt uses the tνt_\nu scaled to unit variance. The one-period 1% Value-at-Risk is

VaR0.01=−μ^−z0.01σ^T+1\text{VaR}_{0.01} = -\hat{\mu} - z_{0.01} \hat{\sigma}_{T+1}

where z0.01z_{0.01} is the 1% quantile of the standardized (unit-variance) innovation distribution. For the Gaussian, z0.01=−2.33z_{0.01} = -2.33; for the unit-variance Student-tt with ν=5\nu = 5, about −2.61-2.61 — note this is the raw t5t_5 quantile (about −3.36-3.36) divided by ν/(ν−2)\sqrt{\nu/(\nu-2)}; pairing the raw quantile with σ^\hat{\sigma} double-counts the tail thickness. The directional conclusion stands regardless: Gaussian VaR on fat-tailed returns understates tail risk, large losses arrive more often than the model says, and that is why Student-tt innovations are standard in risk management. A VaR also needs backtesting: count the days the loss exceeds VaR; under correct specification the hit rate should equal the VaR level (about 1% of days for 99% VaR), with coverage assessed by the Kupiec (1995) test.

High-Frequency Data Enter: Realized Volatility

So far the model eats only daily data. Modern datasets carry tick-level and sub-minute prices, from which you can compute realized volatility (RV) — the sum of squared intraday returns over the day:

RVt=∑i=1Nrt,i2RV_t = \sum_{i=1}^N r_{t,i}^2

As sampling frequency rises (under certain assumptions), RVt→∫tt+1σ2(s) dsRV_t \to \int_t^{t+1} \sigma^2(s)\, ds — a consistent estimate of the day’s integrated variance. This is related to but distinct from GARCH’s σ^t2\hat{\sigma}_t^2: RV is the variance actually realized during day tt; the GARCH quantity is the conditional expectation at the day’s start. Since RV measures the day’s volatility far more cleanly than a single squared daily return, the natural move is to feed it to the variance equation:

σt2=ω+αεt−12+βσt−12+γRVt−1\sigma_t^2 = \omega + \alpha \varepsilon_{t-1}^2 + \beta \sigma_{t-1}^2 + \gamma RV_{t-1}

The realized-volatility term carries high-frequency information the daily GARCH cannot see, and the forecast improvement is typically real (the foundational work on this line is Andersen, Bollerslev, Diebold & Labys, 2003). HEAVY models (Shephard & Sheppard, 2010) go further and let the return-variance recursion be driven entirely by the lagged realized measure,

σt2=ω+αRVt−1+βσt−12\sigma_t^2 = \omega + \alpha RV_{t-1} + \beta \sigma_{t-1}^2

paired with a second recursion for the realized measure itself. For tracking the persistent dynamics of integrated variance, this structure is more robust than a standard GARCH watching only squared daily returns — and once the data frequency is high enough, this road tends to win.

One natural follow-up: is the conditional variance itself volatile? Compared against RV, GARCH forecasts leave non-trivial residual variance, so yes. Stochastic volatility models face this head-on, treating log⁡σt2\log \sigma_t^2 as an AR(1) with its own shocks — a second layer of randomness on top of the GARCH structure. The practical verdict is rather cool, though: GARCH with Student-tt innovations often matches stochastic volatility out of sample, and the simpler model wins on usability.

The Bigger Picture

GARCH is the workhorse of univariate volatility modeling. If you need one number for one asset’s volatility tomorrow, GARCH(1,1) with Student-tt innovations is the default starting point. From there, three lines of extension: asymmetric models (GJR-GARCH, EGARCH, APARCH) fix the symmetry defect of the news impact curve, multivariate models (CCC, DCC, BEKK) handle covariances across assets, and long-memory models (FIGARCH, HYGARCH) chase the hyperbolic decay of squared-return autocorrelations. The next article takes the first line and lays out the other two along the way.

References

  • Andersen, T. G., Bollerslev, T., Diebold, F. X., & Labys, P. (2003). Modeling and forecasting realized volatility. Econometrica, 71(3), 579-625.
  • Black, F. (1976). Studies of stock price volatility changes. Proceedings of the 1976 Meetings of the American Statistical Association, 171-181.
  • Bollerslev, T. (1986). Generalized autoregressive conditional heteroskedasticity. Journal of Econometrics, 31(3), 307-327.
  • Bollerslev, T., & Wooldridge, J. M. (1992). Quasi-maximum likelihood estimation and inference in dynamic models with time-varying covariances. Econometric Reviews, 11(2), 143-172.
  • Campbell, J. Y., Lo, A. W., & MacKinlay, A. C. (1997). The Econometrics of Financial Markets. Princeton University Press. Ch. 2.
  • Engle, R. F. (1982). Autoregressive conditional heteroscedasticity with estimates of the variance of United Kingdom inflation. Econometrica, 50(4), 987-1007.
  • Engle, R. F., & Bollerslev, T. (1986). Modelling the persistence of conditional variances. Econometric Reviews, 5(1), 1-50.
  • Hamilton, J. D. (1994). Time Series Analysis. Princeton University Press. Ch. 21.
  • Kupiec, P. H. (1995). Techniques for verifying the accuracy of risk measurement models. Journal of Derivatives, 3(2), 73-84.
  • Nelson, D. B. (1990). Stationarity and persistence in the GARCH(1,1) model. Econometric Theory, 6(3), 318-334.
  • Shephard, N., & Sheppard, K. (2010). Realising the future: Forecasting with high-frequency-based volatility (HEAVY) models. Journal of Applied Econometrics, 25(2), 197-231.
  • Taylor, S. J. (1986). Modelling Financial Time Series. Wiley.
  • Tsay, R. S. (2010). Analysis of Financial Time Series (3rd ed.). Wiley. Ch. 3.