← Back to Research
Trade Execution5 min readDecember 20, 2024

The Spread Tax: Why 12% of Your Trades Should Never Happen

Filters trades when bid-ask spread exceeds 2x normal, eliminating 12% of trades with poor fills during illiquid periods.

SpreadExecution QualityFiltering

Spread as a Quality Filter

When spreads widen, execution quality collapses. A trade with a 2-pip spread on EURUSD during London session is standard. The same trade during the Asian/London gap with a 5-pip spread starts 3 pips behind. S16 monitors real-time spread relative to a rolling 100-bar median. When current spread exceeds 2x the median, new entries are blocked.

This filter catches the predictable illiquid periods: session boundaries, pre-news widening, and holiday thin markets. These are exactly the periods where backtest results are least reliable because historical spread data is often missing or underestimated.

The 12% You Do Not Miss

S16 blocks approximately 12% of all signals. The blocked trades, when evaluated against what actually happened, showed a 48% win rate versus 59.2% for the full system. Wide spreads are correlated with choppy, directionless markets where technical signals underperform.

The 12% filter rate is consistent across clusters except for CRYPTO, where spread widening is more frequent and the filter blocks closer to 18% of signals. This cluster-specific difference is handled automatically because the filter uses instrument-specific median spreads.

Backtests Lie About Spreads

Most backtests use fixed spread assumptions or daily average spreads. Neither captures the intraday spread variation that live trading encounters. S16 exists because the gap between backtest spread assumptions and live reality is one of the largest sources of performance degradation. By refusing to trade during wide-spread periods, the system ensures that live execution matches backtest assumptions more closely. The 12% of trades you do not take are the 12% most likely to underperform their backtested expectations.