SPB Git

spb/wp46_uqo

Public
4.5 KB

# Model card — gas_t11 (GAS-t(1,1) / Beta-t-GARCH, score-driven non-GARCH comparator)

# 1. Identity

  • model_id: gas_t11 · family: score-driven (non-GARCH) · tier: A · status: implemented · impl: custom (src/wp46/models/custom.py::GAST11)
  • Label: GAS-t(1,1) / Beta-t-GARCH (non-GARCH comparator) · distributions: t only
  • Seminal citation: creal2013generalized
  • Other references: harvey2013dynamic, harvey2008beta (Beta-t-GARCH / DCS), harvey2014egarch (Beta-t-EGARCH, not implemented), blasques2015information (information-theoretic optimality of score updates), ardia2019generalized (GAS R package, not run).

# 2. Definition

$$r_t = \mu + \varepsilon_t,\ \varepsilon_t = \sqrt{f_t},z_t,\ z_t \sim t_\nu\ \text{(unit variance)},\qquad f_t = \omega + \alpha,s_{t-1} + \beta,f_{t-1},$$ $$s_t = \frac{\nu+3}{\nu}\left[\frac{(\nu+1),f_t,\varepsilon_t^2}{(\nu-2),f_t + \varepsilon_t^2} - f_t\right]$$ — the score of the Student-t log-density with respect to the variance $f_t$ scaled by the inverse Fisher information ($\mathcal I_t^{-1} = 2f_t^2(\nu+3)/\nu$), i.e. Creal–Koopman–Lucas GAS(1,1) in the variance parameterisation; the update is bounded in $\varepsilon_t^2$ (outlier-robust). rec_gas_t: $f_0 = s_0$ (backcast), floor $f_t \ge 10^{-12}$; if ν > 10⁶ the score degenerates to $\varepsilon_t^2 - f_t$ (GARCH). Innovation law: standardised Student-t only (the model is defined by its density).

# 3. Parameter space and admissibility

  • Parameters: mu, omega, alpha, beta, nu.
  • Reparameterisation: $\omega = e^{\theta_0}$, $\alpha = e^{\theta_1}$ (any positive value), $\beta = \sigma(\theta_2) \in (0,1)$, $\nu = 2.05 + e^{\theta_3}$.
  • Admissibility flag: $\omega > 0$, $\alpha \ge 0$, $0 \le \beta < 1$ (stationarity of the linear recursion; $E[s_t] = 0$ under correct specification).

# 4. Nesting and relations

Not a GARCH model (updates by the scaled score). As $\nu \to \infty$, $s_t = \varepsilon_t^2 - f_t$ and $f_t = \omega + \alpha\varepsilon_{t-1}^2 + (\beta - \alpha) f_{t-1}$: GARCH(1,1) with $\alpha_G = \alpha$, $\beta_G = \beta - \alpha$. Equivalent to Harvey's Beta-t-GARCH up to parameterisation (variance level, not log). The Beta-t-EGARCH (log-variance, leverage) is not in the registry.

# 5. Estimation

Custom MLE (GAST11._negll): $-\sum_t[\log f_{t_\nu}(z_t) - \tfrac12\log f_t]$; L-BFGS-B on θ (maxiter 2000) from three starts (ω, α, β) ∈ {(0.03v, 0.05, 0.97), (0.01v, 0.08, 0.99), (0.1v, 0.03, 0.9)}, ν start 6, Nelder–Mead polish on failure; μ start = sample mean; backcast $f_0$ arch-style. Point estimates only. (Note: GAST11.sigma2 uses an attribute _nu set only by filter; fit/forecast bypass it through their own code paths.)

# 6. Forecasting

GAST11.forecast: $\hat f_{t+1|t} = \omega + \alpha s_t + \beta f_t$ with $s_t$ computed from the last observation; $\hat f_{t+k|t} = \omega + \beta,\hat f_{t+k-1|t}$ for $k \ge 2$ (uses $E[s_{t+j}\mid\mathcal F_t] = 0$; exact if the t-density is correctly specified). Cumulative = sum over k ≤ h. Method: analytic.

# 7. Implementation

  • src/wp46/models/custom.py::GAST11 (numba rec_gas_t).
  • Cross-check: none against a library (GAS R package not run; no arch/rugarch counterpart; not in results/metrics/rugarch_crosscheck.json).
  • Tests: tests/unit/test_custom_models.py::test_nesting_and_admissibility[GAST11] (converged, admissible, positive finite 22-step forecasts; excluded from the GARCH-nesting log-likelihood assertion). No simulation-recovery test.

# 8. Known limitations / failure modes

β near 1 (near-integrated score recursion) and small ν give very different dynamics from GARCH (bounded news impact); when the data are close to Gaussian the model is only identified through the GARCH limit and ν runs to large values; the zero-mean score assumption makes multi-step forecasts revert at rate β (faster than GARCH's α+β for equal fits); only the t law is available (no skewness).

# 9. Computational footprint

Analytic; 5 parameters; one numba recursion with a rational function per step. Not in the pilot; cost order of garch11 custom.

# 10. Literature expectations

creal2013generalized and harvey2013dynamic motivate the score update by robustness to outliers; blasques2015information show information-theoretic optimality of score updates. The literature matrix labels it "non-GARCH adjacent". Expectation: close to GARCH(1,1)-t at h = 1 with better behaviour after extreme returns (COVID/tariff episodes, H6); no claim of superiority at h = 22.

Files · main
Menu

Theme