Why I built this the way I did
A backtested edge just shrank 87% under my own adversarial re-test
I run a swing-setup screener that flagged an anchored-VWAP reclaim pattern with a backtested +0.23R over 101 trades across 8 tech/index names. That looked like a real edge. So instead of trusting it, I re-tested it adversarially — the explicit goal was to try to kill the result, not confirm it.
Sliding the backtest's arbitrary 126-bar window grid on the same 8 names alone, the reproducible expectancy had a median of +0.004R, ranging from −0.045R to +0.287R — the original +0.23R sat near the lucky end of a distribution that was, at its center, indistinguishable from zero. Expanding to a 129-symbol, 10-year universe did find a real, statistically significant expectancy of +0.117R (block-bootstrap 95% CI [+0.057, +0.174]). But when I benchmarked the AVWAP-reclaim signal against risk-matched random entries using the identical stop and target, the random entries alone captured +0.086R of that — just long-term market drift. The signal's own incremental contribution came out to +0.030R per trade, with a 95% confidence interval of [−0.014, +0.077] — a result that does not clear statistical significance, and one that ordinary trading costs (5–10 bps round-trip) would mostly or entirely consume.
Verdict: marginal. Trade it small, sized at a fraction of normal risk, or not at all.
That's the exact experience this toolkit is built to prevent you from having to learn the hard way: a good-looking backtest number, a small sample, and a plausible story are not the same thing as a validated edge. Position size like your edge might be much smaller than your backtest says, because it usually is.
Full write-up with method, every benchmark, and the correlation-adjusted statistics: reports/robustness-2026-07.md in the swing-screener repo.