← all research
  • RTH 6 bars/day, 4410 bars, 509 names
  • Split (fixed): IS < 2025-10-13, OOS >= (thin)
MechBookSegRetSharpeMaxDD
R1 1h reversalgrossIS+12.3%0.48-17.9%
R1 1h reversalgrossOOS-33.9%-1.17-49.0%
R1 1h reversalnetIS-61.3%-3.05-71.1%
R1 1h reversalnetOOS-98.8%-13.36-98.8%
R2 3h reversalgrossIS+6.3%0.29-21.3%
R2 3h reversalgrossOOS+72.0%1.77-13.8%
R2 3h reversalnetIS-43.2%-1.78-57.6%
R2 3h reversalnetOOS-84.3%-5.37-85.1%
M1 1h momentumgrossIS+40.6%1.26-17.9%
M1 1h momentumgrossOOS+59.2%1.61-11.3%
M1 1h momentumnetIS-51.5%-2.36-63.8%
M1 1h momentumnetOOS-97.2%-10.87-97.2%

Expectation: gross may exist; hourly turnover x 10bps kills net. No live change.

Verdict: REJECT (cost-killed, as predicted)

Gross hourly signals look real in this 1-year sample (1h momentum gross OOS Sharpe 1.61; 3h reversal gross OOS 1.77), but net Sharpe is -5 to -13 for every mechanism. Turnover is 0.68-1.15 per bar = ~1000-1700 round-trips per year; at 10 bps/side that is 20-34%/yr of cost at minimum, which no gross edge can cover. The IS/OOS gross numbers also disagree (3h reversal: IS 0.29 vs OOS 1.77), so even the gross is unreliable on a single-regime year.

This closes the hourly question: hourly rebalancing/signalling is not viable for this book. The validated monthly cadence (Sharpe 1.68) stands.