Lab · ML Experiments

ML — Pattern Discovery

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

ETF-Flow Residual Check — Momentum vs. Genuine Edge

Dropped
2026-05-19 etfauditmomentumresidualdirectional
Hypothesis
If the ETF-flow signal from Exp #18 (IC +0.37) is mainly BTC daily momentum, little remains after residualising on the pre-release return (22:00 UTC marker) (IC < 0.05). If residual_IC > 0.20, ETF flow is a genuine directional edge.
Verdict
**MOMENTUM ARTEFACT** — residualised IC = +0.0754 collapses vs. original +0.0445 (drop -69.6%). The supposed ETF edge was almost entirely BTC daily momentum. The ETF-flow feature provides no independent information beyond ret_pre.
CI_residual
[-0.0052, +0.1524]
ic_drop_pct
-69.6124
IC_flow_to_fwd
+0.0445
spread_drop_pct
+78.2863
IC_residual_to_fwd
+0.0754
beta_flow_per_ret_pre
4,995.28
IC_pre_to_fwd_momentum
-0.0431
IC_flow_to_pre_confound
+0.4054
residual_1sd_spread_bps
+42.4368
r2_flow_explained_by_pre
+0.1640
original_inflow_outflow_spread_bps
195.44

ETF-Flow Residual Check — Momentum vs. Genuine Edge

2026-05-19 · status: dropped · 1.8s

Hypothesis: If the ETF-flow signal from Exp #18 (IC +0.37) is mainly BTC daily momentum, little remains after residualising on the pre-release return (22:00 UTC marker) (IC < 0.05). If residual_IC > 0.20, ETF flow is a genuine directional edge.

Verdict: MOMENTUM ARTEFACT — residualised IC = +0.0754 collapses vs. original +0.0445 (drop -69.6%). The supposed ETF edge was almost entirely BTC daily momentum. The ETF-flow feature provides no independent information beyond ret_pre.

Key metrics

metric value
IC_flow_to_fwd +0.0445
IC_flow_to_pre_confound +0.4054
IC_pre_to_fwd_momentum -0.0431
IC_residual_to_fwd +0.0754
CI_residual [-0.0052, +0.1524]
ic_drop_pct -69.6124
r2_flow_explained_by_pre +0.1640
beta_flow_per_ret_pre 4,995.28
original_inflow_outflow_spread_bps 195.44
residual_1sd_spread_bps +42.4368
spread_drop_pct +78.2863

Approach

Marker = 22:00 UTC daily close (NY-Close, ETF-Release-Moment). Construct three returns:

  • ret_pre(t) = log(close_t_22:00) − log(close_{t−1}_22:00) — everything before release
  • ret_fwd(t) = log(close_{t+1}_22:00) − log(close_t_22:00) — everything after release
  • flow_t = Farside aggregated net flow daily

Pooled ICs of all pairwise relationships plus one OLS residualisation of flow_t on ret_pre. If the daily BTC momentum (ret_pre) explains most of Cov(flow, ret_fwd), IC(flow_residual, ret_fwd) collapses.

Pooled OOS Pairwise ICs

pair IC CI_low CI_high p_value n
flow_t → ret_fwd (original, replicates Exp #18 with 22:00 marker) 0.0445 -0.0375 0.117 0.276 602
flow_t → ret_pre (contemporaneous confound) 0.4054 0.3368 0.4741 3.22e-25 602
ret_pre → ret_fwd (daily momentum baseline) -0.0431 -0.1201 0.0397 0.291 602
flow_residual → ret_fwd (orthogonal to ret_pre) 0.0754 -0.0052 0.1524 0.0644 602

Decomposition statistics

  • OLS β (flow_t per unit ret_pre): +4995.28 US$m per log-return unit

  • OLS α (intercept): +91.82 US$m

  • R² of flow explained by ret_pre: 16.40%

  • Residualisation drops IC by -69.6% (+0.0445 → +0.0754)

Event-conditional spreads (fwd 1d return, bps)

version threshold n_in n_out in_bps out_bps spread_bps
Original (Exp #18 setup) flow ±$500M 69 20 19.9 -175.6 195.4
Residualised (orthogonal to ret_pre) flow_resid ±1σ 91 80 -8.4 -50.8 42.4

Walk-forward stability (11 windows)

window n IC_original IC_residual drop_pct
2024-07-12 → 2024-09-12 44 0.0891 0.2183 -145.095
2024-09-12 → 2024-11-12 43 -0.1104 -0.151 -36.7989
2024-11-12 → 2025-01-12 44 0.0207 0.0193 6.8356
2025-01-12 → 2025-03-12 42 0.1829 0.2537 -38.7183
2025-03-12 → 2025-05-12 43 -0.0595 0.0687 215.482
2025-05-12 → 2025-07-12 44 -0.0949 -0.0911 4.0187
2025-07-12 → 2025-09-12 43 0.0163 0.1195 -632.407
2025-09-12 → 2025-11-12 43 0.0609 0.0755 -24.0695
2025-11-12 → 2026-01-12 40 0.2023 0.2152 -6.4007
2026-01-12 → 2026-03-12 41 0.0714 0.1922 -169.024
2026-03-12 → 2026-05-12 40 -0.0687 -0.0674 1.9172

residualisation