Skip to content
Skip to content
← all research
STUDY

"RL v3 Stage 2 — baseline replay on walk-forward windows"

2026-09-04

·

Window: 2017-11-10 .. 2026-06-26 (2166 daily bars) IS=504d OOS=126d step=126d windows=13 Data sources: data/blended_equity.csv, data/parquet/ETH_USD_1Day.parquet, data/parquet/BTC_USD_1Day.parquet, data/parquet/SPY_D.parquet (fallback 5m klines: data/parquet/ETH_USD_5Min.parquet, data/parquet/BTC_USD_5Min.parquet) cache: data/cache/rl_v3_sleeve_returns.parquet (version=v3.0)

#Data-constraint note (documented adjustment)

The plan locked 4y IS / 6mo OOS walk-forward. The 5m kline cache (data/parquet/{BTC,ETH,SOL}_USD_5Min.parquet) only goes back to 2022-12-01, so the longest feasible composite window on the 5m source is ~3.7y. The yfinance 1Day files added by scripts/fetch_crypto_long.py (BTC 2017-01-01, ETH 2017-11-09) give a ~7-8y composite window. The 2y/6mo walk-forward is kept for parity with the v3 plan; with 8y of data we get ~24 windows, which is the statistical power the pre-registered p<0.05 bar actually requires. The fallback to 5m klines is kept for environments without yfinance access.

#Sleeve set

SleeveSourceRangeNote
eqmomdata/blended_equity.csv2017-01-23..equity-momentum flagship (backtested)
gate60_ETHdata/parquet/ETH_USD_1Day.parquet (yfinance)2017-11-09..gated by strategy.gate60
gate60_BTCdata/parquet/BTC_USD_1Day.parquet (yfinance)2017-01-01..gated by strategy.gate60
spy_benchdata/parquet/SPY_D.parquet2004-01-02..underweight-only sleeve
cash0.0residual sleeve, in-repo risk-free series unavailabledocumented

#Walk-forward windows

#IS startIS endOOS endEW SharpeRP Sharpeuplift (EW-RP)p(EW>RP)EW maxDDRP maxDD
12017-11-102019-11-132020-05-14+0.20+0.27-0.070.599-32.23%-48.64%
22018-05-152020-05-152020-11-11+3.56+4.44-0.890.716-11.72%-9.81%
32018-11-122020-11-122021-05-14+4.03+3.88+0.150.969-12.80%-16.09%
42019-05-162021-05-172021-11-11+0.98+0.69+0.290.430-18.48%-22.66%
52019-11-132021-11-122022-05-13-4.74-4.80+0.060.113-26.21%-29.80%
62020-05-152022-05-162022-11-11-0.00-0.23+0.230.443-6.05%-4.84%
72020-11-122022-11-142023-05-16-0.16-0.32+0.160.349-9.74%-11.03%
82021-05-172023-05-172023-11-14-1.85-2.60+0.750.017-10.20%-15.34%
92021-11-122023-11-152024-05-16+2.44+2.09+0.350.687-15.07%-19.16%
102022-05-162024-05-172024-11-14+0.61-0.76+1.370.082-4.52%-5.37%
112022-11-142024-11-152025-05-20-0.94-1.14+0.200.269-17.01%-17.50%
122023-05-172025-05-212025-11-18+1.81+1.53+0.280.596-8.83%-12.36%
132023-11-152025-11-192026-05-21+4.78+4.21+0.560.598-3.12%-3.69%

#Aggregate

  • Median OOS Sharpe (EW): +0.611
  • Median OOS Sharpe (RP): +0.272
  • Median uplift (EW - RP): +0.229
  • All-window bootstrap p(EW > RP) <= 0.05: False (p values: ['0.599', '0.716', '0.969', '0.430', '0.113', '0.443', '0.349', '0.017', '0.687', '0.082', '0.269', '0.596', '0.598'])
  • Worst-window EW max drawdown: -3.12%
  • Worst-window RP max drawdown: -3.69%

#Pre-registered verdict

DOMINANT bar: median uplift >= 0.1 AND all windows p<=0.05 AND maxDD <= 30%. USEFUL bar: median uplift >= 0.0 AND maxDD <= 30%. NOISE otherwise.

Verdict: USEFUL

#Stop condition S1 (hypothesis doc)

Plan rule: stop and reject if EW baseline OOS Sharpe < 0.30 (no edge possible against a dead baseline). Observed median EW OOS Sharpe: +0.611. Stop condition triggered: False.

elapsed: 99.6s | windows=13

All trading described is paper (simulated). Not investment advice.

← all research