Lab · ML Experiments

ML — Pattern Discovery

Inverted workflow: find conditional edges in BTC data first, build strategies second.
55 experiments

FOMC Stage-2: stress-test the +50 bps fwd-1h drift

Done
2026-05-17 calendareventsmacrovalidationstage-2
Hypothesis
The FOMC × fwd-1h directional edge from `calendar_events` (+50 bps, t=2.28, n=52) survives robustness checks: bootstrap 95% CI excludes zero, win rate ≥ 60%, effect present in both pre-2024 and post-2024 sub-samples, and removing the single most extreme observation still leaves > 30 bps.
Verdict
**LIKELY EDGE — REQUIRES MONITORING** — 3/4 gates pass. Failing: bootstrap CI low > 10 bps. The +50 bps mean is plausible but with notable fragility. Acceptable for live testing as a small position-size strategy; not a 'high conviction' allocation.
n_events
52
ci_low_bps
+8.0730
ci_high_bps
+92.3073
gates_total
4
gates_passed
3
mean_fwd_1h_bps
+49.8816
bps_change_slope
-0.0904
trimmed_mean_bps
+48.1973
by_action_cut_bps
-39.7520
by_action_hike_bps
+67.9017
by_action_hold_bps
+65.6042
late_half_mean_bps
+16.6912
early_half_mean_bps
112.57
win_rate_fwd_1h_pct
+57.6923

FOMC Stage-2: stress-test the +50 bps fwd-1h drift

2026-05-17 · status: done · 1.0s

Hypothesis: The FOMC × fwd-1h directional edge from calendar_events (+50 bps, t=2.28, n=52) survives robustness checks: bootstrap 95% CI excludes zero, win rate ≥ 60%, effect present in both pre-2024 and post-2024 sub-samples, and removing the single most extreme observation still leaves > 30 bps.

Verdict: LIKELY EDGE — REQUIRES MONITORING — 3/4 gates pass. Failing: bootstrap CI low > 10 bps. The +50 bps mean is plausible but with notable fragility. Acceptable for live testing as a small position-size strategy; not a 'high conviction' allocation.

Key metrics

metric value
n_events 52
mean_fwd_1h_bps +49.8816
ci_low_bps +8.0730
ci_high_bps +92.3073
win_rate_fwd_1h_pct +57.6923
trimmed_mean_bps +48.1973
early_half_mean_bps 112.57
late_half_mean_bps +16.6912
by_action_cut_bps -39.7520
by_action_hike_bps +67.9017
by_action_hold_bps +65.6042
bps_change_slope -0.0904
gates_passed 3
gates_total 4

Approach

Stress-test the calendar_events finding of +50 bps fwd-1h mean after FOMC statement release. 52 events covered (2020 - 2026). Each event annotated with its action (cut / hike / hold) and bps change. Robustness, sub-samples, outliers, Fed-action conditioning, and a pre-drift surprise proxy.

1. Robustness — bootstrap CI, win rate, t-stat

horizon n mean_bps std_bps se_bps ci_low ci_high t_stat win_rate pct_above_30bps
fwd_1h 52 49.9 156.4 21.69 8.1 92.3 2.3 0.58 0.38
fwd_4h 52 73.8 256 35.49 4 144.8 2.08 0.58 0.54
fwd_24h 52 37.1 469 65.05 -87.2 168.6 0.57 0.46 0.44

2. Outlier sensitivity

  • Mean (all 52 events): 49.9 bps
  • Drop largest (event 2021-07-28, fwd_1h=+442 bps): 42.2 bps
  • Drop smallest (event 2023-03-22, fwd_1h=-258 bps): 55.9 bps
  • Drop both (50 events): 48.2 bps
  • Median: 15.9 bps

3. Sub-sample stability

Per year

year mean std count
2020 39.7 78.2 10
2021 203.7 172.5 8
2022 80.3 248.4 8
2023 -1.6 125.6 8
2024 27.2 136.2 8
2025 -22.6 84.1 8
2026 -49.2 45.1 2

Halves

  • Pre-2022 (n=18): mean 112.6 bps (win rate 78%)
  • 2022+ (n=34): mean 16.7 bps (win rate 47%)

4. By Fed action (cut / hike / hold)

action n mean_1h std_1h mean_4h win_rate_1h se_1h t_1h
cut 8 -39.8 62.7 51.4 0.25 22.17 -1.79
hike 11 67.9 218.6 63.9 0.55 65.92 1.03
hold 33 65.6 146.9 82.6 0.67 25.57 2.57

Rate-change magnitude effect (linear regression fwd_1h ~ bps change)

  • slope: +1.355 bps fwd-1h per 1 bps Fed change (SE 0.702)
  • intercept: +44.67 bps
  • r: +0.263, p-value: 0.0594

5. Surprise proxy — pre-event drift vs post-event return

Without external market-expectation data we proxy the 'consensus' by the BTC drift in the 24h leading into the meeting. Hypothesis: when BTC has already moved strongly in one direction before FOMC, the announcement either confirms (continuation) or surprises (reversal).

By pre-drift quartile (24h leading into FOMC)

pre_q n pre_mean fwd_1h_mean fwd_1h_win fwd_4h_mean
Q1 (down) 13 -336.4 74.9 0.54 141.8
Q2 13 1.4 45.2 0.62 55
Q3 13 146.4 31.1 0.54 16.6
Q4 (up) 13 428.7 48.3 0.62 82

Action × pre-drift sign

n fwd_1h_mean fwd_1h_win
('cut', 'pre+') 1 16 1
('cut', 'pre-') 7 -47.7 0.14
('hike', 'pre+') 9 37.3 0.44
('hike', 'pre-') 2 205.7 1
('hold', 'pre+') 25 40.1 0.6
('hold', 'pre-') 8 145.2 0.88

dist and action

by year

pre drift scatter

Production gates

gate pass? actual

| bootstrap CI low > 10 bps | FAIL | +8.1 bps |

| win rate ≥ 55% | OK | 57.7% |

| both halves positive | OK | early +113 / late +17 |

| trimmed mean > 25 bps | OK | +48.2 bps |

Passed: 3/4

Discussion — what the breakdown tells us

  • Cuts (n=8): fwd-1h -39.8 bps — no rally despite cut

  • Hikes (n=11): fwd-1h +67.9 bps — counterintuitive (hawkish should = risk-off)

  • Holds (n=33): fwd-1h +65.6 bps — usually the largest sub-group; if positive, the 'FOMC drift' is mostly here