HomeLearn › How to model slippage in backtests

How to model slippage in backtests

Short answer

Model slippage as three separate components rather than one flat number: the spread you cross, the market impact your own order causes, and the delay cost from latency between signal and fill. A single “5 basis points” assumption is the most common way backtests overstate returns, because impact scales with the square root of participation rate — so costs grow non-linearly as size increases, exactly where a naive constant assumption says nothing changes.

Decompose before you estimate

ComponentWhat causes itScales with
Spread costCrossing from mid to the far touchHalf-spread, roughly constant per trade
Market impactYour order consuming book depth~ sqrt(order size / ADV)
Delay costPrice drift between decision and fillVolatility x sqrt(latency)
Opportunity costUnfilled portion of the orderFill rate and subsequent drift

A workable model

total_cost_bps = half_spread_bps + k * sigma * sqrt( Q / ADV ) * 10000 + sigma * sqrt( latency_seconds / 23400 ) * 10000 Q order quantity (shares) ADV average daily volume (shares) sigma daily volatility, decimal (0.02 = 2%) k impact coefficient, empirically ~0.5-1.0 for US large caps 23400 seconds in a 6.5-hour session

The square-root impact law is the part worth internalising. It has held up across markets and decades of研究 and is the reason capacity is a real constraint: doubling order size does not double impact, it multiplies it by about 1.41 — but that still means impact per share rises with size.

Worked example

Buying 50,000 shares of a stock with 5,000,000 ADV, 2% daily volatility, a 2 bp half-spread, k = 0.7, and 250 ms from signal to fill:

participation = 50,000 / 5,000,000 = 0.01 (1% of ADV) spread = 2.0 bp impact = 0.7 * 0.02 * sqrt(0.01) * 10000 = 14.0 bp delay = 0.02 * sqrt(0.25 / 23400) * 10000 = 0.65 bp total = 16.7 bp per side round trip = 33.4 bp

Now scale the order to 500,000 shares (10% of ADV) and impact becomes 0.7 * 0.02 * sqrt(0.10) * 10000 = 44.3 bp. Ten times the size produced a bit over three times the impact per share — but total cost in dollars rose more than thirtyfold. A backtest using a flat 5 bp would have charged the same rate for both.

What this does to a strategy

Cost compounds with turnover, which is where plausible-looking edges die:

Annual turnoverRound tripsAt 33 bp/round trip
1x1-0.33%
12x12-4.0%
52x52-17.4%
252x252-83.2%

A daily-rebalanced strategy needs to gross more than 80% annually just to break even on execution at this cost level. This is why turnover, not signal quality, is usually the binding constraint on high-frequency approaches.

Practical rules

Limitations

References

Related