Options:
- Fixed: e.g. 0.2 pips on every fill. Simple, but unrealistic.
- Random: drawn from a distribution, e.g. normal with a mean and standard deviation.
- Empirical: sampled from your own live fills, by time and order type.
A practical middle ground for traders without much live data is to use a random distribution with a negative mean for stops and a mean close to zero for limit orders, then tighten the assumptions as live fills accumulate.
Whatever method is used, running the backtest twice — once with optimistic and once with pessimistic slippage — shows how sensitive the strategy is. If it only works in the optimistic case, the edge is probably too thin.
How do you model slippage in backtests?