1# RESEARCH_STATUS.md — RAID (UQO WP 40)23Last update: 2026-11-02 (Phase 5 passed). Legend: ✅ verified by tests/artifacts · 🧪 implemented, validation pending ·4🧭 experimental · ⛔ blocked · ⏳ planned · ✖ not implemented (deliberately).56## Phases7| Phase | Gate | Status | Evidence |8|---|---|---|---|9| 0 Audit | scope & feasibility memo | ✅ passed 2026-11-02 | `docs/audit.md`, `docs/capabilities.md`, `docs/novelty_matrix.md`, `docs/risks.md`, `docs/PROGRESS.md` |10| 1 Foundation | clean build + tests + docs | ✅ passed 2026-11-02 | `ctest` 26/26 (314 assertions), `pytest` 7/7, `docs/PROGRESS.md` Phase 1 |11| 2 Data | offline synthetic tests + opt-in live tests | ✅ passed 2026-11-02 | offline `[findata]` 4/4, live `[live]` 2/2 (60 assertions), `docs/operations/findata.md` |12| 3 Numerical primitives | accuracy + measured break-even | ✅ passed 2026-11-02 | `[metal]` 6 cases / 6 411 assertions; `experiments/results/bench_primitives_summary.json` (Metal wins: fused realized ≥ 39 k elements up to 3.4×, GARCH NLL P=64 up to 7.9×; CPU wins: rolling sums, GARCH P=1, small panels) |13| 4 Econometrics (Tier A) | references + Monte Carlo | ✅ passed 2026-11-02 | R (highfrequency/rugarch) + statsmodels/arch references, `tests/simulation` Monte Carlo, `docs/methods/registry.md` |14| 5 Extensions (Tier B) | per-feature specs + tests | ✅ passed 2026-11-02 (VAR/GFEVD/DY/LW only) | `tests/reference/test_var_reference.cpp` 184 assertions vs statsmodels |15| 6 Benchmarking E1–E7 | every claim traceable | ⏳ | — |16| 7 Manuscript | reproducible build, no placeholders | ⏳ | — |17| 8 Independent review | clean-checkout reproduction | ⏳ | — |1819## Methods registry (summary; full entries in `docs/methods/registry.md` from Phase 4)20| Method | Tier | CPU FP64 | Metal FP32 | Reference software | Status |21|---|---|---|---|---|---|22| returns (log/arith), lag/lead, rolling windows, calendar-aware aggregation | A | ✅ | ⏳ (Phase 3) | numpy; exchange_calendars (calendar exact 2000–2026) | ✅ CPU |23| RV, BPV, RSV±, RQ, jump proxy, TriPV, rCov/rCorr | A | ✅ (numpy truth 1e−12) | ✅ fused kernel 1e−6 vs FP64 | highfrequency 1.0.3 (R comparison Phase 4) | ✅ CPU |24| OLS/WLS/ridge, HC0–3, HAC, cluster, rolling OLS | A | ✅ (statsmodels 1e−9) | ✅ sufficient statistics 1e−6 (k ≤ 8) | statsmodels 0.15, scipy 1.18 | ✅ CPU |25| HAR-RV, log-HAR, HAR-X, HARQ, rolling, batched | A | ✅ (highfrequency 1e−8, statsmodels 1e−9) | ✅ batched sufficient statistics | highfrequency 1.0.3, statsmodels 0.15 | ✅ |26| GARCH(1,1), GJR, EGARCH (N, t), QMLE/Hessian/OPG SE, forecasts | A | ✅ (arch 8.0: loglik 5e−4, params 5 %) | ✅ batched NLL 2e−5 (grids) | arch 8.0 ✅, rugarch 1.5.6 (Phase 4) | ✅ CPU |27| Bootstrap (stationary / circular / iid), Monte Carlo harness | A | ✅ (theory + MC coverage) | ⏳ GPU replicas (E5) | theory (Politis–Romano) | ✅ |28| VAR(p), FEVD, GFEVD, Diebold–Yilmaz (static, rolling), Ledoit–Wolf | B | ✅ (statsmodels 1e−9) | ⏳ (E4: batched covariance inputs) | statsmodels 0.15 | ✅ |29| Realized GARCH, HEAVY, DCC, GARCH-MIDAS, FIGARCH, BVAR/VECM, Kalman, change-point | B | ✖ not implemented (deliberate: no experiment in E1–E7 needs them) | ✖ | — | ✖ |30| Pre-averaging, realized kernels, MSRV, BNS test | C | ✖ (1-min bars) | | highfrequency | 🧭 only if validated |31| Hawkes, order-flow, LOB methods | C | ✖ | ✖ | — | ✖ no admissible data (bars only) |3233## Blockers34- None at Phase 0. Seven cluster nodes unreachable (m2m16, M2M32, M2M32b, M4M36, m4ma, m4mb, m4mc): E7 reports them as35 not tested unless they come back.3637## Next safe action38Phase 6: experiments E1–E7 (configs in `experiments/configs/`, drivers in `benchmarks/` and `experiments/scripts/`,39raw records + manifests under `experiments/results/`), starting with the E7 bundle for cluster nodes and the FinData40universe/export for E1–E4.41