1# Method registry (Tier A) — conventions, references, tolerances23Status legend: ✅ validated against the named reference on the committed fixtures (tests/reference) · 🧪 implemented,4reference comparison pending · 🧭 experimental · ✖ not implemented. "Tolerance" is the pass criterion of the test.56| Key | Definition | Inputs | Reference software & options | Tolerance | CPU | Metal | Status |7|---|---|---|---|---|---|---|---|8| `returns.log` / `returns.arith` | r_t = log(p_t/p_{t−1}) / p_t/p_{t−1}−1, within session; overnight = prev close → open; close-to-close daily | BarSeries (regular session) | numpy | exact (1e−15) | ✅ | n/a | ✅ |9| `calendar.xnys` | NYSE trading days 2000–2026 (rules + special closures), early closes 13:00, DST America/New_York | dates | exchange_calendars 4.13 XNYS | exact set equality (sessions, holidays, early closes 2000–2026) | ✅ | n/a | ✅ |10| `bars.validate` | OHLC consistency, positivity, grid alignment, session membership, coverage vs 391/211, price jumps > 25 % | BarSeries | FinData `/market/sessions` semantics | counts | ✅ | n/a | ✅ (synthetic) |11| `bars.aggregate` | bins anchored at the session open (09:30 regular / 04:00 extended), the 16:00 closing print is its own bin, no empty bins, OHLC/sum | BarSeries | FinData derived 5m | exact OHLCV: extended policy 280/280 bars (AAPL 2024-11-25…29); regular policy differs only in the closing bin (FinData adds 16:01–16:04) | ✅ | n/a | ✅ (live 2026-11-02) |12| `realized.rv` | Σ r² | returns CSR | highfrequency `rCov` (univariate) / numpy | 1e−12 rel (numpy) | ✅ | Phase 3 | ✅ |13| `realized.bpv` | μ₁⁻²·M/(M−1)·Σ|r_j||r_{j−1}| (finite-sample factor optional) | returns CSR | highfrequency `rBPCov` (makeReturns=FALSE, scaled) | 1e−12 rel (numpy); R comparison Phase 4 | ✅ | Phase 3 | ✅ |14| `realized.rsv` | Σ r² 1{r<0}, Σ r² 1{r>0} | returns CSR | highfrequency `rSVar` | 1e−12 rel | ✅ | Phase 3 | ✅ |15| `realized.rq` | (M/3) Σ r⁴ | returns CSR | highfrequency `rQuar` | 1e−12 rel | ✅ | Phase 3 | ✅ |16| `realized.jump` | max(RV − BPV, 0) (proxy, no test statistic) | — | ABD 2007 | — | ✅ | — | ✅ |17| `realized.tripv` | μ_{4/3}⁻³·M/(M−2)·Σ Π|r|^{4/3} | returns CSR | highfrequency `rTPQuar` (differs: quarticity) — definition from BNS 2004 | 1e−12 (self) | ✅ | — | 🧪 |18| `realized.rcov` | Σ r_j r_j' on synchronized returns; corr from diag | T×N returns | highfrequency `rCov` | Phase 4 | ✅ | Phase 3 | 🧪 |19| `ols` / `wls` / `ridge` | Householder QR (col-pivoting), SVD fallback, ridge by augmentation; R², adj. R², leverage | X (n×k), y | statsmodels 0.15 OLS/WLS | 1e−10 rel (coef), 1e−9 (SE) | ✅ | sufficient stats Phase 3 | ✅ |20| `cov.classical` | s² (X'X)⁻¹, s² = RSS/(n−k) | — | statsmodels nonrobust | 1e−9 | ✅ | — | ✅ |21| `cov.hc0..hc3` | White sandwich; HC1 n/(n−k); HC2 1/(1−h); HC3 1/(1−h)² | — | statsmodels HC0–HC3 | 1e−9 | ✅ | — | ✅ |22| `cov.hac_bartlett` | Newey–West with Bartlett weights, L given or ⌊4(n/100)^{2/9}⌋, no small-sample correction | — | statsmodels HAC (maxlags=L, use_correction=False) | 1e−9 | ✅ | — | ✅ |23| `cov.cluster` | one-way CGM with G/(G−1)·(n−1)/(n−k) | cluster ids | statsmodels cluster (default correction) | 1e−9 | ✅ | — | ✅ |24| `inference.t` | two-sided p from t(df_resid) (regularised incomplete beta); df ≤ 0 → normal | — | scipy.stats.t | 1e−12 | ✅ | — | ✅ |25| `ols.rolling` | window-by-window QR; step parameter | X, y | statsmodels RollingOLS | self-consistency test; Phase 4 vs statsmodels | ✅ | Phase 3 | 🧪 |26| `har.*` | HAR-RV, log-HAR, HAR-X, HARQ (BPQ 2016): RV_{t+h} regressed on RV_t, mean(RV_{t−4..t}), mean(RV_{t−21..t}) [, √RQ_t·RV_t]; causal lags; h ∈ {1,5,22} with overlapping targets → HAC(h−1 lags minimum) | daily RV panel | highfrequency `HARmodel`, statsmodels | Phase 4 | Phase 4 | Phase 4 | ✖ (Phase 4) |27| `garch.garch.gaussian` | σ²_t = ω + α ε²_{t−1} + β σ²_{t−1}; σ²_0 = sample variance of ε; constraints ω>0, α,β≥0, α+β<1 | returns | arch 8.0 `arch_model(vol="GARCH", rescale=False)` (backcast initialisation ≠ ours), rugarch (Phase 4) | loglik 5e−4 rel; params 5 % rel + 0.01 abs; forecasts 5 % | ✅ | likelihood batch Phase 3 | ✅ |28| `garch.gjr.*` | + γ 1{ε<0} ε²; α+γ ≥ 0; α+β+γ/2 < 1 | returns | arch GJR (o=1) | same | ✅ | — | ✅ |29| `garch.egarch.*` | ln σ²_t = ω + α(|z|−E|z|) + γ z + β ln σ²_{t−1}; |β|<1; h>1 forecasts by simulation (20 000 paths, seeded) | returns | arch EGARCH | same (params); forecasts h>1 not compared | ✅ | — | ✅ |30| `garch.*.student_t` | standardized t, ν ∈ (2.05, 500) (arch bounds); E|z| via lgamma | returns | arch dist="t" | same; ν skipped when > 100 (unidentified) | ✅ | — | ✅ |31| `garch.cov` | QMLE sandwich H⁻¹ OPG H⁻¹ (Bollerslev–Wooldridge 1992), Hessian, OPG — numerical derivatives | — | arch robust/classic | Phase 4 (SE comparison) | ✅ | — | 🧪 |32| `bootstrap.stationary` / `circular` | Politis–Romano 1994 / circular block; replica generation + statistic | series | arch.bootstrap | Phase 4 | Phase 4 | Phase 3/4 | ✖ |3334Conventions that differ from references and are **documented, not hidden**:351. GARCH initial variance: RAID uses the sample variance of ε; `arch` uses a backcast (exponentially weighted) and36 `rugarch` the sample variance by default — hence the 5e−4 log-likelihood tolerance. A `backcast` option is planned so37 that the comparison can be made exact (Phase 4).382. BPV finite-sample factor M/(M−1): on by default (as in `highfrequency` when scaling by `makeReturns`); can be off.393. HAC default lag ⌊4(n/100)^{2/9}⌋ is a rule of thumb (Newey–West 1994 style); the paper always states L explicitly.404. Student-t ν bounds (2.05, 500) follow `arch`; ν at the upper bound triggers a warning (Gaussian data).41