SPB Git

spb/wp46_uqo

Public

WP46: D-06 crypto realized measures valid from 2022

Simon-Pierre Boucher committed (Nov 9, 2026) parent 2b50958 Browse files

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
Menu

Theme