Model card — cgarch11 (Component GARCH, Engle–Lee)
1. Identity
- model_id:
cgarch11· family: component · tier: A · status: implemented · impl: custom (src/wp46/models/custom.py::CGARCH11) - Label: Component GARCH (Engle-Lee) · distributions: normal, t, ged, skewt
- Seminal citation:
engle1999long("A long-run and short-run component model of stock return volatility", Engle & Lee 1999) - Other references:
engle2008spline(deterministic low-frequency component, out of scope),engle2013stock(GARCH-MIDAS, unsupported),ding1996modeling; literature-matrix caveat #5 (two equivalent parameterisations: Engle–Lee vs rugarchcsGARCH; forecasts coincide, constraints written differently).
2. Definition
$$r_t = \mu + \varepsilon_t,\ \varepsilon_t = \sigma_t z_t,$$
$$q_t = \omega + \rho,q_{t-1} + \phi,(\varepsilon_{t-1}^2 - \sigma_{t-1}^2),\qquad \sigma_t^2 = q_t + \alpha,(\varepsilon_{t-1}^2 - q_{t-1}) + \beta,(\sigma_{t-1}^2 - q_{t-1}) ,$$
rec_cgarch with $q_0 = \sigma_0^2 = s_0$ (backcast) and floors $q_t, \sigma_t^2 \ge 10^{-12}$. Permanent component $q_t$ (unconditional level $\omega/(1-\rho)$), transitory component $\sigma_t^2 - q_t$ with persistence $\alpha + \beta$. Innovations: normal, t, GED, Hansen skew-t.
3. Parameter space and admissibility
- Parameters:
mu, omega, rho, phi, alpha, beta(+ distribution). - Reparameterisation: $\omega = e^{\theta_0}$, $\rho = \sigma(\theta_1)$, $\alpha + \beta = \rho,\sigma(\theta_2)$ (so $\alpha+\beta < \rho$), $\alpha = (\alpha+\beta),\sigma(\theta_3)$, $\phi = \min(\alpha, \beta),\sigma(\theta_4)$ (so $0 < \phi < \min(\alpha,\beta)$).
- Admissibility flag: $\omega > 0$, $0 < \alpha + \beta < \rho < 1$, $0 < \phi < \min(\alpha, \beta)$ — Engle & Lee's sufficient conditions for positivity and stationarity as stated in the class docstring (the code enforces $\phi < \min(\alpha,\beta)$, i.e. both $\beta > \phi$ and $\alpha > \phi$).
4. Nesting and relations
Reduces to GARCH(1,1) when the transitory component vanishes; on the GJR-t cross-check fixture the CGARCH optimum has the same log-likelihood as GARCH(1,1) to 1e-4 (−3379.4617 vs −3379.4618), i.e. the component structure is not identified on data without it. Reduced form is a restricted GARCH(2,2). Related to figarch11 (long memory via two components) and to garch_midas (unsupported).
5. Estimation
Custom MLE (CustomModel.fit): L-BFGS-B on θ from three starts (ω, ρ, φ, α, β) ∈ {(0.01v, 0.99, 0.02, 0.05, 0.85), (0.005v, 0.995, 0.03, 0.08, 0.80), (0.02v, 0.98, 0.01, 0.04, 0.90)}, Nelder–Mead polish on failure; μ start = sample mean; backcast $s_0$ arch-style (used for both $q_0$ and $\sigma_0^2$). Point estimates only.
6. Forecasting
CGARCH11.step_forecast re-runs the recursion with fixed parameters, then
$$\hat q_{t+1} = \omega + \rho q_t + \phi(\varepsilon_t^2 - \sigma_t^2),\quad \hat\sigma^2_{t+1|t} = \hat q_{t+1} + \alpha(\varepsilon_t^2 - q_t) + \beta(\sigma_t^2 - q_t),$$
$$\hat q_{t+k} = \omega + \rho,\hat q_{t+k-1},\qquad (\hat\sigma^2 - \hat q){t+k} = (\alpha+\beta),(\hat\sigma^2 - \hat q){t+k-1},\qquad \hat\sigma^2_{t+k|t} = \max(\hat q_{t+k} + (\hat\sigma^2-\hat q){t+k},\ 10^{-12}),$$
exact under $E[\varepsilon{t+j}^2 - \sigma_{t+j}^2 \mid \mathcal F_t] = 0$. Cumulative = sum over k ≤ h. Method: analytic.
7. Implementation
src/wp46/models/custom.py::CGARCH11(numbarec_cgarch).- Cross-check (
results/metrics/rugarch_crosscheck.json, rugarchcsGARCH, t): −3379.4617 (ours) vs −3379.7619 (rugarch), difference +0.3002 (ours higher — rugarch converged to a lower optimum on the fixture). - Tests:
tests/replication/test_rugarch.py(assert ours ≥ rugarch − 1);tests/unit/test_custom_models.py::test_nesting_and_admissibility[CGARCH11],test_no_lookahead_in_forecasts. No simulation-recovery test for CGARCH.
8. Known limitations / failure modes
Weak identification of the two components when $\rho \approx \alpha + \beta$ (likelihood ridge; the sigmoid chain keeps $\alpha+\beta < \rho$ but the optimum can sit at $\phi \to 0$, i.e. GARCH(1,1)); ρ very close to 1 makes the permanent component a near-random walk; the 1e-12 floors mask negativity silently; the sufficient constraints exclude admissible parameter sets (literature-matrix caveat #5).
9. Computational footprint
Analytic; 6–8 parameters; two coupled recursions. Not in the pilot; cost order of nagarch11.
10. Literature expectations
engle1999long report better long-horizon fit for the component model on S&P 500; hansen2005forecast do not single it out; H4 (persistence structure) predicts gains, if any, at h = 22 and no gain at h = 1. The matrix groups it with FIGARCH and MS-GARCH as "persistence structure" models.