Page 1 of 1

Backtests Without Spreads Are Fiction

Posted: Sun Oct 04, 2026 10:58 am
by Fairman
Backtests Without Spreads Are Fiction

A backtest that ignores trading costs can make nearly any short-term strategy look profitable. Costs are the quiet difference between theory and reality.

Take a scalping strategy that trades 10 times a day for an average gain of 1.5 pips before costs. If the spread plus commission costs 1.2 pips per trade, the net is 0.3 pips per trade. A small error in cost assumptions, like a spread that is 0.5 pips wider during certain hours, turns it negative.

Realistic cost modeling includes several elements. Use variable spreads if your data supports it, because spreads widen at rollover, news, and low liquidity. Include commission per lot. Account for slippage on stop orders and market orders, perhaps by adding a fixed pip penalty. Include swap on trades held overnight.

Also pay attention to the data. Bar-based tests cannot show what happened within a bar. If both your stop and target lie inside the same candle, the test cannot tell which came first, and software often assumes the favorable one. This flatters results.

Tick data helps, though quality varies.

When in doubt, make assumptions conservative. A strategy that survives pessimistic costs is more likely to survive live trading.

Practical step: rerun your latest test with spreads increased by 50 percent and see whether the expectancy remains positive.

Re: Backtests Without Spreads Are Fiction

Posted: Sun Oct 04, 2026 11:20 am
by Fairman
For scalping I'd also log the spread at the moment of each entry in your live journal. After a few weeks you'll know your real average cost per trade, and you can plug that straight back into the test instead of guessing.

Re: Backtests Without Spreads Are Fiction

Posted: Sun Oct 04, 2026 12:01 pm
by Fairman
The bar ambiguity point catches a lot of people. If your platform has an option for worst case when stop and target are in the same candle, turn it on. If the system still works, good sign.