SPB Git

spb/wp46_uqo

Public
7.2 KB

# Model card — fiaparch11 (FIAPARCH(1,d,1), fractionally integrated APARCH) — post-registration extension

# 1. Identity

  • model_id: fiaparch11 · family: fractional · tier: A · status: extension (E-01, added 2026-11-09 after the protocol freeze; scored with the frozen protocol, reported separately as exploratory) · impl: custom (src/wp46/models/extensions.py::FIAPARCH11)
  • Label: FIAPARCH(1,d,1) · distributions: normal, t (registry dists; the class also accepts ged/skewt but those pairs are not scored)
  • Seminal citation: tse1998conditional
  • Other references: ding1993long (APARCH, scored as aparch11), baillie1996fractionally (FIGARCH, the δ = 2, γ = 0 case, scored as figarch11), conrad2006inequality (positivity of FIGARCH weights), davidson2004moment (HYGARCH, same weight machinery), sheppard2025arch (truncation convention). This card replaces the former unsupported stub.

# 2. Definition (as coded)

$$r_t = \mu + \varepsilon_t,\quad \varepsilon_t = \sigma_t z_t,\qquad \sigma_t^{\delta} = \frac{\omega}{1-\beta} + \sum_{k=1}^{1000}\lambda_k,\big(|\varepsilon_{t-k}| - \gamma,\varepsilon_{t-k}\big)^{\delta},\qquad \lambda(L) = 1 - (1-\beta L)^{-1}(1-\phi L)(1-L)^{d},$$ i.e. tse1998conditional written as $(1-\beta L)\sigma_t^\delta = \omega + [(1-\beta L) - (1-\phi L)(1-L)^d],(|\varepsilon_t| - \gamma\varepsilon_t)^\delta$ and expanded into the truncated ARCH(∞) form with the FIGARCH weights of figarch_weights(d, φ, β, amp = 1, 1000) (hygarch11.md §2). Recursion rec_fiaparch: pre-sample $(|\varepsilon| - \gamma\varepsilon)^\delta$ replaced by $s_0^{\delta/2}$ (the backcast raised to δ/2, as arch's APARCH backcast_transform) for all 1,000 lags; $\sigma_t^\delta$ floored at 1e-12; the variance returned is $(\sigma_t^\delta)^{2/\delta}$. Innovations: standardised normal or Student-t.

# 3. Parameter space and admissibility

  • Parameters: mu, omega, d, phi, beta, gamma, delta (+ nu for t).
  • Reparameterisation: $\omega = e^{\theta_0}$; $d, \phi, \beta = \sigma(\cdot) \in (0,1)$; $\gamma = 0.99\tanh(\theta_4) \in (-0.99, 0.99)$; $\delta = 0.5 + 3.5,\sigma(\theta_5) \in (0.5, 4)$.
  • Admissibility: $\omega > 0$ and all 1,000 truncated weights $\lambda_k \ge -10^{-10}$ (numerical check; a negative weight inside the likelihood returns the 1e10 penalty, a hard wall — see hygarch11.md §3). Positivity of $\sigma_t^\delta$ then follows from $(|\varepsilon| - \gamma\varepsilon)^\delta \ge 0$ for $|\gamma| < 1$. No stationarity flag: like FIGARCH, the process has an infinite unconditional variance for d > 0.

# 4. Nesting and relations

  • δ = 2, γ = 0: FIGARCH(1,d,1) exactly (same weights; figarch11 is the registry twin) — inequality-tested, §7.
  • d → 0: APARCH(1,1) with $\alpha = \phi - \beta$ (aparch11; the limit is excluded by $d = \sigma(\theta)$).
  • δ = 1: a fractionally integrated TARCH/AVGARCH (tarch11, avgarch11 are the d = 0 analogues); γ > 0 raises the response to negative shocks (ding1993long sign convention).
  • hygarch11 shares the weight machinery (with the amplitude parameter); fiegarch11 is the log-variance analogue.

# 5. Estimation

Shared custom MLE (CustomModel.fit): L-BFGS-B (maxiter 2000, ftol 1e-10, gtol 1e-6) from up to three starts (ω, d, φ, β, γ, δ) ∈ {(0.1v, 0.4, 0.2, 0.5, 0.1, 2.0), (0.1v^{0.75}, 0.5, 0.1, 0.4, 0.2, 1.5), (0.2v, 0.3, 0.3, 0.6, 0.0, 2.0)}, v = sample variance of the demeaned window; μ start = sample mean; ν start 6; stop after the second start if converged; Nelder–Mead polish (maxiter 4000) + final L-BFGS-B if not converged or stalled; A-05 floor vs GARCH(1,1) with the same law (−50 units → two perturbed restarts → degenerate flag). Backcast $s_0$ = exponentially weighted mean (75 lags, 0.94) of the first squared demeaned returns. Each likelihood evaluation recomputes the 1,000 weights and the O(T × 1000) convolution of the power-transformed innovations. Point estimates only.

# 6. Forecasting

FIAPARCH11.step_forecast (method simulation): future $(|\varepsilon| - \gamma\varepsilon)^\delta$ are not linear in $\sigma^2$, so 2,000 paths are simulated: each path keeps the last 1,000 transformed innovations (pre-window lags padded with $\sigma_0^{\delta}$), computes $\sigma^\delta_{t+k} = \omega/(1-\beta) + \sum_i\lambda_i g_{t+k-i}$ (floor 1e-12), $\sigma^2 = (\sigma^\delta)^{2/\delta}$, draws $z$ from the fitted law (rvs, seeded), forms $\varepsilon = \sigma z$ and shifts $(|\varepsilon| - \gamma\varepsilon)^\delta$ into the history; forecast = cross-path mean of $\sigma^2_{t+k}$ (the k = 1 value is deterministic). Cumulative h-day variance = sum of the first h steps. Same treatment as aparch11 (arch simulates), extended to the 1,000-lag memory.

# 7. Implementation and verification

  • src/wp46/models/extensions.py::FIAPARCH11, figarch_weights, numba rec_fiaparch; dispatched through EXTENSIONS.
  • Tests (tests/unit/test_extensions.py::test_fiaparch_nests_figarch_and_stgarch_nests_garch): the FIAPARCH-t fit on the simulated GARCH-t fixture converges with log-likelihood ≥ arch's FIGARCH-t log-likelihood − 1.0 (nesting inequality only; no evaluation of the FIAPARCH likelihood at the FIGARCH point — the amp = 1 identity is tested for hygarch11 only, and FIAPARCH(δ = 2, γ = 0) uses the same weights and recursion up to the power transform). Not covered by test_no_lookahead_extensions.
  • No external-package cross-check (FIAPARCH is not in arch 8.0.0 — arch's FIGARCH(power=…) is a symmetric power FIGARCH — nor in rugarch 1.5-6), no simulation-recovery test. CLAUDE.md rule 6 is not met — hence extension status.

# 8. Known limitations / failure modes

Post-registration, exploratory. Seven to eight parameters with a 1,000-lag memory in a 1,000-day window: δ, γ, d and ω trade off (the literature matrix calls it "heavy to estimate"); the positivity wall makes the likelihood discontinuous; the pre-sample backcast $s_0^{\delta/2}$ implicitly assumes $E(|z| - \gamma z)^\delta = 1$ (as arch's APARCH); δ ∈ (0.5, 4) and |γ| < 0.99 are imposed by construction (literature: δ > 0, |γ| < 1); d, φ, β ∈ (0,1) exclude the APARCH/GARCH limits; simulation noise at h ≥ 2; infinite unconditional variance makes long-horizon forecasts grow slowly without bound; the FIGARCH arch-vs-rugarch gap of −1.47 (D-14) is inherited by the weight convention.

# 9. Computational footprint

O(T × 1000) per likelihood evaluation plus the O(1000) weight construction and a power transform per observation; simulation forecasts are O(2000 × 22 × 1000) per origin — qualitatively 10–30× slower than GARCH(1,1) for the fit and the most expensive forecast of the extension set. Not timed in the pilot.

# 10. Literature expectations

tse1998conditional applied FIAPARCH to the yen–dollar rate (long memory and asymmetry jointly significant); ding1993long motivate the power transform; conrad2006inequality and lamoureux1990persistence/hillebrand2005neglecting qualify long-memory evidence; hansen2005forecast find no gain of FIGARCH-type models over GARCH(1,1) at h = 1. Under H1 and H4 the expectation is a gain limited to equity instruments at h = 22, if any, and under H5 one of the highest failure rates in the benchmark.

Files · main
Menu

Theme