Skip to main content

ARCH / GARCH — Volatility models

ARCH/GARCH model time-varying conditional variance — the volatility clustering phenomenon (periods of high volatility follow high volatility) that is pervasive in financial series (stock returns, exchange rates). Instead of assuming constant error variance, they let variance depend on the past.

When to use

Use when a series (usually returns) exhibits volatility clustering and you want to model/forecast risk (volatility). Often combined: mean by ARIMA + variance by GARCH.


Model specification

GARCH(1,1) for the conditional variance σt2\sigma_t^2:

σt2=ω+αεt12+βσt12\sigma_t^2 = \omega + \alpha \, \varepsilon_{t-1}^2 + \beta \, \sigma_{t-1}^2
  • α\alpha (ARCH): reaction to the latest shock; β\beta (GARCH): persistence of volatility.
  • ARCH(q) is the case β=0\beta = 0. Stationarity condition: α+β<1\alpha + \beta < 1.

Running in EcoLab

  1. Modeling module → Univariate time series family → ARCH/GARCH.
  2. Choose the series (returns); declare the order (p,q)(p,q) and the mean equation (e.g. ARMA).
  3. Run; view the estimated σ^t\hat{\sigma}_t + volatility forecast; export the replication code.

Replication code

* --- GARCH(1,1) ---
* Estimate GARCH(1,1) for return series
arch ret, arch(1) garch(1)

* Conditional variance
predict sigma2, variance

* Plot conditional volatility
tsline sigma2, title("Conditional Variance - GARCH(1,1)")

Limitations

  • Standard GARCH is symmetric (good/bad news have equal effect) ⇒ use EGARCH for the leverage effect.
  • Sensitive to the error distribution (normal vs Student-t).

Video tutorial

Video Tutorial: Running GARCH in EcoLab

See also