Repository Public Research preview
1# Model card — `garchx_rv11` (GARCH-X(1,1) with the lagged realized measure)23## 1. Identity4- **model_id:** `garchx_rv11` · **family:** realized (Tier B) · **tier:** B · **status:** implemented · **impl:** custom (`src/wp46/models/custom.py::GARCHXRV11`, subclass of `HEAVY11`)5- **Label:** GARCH-X(1,1) with lagged realized measure · **distributions:** normal, t6- **Seminal citation:** `engle2002new` (GARCH-X with realized regressors, "New frontiers for ARCH models")7- **Other references:** `shephard2010realising` (HEAVY; the RM equation reused here), `hansen2012realized`, `bollerslev1986generalized`; rugarch `external.regressors` in the variance equation (literature matrix) — not run.89## 2. Definition10$$r_t = \mu + \varepsilon_t,\ \varepsilon_t = \sigma_t z_t,\qquad \sigma_t^2 = \omega + \alpha\,\varepsilon_{t-1}^2 + \gamma\,RM_{t-1} + \beta\,\sigma_{t-1}^2,$$11with the auxiliary HEAVY-RM equation $\mu_t = \omega_R + \alpha_R RM_{t-1} + \beta_R\mu_{t-1}$ used only to forecast $RM$ beyond t (the auxiliary equation is the code's choice; `engle2002new` does not specify it). `rec_garchx`: $\sigma_0^2 = s_0$ (backcast). Innovations: normal, t(ν).1213## 3. Parameter space and admissibility14- Parameters: `mu, omega, alpha, gamma, beta, omega_r, alpha_r, beta_r` (+ `nu`).15- Reparameterisation: $\omega = e^{\theta}$, $\alpha+\beta = \sigma(\theta)$, $\alpha = (\alpha+\beta)\sigma(\theta')$, $\gamma = e^{\theta}$ (positive, unbounded), $\omega_R = e^{\theta}$, $\alpha_R+\beta_R = \sigma(\theta)$, $\alpha_R = (\alpha_R+\beta_R)\sigma(\theta')$.16- Admissibility flag: $\omega > 0$, $\alpha, \gamma, \beta \ge 0$, $\alpha + \beta < 1$ (stationarity given a stationary RM), $\omega_R > 0$, $\alpha_R + \beta_R < 1$.1718## 4. Nesting and relations19Nests `garch11` (γ = 0) and HEAVY-r (α = 0: $\sigma_t^2 = \omega + \gamma RM_{t-1} + \beta\sigma_{t-1}^2$); the "matched-information" bridge between Tier A and Tier B in the design.2021## 5. Estimation22As `heavy11`: joint QL = return log-likelihood (normal/t) + multiplicative-error QL of the RM equation, one L-BFGS-B run (maxiter 2000) from three starts (ω, α, γ, β, ω_R, α_R, β_R) ∈ {(0.05 m, 0.03, 0.3, 0.6, 0.05 m, 0.4, 0.55), (0.1 m, 0.05, 0.2, 0.7, 0.1 m, 0.3, 0.6), (0.02 m, 0.1, 0.4, 0.45, 0.02 m, 0.5, 0.48)}, Nelder–Mead polish on failure; backcast $s_0$ arch-style; μ_0 of the RM equation = mean of the first 75 RM. Point estimates only; reported `loglik` is the joint QL.2324## 6. Forecasting25`GARCHXRV11.step_forecast`: $\hat\sigma^2_{t+1|t} = \omega + \alpha\varepsilon_t^2 + \gamma RM_t + \beta\sigma_t^2$, $\hat\mu_{t+1} = \omega_R + \alpha_R RM_t + \beta_R\mu_t$; for $k \ge 2$,26$$\hat\sigma^2_{t+k|t} = \omega + (\alpha+\beta)\,\hat\sigma^2_{t+k-1|t} + \gamma\,\hat\mu_{t+k-1},\qquad \hat\mu_{t+k} = \omega_R + (\alpha_R+\beta_R)\,\hat\mu_{t+k-1},$$27exact under $E[\varepsilon^2_{t+j}\mid\mathcal F_t] = \hat\sigma^2_{t+j|t}$ and the RM equation. Cumulative = sum over k ≤ h. Method: `analytic`.2829## 7. Implementation30- `src/wp46/models/custom.py::GARCHXRV11` (numba `rec_garchx`, `rec_heavy_r`).31- Cross-check: **none against a library** (not in `results/metrics/rugarch_crosscheck.json`).32- Tests: `tests/unit/test_custom_models.py::test_realized_models_fit_on_synthetic_measure` (converged, positive finite 22-step forecasts). No simulation-recovery test, no rugarch test (gap vs CLAUDE.md rule 6, recorded in `_discrepancies.md`).3334## 8. Known limitations / failure modes35α and γ compete for the same information (realized measure vs squared return): α often → 0, γ dominates (then the model is HEAVY-r); γ unbounded above; the sigmoid persistence $\alpha+\beta < 1$ ignores the extra persistence transmitted through the RM equation (the reduced-form persistence is larger); imputed $r^2$ on invalid sessions; the auxiliary RM forecast drives h = 22 results.3637## 9. Computational footprint38Analytic; 8–9 parameters; two recursions per evaluation. Not in the pilot.3940## 10. Literature expectations41`engle2002new` proposes realized regressors in GARCH; `shephard2010realising` show that once $RM_{t-1}$ is included the $\varepsilon^2$ term adds little (HEAVY-r); `hansen2012realized` find similar. Expectation: performance close to HEAVY at h = 1 (H3), with the information-set comparison to `garch11` being the design's main use of this model.42