SPB Git

Repository Public Research preview

nagarch11.md 4.5 KB 42 lines markdown

1# Model card — `nagarch11` (NAGARCH(1,1), Engle–Ng nonlinear asymmetric GARCH)23## 1. Identity4- **model_id:** `nagarch11` · **family:** asymmetric · **tier:** A · **status:** implemented · **impl:** custom (`src/wp46/models/custom.py::NAGARCH11`)5- **Label:** NAGARCH(1,1) (Engle-Ng) · **distributions:** normal, t, ged, skewt6- **Seminal citation:** `engle1993measuring`7- **Other references:** `higgins1992class` (NARCH — a *different* "NGARCH", literature-matrix caveat #3), `glosten1993relation`, `sentana1995quadratic` (QGARCH, the other shifted/linear-asymmetry form), `brownlees2011practical` (NGARCH in their comparison).89## 2. Definition10$$r_t = \mu + \varepsilon_t,\ \varepsilon_t = \sigma_t z_t,\qquad \sigma_t^2 = \omega + \alpha\big(\varepsilon_{t-1} - \theta\,\sigma_{t-1}\big)^2 + \beta\,\sigma_{t-1}^2 ,$$11`rec_nagarch` with $\sigma_0^2 = \omega + [\alpha(1+\theta^2) + \beta]\,s_0$ ($s_0$ = backcast). Equivalent to rugarch's fGARCH/NAGARCH $\sigma_t^2 = \omega + \alpha\sigma_{t-1}^2(z_{t-1} - \eta)^2 + \beta\sigma_{t-1}^2$ with $\eta = \theta$. Innovations: normal, t, GED, Hansen skew-t.1213## 3. Parameter space and admissibility14- Parameters: `mu, omega, alpha, theta, beta` (+ distribution).15- Reparameterisation: $\omega = e^{\theta_0}$; persistence $s = \alpha(1+\theta^2) + \beta = \sigma(\theta_1) \in (0,1)$; share $w = \alpha(1+\theta^2)/s = \sigma(\theta_2)$; $\theta$ unconstrained. Hence $\alpha = s w/(1+\theta^2)$, $\beta = s(1-w)$.16- Admissibility flag: $\omega > 0$, $\alpha, \beta \ge 0$, $\alpha(1+\theta^2) + \beta < 1$ (covariance stationarity under $E z = 0$, $E z^2 = 1$ — holds for all four laws, including Hansen's skew-t which is standardised to zero mean and unit variance).1718## 4. Nesting and relations19Nests `garch11` (θ = 0). News-impact curve = GARCH parabola shifted to the right by $\theta\sigma_{t-1}$ (asymmetry via a shift, not a kink as in `gjr11`); QGARCH is the linear-term version ($\gamma\varepsilon_{t-1}$ instead of the shift, same quadratic form with $\gamma = -2\alpha\theta\sigma_{t-1}$ varying over time).2021## 5. Estimation22Custom MLE (`CustomModel.fit`): L-BFGS-B on θ (maxiter 2000, ftol 1e-10, gtol 1e-6) from three starts (ω, α, θ, β) ∈ {(0.05v, 0.05, 0.5, 0.88), (0.02v, 0.08, 1.0, 0.85), (0.1v, 0.1, 0.0, 0.8)}, Nelder–Mead polish on failure; μ start = sample mean, ν/η/λ starts 6 / 1.5 / (6, −0.05); backcast $s_0$ = arch-style exponentially weighted mean of the first 75 squared demeaned returns. Point estimates only.2324## 6. Forecasting25`NAGARCH11.step_forecast`: $\hat\sigma^2_{t+1|t} = \omega + \alpha(\varepsilon_t - \theta\sigma_t)^2 + \beta\sigma_t^2$; for $k \ge 2$,26$$\hat\sigma^2_{t+k|t} = \omega + \big[\alpha(1+\theta^2) + \beta\big]\,\hat\sigma^2_{t+k-1|t},$$27exact because $E[(\varepsilon - \theta\sigma)^2 \mid \sigma^2] = \sigma^2(1 + \theta^2)$ when $E z = 0$, $E z^2 = 1$. Cumulative = sum over k ≤ h. Method: `analytic`.2829## 7. Implementation30- `src/wp46/models/custom.py::NAGARCH11` (numba `rec_nagarch`).31- Cross-check (`results/metrics/rugarch_crosscheck.json`, rugarch `fGARCH` submodel `NAGARCH`, t): −3373.3123 (ours) vs −3373.3505 (rugarch), **difference +0.0382**.32- Tests: `tests/replication/test_rugarch.py` (assert ours ≥ rugarch − 1); `tests/unit/test_custom_models.py::test_nesting_and_admissibility[NAGARCH11]` (log-likelihood ≥ GARCH(1,1) − 0.5, admissible, positive 22-step forecasts), `test_no_lookahead_in_forecasts`; `tests/simulation/test_recovery.py::test_nagarch_recovery` (T = 5,000, normal, θ = 0.8 recovered within 0.3, β within 0.05); pilot `nagarch11__t`: 207/207 refits `ok` on CL.3334## 8. Known limitations / failure modes35θ is weakly identified when α is small (the shift multiplies α); large |θ| with tiny α yields flat likelihoods and slow L-BFGS-B progress (pilot max fit time 0.17 s on CL vs median 0.009 s). Near-integrated persistence as in GARCH. The sigmoid reparameterisation cannot return exactly $s = 1$ (inadmissible optima can only arise from numerical failure).3637## 9. Computational footprint38Analytic; 5–7 parameters. Pilot median fit time per refit (t): 0.0089 s (CL), 0.0218 s (EURUSD).3940## 10. Literature expectations41`engle1993measuring` show the NAGARCH news-impact curve fits Japanese equity data better than GARCH; `brownlees2011practical` include NGARCH among the best performers on US equities; `hansen2005forecast` find leverage specifications superior on IBM only. Expectation: comparable to GJR/EGARCH at h = 1 on equities (H1); exact analytic multi-step forecasts are an advantage over the simulation-based asymmetric models at h = 22 (H5).42
Files main
Menu

Theme