What slippage means
Slippage is the difference between the price you expect and the price you actually receive. It shows up because fills are not magic: spreads widen, markets move, and stop orders often execute at worse levels than the line on the chart.
Where it comes from
- Spread. You cross the market and pay the inside price gap.
- Latency. The signal arrives after the market has already moved.
- Impact. The order itself nudges the price when liquidity is thin.
Why backtests understate it
Backtests often assume a clean fill at the next bar open or the exact stop level. Real execution is messier. Stops slip more than targets, market orders pay the spread, and thin sessions make the problem worse.
How to model it
A practical model is simple. Start with a cost in R, then let the exit type change the slippage assumption. Stop-outs usually take the worst fill, targets are cleaner, and timeouts sit in the middle.
The blunt rule
If the backtest only works with zero slippage, the edge is not real yet.
Common mistakes
- Using one flat fill assumption. Stops, targets, and timeouts do not behave the same.
- Ignoring the spread. That is still a cost, even if the model never notices it.
- Testing one number only. A serious signal survives a range of slippage assumptions.