# 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.