WP46: D-06 crypto realized measures valid from 2022
3 changed files +5 −5
modified
docs/methodology_decisions.md
+1 −1
@@ -9,7 +9,7 @@ Each decision is dated, motivated, and tied to evidence. "Before freeze" = taken | ||
| 9 | 9 | | D-03 | 2026-11-09 | Realized measures: 1-min RV, 5-min calendar RV, subsampled 5-min RV (primary), bipower, semivariances, medRV; previous-tick sampling. | Liu, Patton & Sheppard (2015): 5-min RV is hard to beat; subsampling reduces grid dependence. | |
| 10 | 10 | | D-04 | 2026-11-09 | Primary proxy = subsampled 5-min RV + squared overnight return (full-day variance); secondary: r², RV1, RV5, BV, medRV, Hansen–Lunde scaled RV. | The models forecast the close-to-close variance; audit shows mean(RV5ss + r_on²)/mean(r²) ∈ [0.93, 1.15] for equities/futures/FX. | |
| 11 | 11 | | D-05 | 2026-11-09 | Session validity: ≥ 60 % of the instrument's **modal** 1-minute bar count (equities: 391/211 per calendar). | Grains (ZC) trade ~730 min/day, NG ~1,100, FX 1,440; a fixed 1,380 threshold invalidated 74 % of ZC days. | |
| 12 | −| D-06 | 2026-11-09 | Crypto realized measures are invalid before 2020-01-01 (daily returns kept). | Audit: BTC 1-min RV is 10–100× the squared daily return in 2013–2019 (12,810 one-minute moves > 5 % in 2017 alone: cross-venue bounce in the vendor aggregate); from 2020 the ratio is ≈ 1.2–1.5. | | |
| 12 | +| D-06 | 2026-11-09 | Crypto realized measures are invalid before 2022-01-01 (daily returns kept). | Audit: BTC 1-min RV is 10–100× the squared daily return in 2013–2019 (12,810 one-minute moves > 5 % in 2017 alone: cross-venue bounce in the vendor aggregate); in 2020–2021 the ratio is still 1.3–3 (ETH 2021: 92.7 vs 32.5 percent²); from 2022 the ratio is ≈ 1.0–1.3. | | |
| 13 | 13 | | D-07 | 2026-11-09 | Tier B input = primary proxy of day t−1 (observed at the close of t−1); invalid days imputed by r² inside the recursion only (flagged). | Keeps the recursion defined; the imputation never enters the evaluation target. | |
| 14 | 14 | | D-08 | 2026-11-09 | Rolling window 1,000 days, refit every 5 days, daily filtering with fixed parameters; expanding and 2,000-day windows as robustness. | Compute budget (≈ 90 specs × 42 instruments × 3,700 origins); weekly re-estimation changes parameters negligibly relative to daily. | |
| 15 | 15 | | D-09 | 2026-11-09 | Multi-step forecasts: exact analytic recursions (GARCH, GJR with κ = E[z²1{z<0}], NAGARCH, QGARCH, CGARCH, IGARCH, GAS, HEAVY, GARCH-X, MS-GARCH Haas recursion, FIGARCH via arch); simulation with 2,000 paths and a fixed seed for EGARCH, APARCH, TARCH, AVGARCH, Realized GARCH; HAR direct projections per horizon. | The brief forbids naive extrapolation; each model card states the recursion. | |
modified
docs/preregistered_protocol.md
+3 −3
@@ -36,7 +36,7 @@ removed after the freeze; an instrument whose forecasts cannot be produced for a | ||
| 36 | 36 | ## 3. Data conventions (frozen; details in `docs/data_dictionary.md`, decisions D-01…D-07) |
| 37 | 37 | Daily log returns in percent; session windows per asset class (D-02); realized measures on the session window (D-03); |
| 38 | 38 | primary proxy = subsampled 5-min RV + squared overnight return (D-04); validity rules D-05/D-06; crypto realized |
| 39 | −measures from 2020 only (D-06). Tier B input = primary proxy lagged one day (D-07). | |
| 39 | +measures from 2022 only (D-06). Tier B input = primary proxy lagged one day (D-07). | |
| 40 | 40 | |
| 41 | 41 | ## 4. Information tiers and model set (frozen; `configs/model_registry.yaml`) |
| 42 | 42 | - Tier A (daily returns only): baselines (constant, historical 22/66/252, EWMA 0.94, RiskMetrics 2006); ARCH(5); |
@@ -56,8 +56,8 @@ expanding window and window 2,000 for a subset of models; refit every 22 days. | ||
| 56 | 56 | |
| 57 | 57 | ## 6. Periods (frozen; D-13) |
| 58 | 58 | Validation 2012-01-03 → 2015-12-31 (design checks only). **Test 2016-01-04 → 2026-10-30** (all confirmatory results). |
| 59 | −Crypto and FX instruments enter the test period when their window allows (BTC ≥ 2017, ETH ≥ 2020 for daily; realized | |
| 60 | −measures from 2020). | |
| 59 | +Crypto and FX instruments enter the test period when their window allows (BTC ≥ 2017, ETH ≥ 2020 for daily; crypto realized | |
| 60 | +measures and hence scored crypto forecasts from 2022). | |
| 61 | 61 | |
| 62 | 62 | ## 7. Losses, proxies, samples |
| 63 | 63 | Primary: QLIKE (zero-safe form) on the primary proxy. Secondary: MSE, MAE, MSE on the standard-deviation scale |
modified
src/wp46/preprocessing/panel.py
+1 −1
@@ -29,7 +29,7 @@ from wp46.realized_measures import MEASURE_COLUMNS, session_measures | ||
| 29 | 29 | |
| 30 | 30 | PANEL_COLUMNS = ["session", "close", "open", "r", "r_on", "r_oc", "valid_rm", "expected_bars"] + MEASURE_COLUMNS |
| 31 | 31 | EXPECTED = {"futures": 1380, "fx": 1440, "crypto": 1440} # nominal; replaced by the instrument's modal bar count (D-05) |
| 32 | −RM_VALID_FROM = {"crypto": "2020-01-01"} # D-06: crypto 1-minute bars before 2020 are contaminated by cross-venue bounce | |
| 32 | +RM_VALID_FROM = {"crypto": "2022-01-01"} # D-06: crypto 1-minute bars before 2022 are contaminated by cross-venue bounce | |
| 33 | 33 | # (audit: 1-min RV 10-100x the squared daily return in 2013-2019) -> no realized measure |
| 34 | 34 | |
| 35 | 35 | |
| 36 | 36 | |