Model card — rm2006 (RiskMetrics 2006)
1. Identity
- model_id:
rm2006· family: baseline · tier: A · status: implemented · impl: arch 8.0.0 (RiskMetrics2006(), default τ₀ = 1560, τ₁ = 4, k_max = 14, ρ = √2) - Label: RiskMetrics 2006 · distributions: normal
- Seminal citation: registry gives
zumbach2007riskmetrics, which is not a key ofpaper/references.bib; the verified key iszumbach2009riskmetrics(SSRN posting of the 2007 RiskMetrics Group document) — see_discrepancies.md. - Other references:
jpmorgan1996riskmetrics(predecessor),ding1996modeling(long-memory motivation).
2. Definition (as implemented by arch)
$$\sigma_t^2 = \sum_{k=1}^{14} w_k,\sigma_{k,t}^2,\qquad \sigma_{k,t}^2 = \mu_k,\sigma_{k,t-1}^2 + (1-\mu_k),\varepsilon_{t-1}^2,$$ $$\tau_k = \tau_1\rho^{k-1},\quad \mu_k = e^{-1/\tau_k},\quad w_k \propto 1 - \frac{\ln\tau_k}{\ln\tau_0},\ \ \sum_k w_k = 1,\qquad \tau_0 = 1560,\ \tau_1 = 4,\ \rho = \sqrt2 .$$ Each component is initialised with its own backcast (exponentially weighted mean of the first squared residuals, weights $\mu_k^i$ up to the lag where $\mu_k^i < 0.01$). Mean: $r_t = \mu + \varepsilon_t$; innovations N(0,1).
3. Parameter space and admissibility
No estimated volatility parameter (only mu). The multi-scale kernel has unit total persistence ($\sum_k w_k[\mu_k + (1-\mu_k)] = 1$): integrated, no unconditional variance. Admissibility flag always True.
4. Nesting and relations
Weighted sum of 14 EWMA (IGARCH(1,1), ω = 0) components with decays from τ = 4 days to τ = 4·√2¹³ ≈ 362 days; ewma094 is the single-component special case (λ = 0.94 ↔ τ ≈ 16.2 days). Long-memory-like kernel without estimation (literature matrix §a.1), related in spirit to FIGARCH/HAR hyperbolic weights.
5. Estimation
arch ConstantMean + RiskMetrics2006() + Normal; SLSQP over μ only (fit(disp="off", options={"maxiter": 1000}), ≤ 2 restarts, see ArchModel.fit); per-component backcasts as in §2. Only point estimates are used; filtering with am.fix(params).
6. Forecasting
arch _analytic_forecast for RiskMetrics2006 repeats the one-step forecast at all horizons: $\hat\sigma^2_{t+k|t} = \hat\sigma^2_{t+1|t} = \sum_k w_k,\sigma^2_{k,t+1}$, $k = 1..22$ (flat); cumulative $h$-day variance $= h,\hat\sigma^2_{t+1|t}$. Method: analytic. Note: the original RM2006 methodology (zumbach2009riskmetrics) derives horizon-dependent forecasts from the multi-scale kernel; arch 8.0.0 does not implement them (recorded in _discrepancies.md).
7. Implementation
src/wp46/models/arch_models.py(SPECS["rm2006"],fixed=True), arch 8.0.0 (sheppard2025arch).- Cross-check: none (not in the rugarch fixture; rugarch has no RM2006).
- Tests: none dedicated; not in the pilot.
8. Known limitations / failure modes
No estimation risk, but fixed weights calibrated by RiskMetrics Group on pre-2007 data; integrated (flat) term structure in this implementation; sensitive to the backcast in short samples (components with τ up to 362 days need long histories — the 1,000-day window covers ≈ 2.8 τ_max).
9. Computational footprint
14 EWMA recursions per likelihood evaluation, one optimised parameter; analytic forecasts. Cheap. No pilot timing.
10. Literature expectations
Not covered by hansen2005forecast (2005 predates RM2006). The literature matrix lists RM2006 as an optional multi-horizon baseline whose long-memory kernel should behave like a non-estimated FIGARCH/HAR; expectation: competitive with GARCH(1,1) at h = 1, with the flat term structure limiting h = 22 performance.