Slippage Is Quietly Killing Your Backtest's Edge: How to Model It Honestly
Your backtest looks great — until you actually trade it. Slippage is the silent tax that turns winning strategies into losers, and most backtests ignore it almost entirely.
Your backtest says 34% CAGR. Your live account says 11%. The difference isn't bad luck — it's slippage, and you didn't model it.
Slippage is the gap between the price your backtest assumes and the price the market actually gives you. It's not glamorous. It doesn't show up in strategy marketing decks. And it quietly turns profitable backtests into live disasters more reliably than almost any other single factor.
This article gives you a concrete framework — a tiered model by asset class and trade frequency — for building slippage into your backtests honestly.
Why Slippage in Backtests Is Almost Always Understated
Most retail backtesting platforms let you set a fixed slippage value — say, one tick or one pip per side. Traders either leave it at zero or pick a number that feels conservative. Neither approach reflects reality.
The problem is structural. Slippage isn't a single number. It's the sum of at least three distinct execution frictions that behave differently depending on what you're trading and how often you're trading it.
The Three Components You Need to Model Separately
- Bid-ask spread — The cost of crossing the spread at entry and exit. Always present. Even in highly liquid markets, you're buying the ask and selling the bid.
- Market impact — Your order moves the price against you. Relevant for any order size that's meaningful relative to the resting book depth. Scales non-linearly with order size.
- Timing delay — The gap between your signal and your actual fill. In live trading, signal generation, order routing, and queue position all introduce latency. Your backtest assumes instant execution. Reality doesn't.
Most platforms model the spread — sometimes — and ignore the other two entirely. That's optimism, not modeling.
What Underestimated Slippage Actually Does to Your Numbers
Consider a short-term mean-reversion strategy trading liquid US equities at roughly 20 round-trips per month. A common mistake is assuming a one-cent round-trip slippage on stocks that actually exhibit three-to-five cents of observed spread-plus-impact during the signals' typical time of day.
That gap doesn't sound dramatic. Over 12 months and 240 round-trips, it compounds. A strategy showing a Sharpe ratio of 1.8 in backtest can land at 0.6 live — a value that no longer clears a meaningful significance hurdle once you account for multiple testing, as explored in The Deflated Sharpe Ratio: Why Your Strategy's Sharpe of 2.1 Is Probably Noise.
Higher trade frequency amplifies the effect linearly. A strategy firing 10 times a day is 10 times more sensitive to per-trade cost assumptions than a daily-bar strategy. Mean-reversion strategies — the kind that depend on capturing small, fast moves — are almost universally the worst victims. For a case study on exactly this dynamic, see the RSI(2) mean-reversion strategy honest verdict: the edge shrinks substantially once realistic costs are applied.
The Tiered Slippage Model: A Practical Framework
Instead of picking a single number, think in tiers. Different asset classes have different liquidity profiles. Different strategy frequencies have different exposure to each cost component.
Tier 1 — Highly Liquid Futures and Major Forex Pairs
Assets: ES, NQ, CL, EUR/USD, GBP/USD.
- Spread cost: Minimal in RTH/active sessions. One to two ticks round-trip is defensible for large-cap futures; half a pip round-trip for major FX in London/NY overlap.
- Market impact: Negligible for retail-sized orders (one to five contracts). Grows quickly above 20 contracts in thin conditions.
- Timing delay: Model at least 100–300ms of slippage-equivalent price movement, especially for momentum strategies that enter on bar close.
- Baseline assumption: Two ticks or 0.5–1.0 pip round-trip plus one to two ticks additional for adverse timing.
Tier 2 — Individual Equities (Mid/Large-Cap)
Assets: S&P 500 constituents, FTSE 100, DAX components.
- Spread cost: Two to five cents round-trip for large-caps; wider for mid-caps, especially outside core hours.
- Market impact: Starts mattering around $10,000+ order size relative to ADV. For retail sizes in large-caps, often negligible — but don't assume zero.
- Timing delay: More significant than futures. Equity order routing introduces real variation.
- Baseline assumption: Five to ten cents round-trip for most retail equity backtests. Use the wider end for any strategy trading on open or close where spreads spike.
Tier 3 — Crypto (Spot and Perpetuals)
Assets: BTC, ETH on major centralised exchanges.
- Spread cost: Tight on BTC/USDT perpetuals on top-tier venues during high-volume hours. Widens significantly in low-volume windows and on alt pairs.
- Market impact: Crypto order books are shallow relative to equity markets. Even modest order sizes move price.
- Timing delay: Exchange API latency, rate limits, and liquidation cascades all create execution uncertainty your backtest doesn't capture.
- Baseline assumption: 0.05–0.10% round-trip as a starting point for BTC perpetuals; 0.15–0.30% for altcoins and low-volume periods. Double it for stress-testing.
Tier 4 — Low-Frequency Daily-Bar Strategies
Assets: Any, executed once per day at open or close.
- Spread cost: Use the actual historical spread or a conservative fixed assumption — ten to twenty cents for equities, one to two pips for FX.
- Market impact: Generally negligible for retail size.
- Timing delay: Less relevant. Next-bar entry is already a conservative assumption.
- Baseline assumption: Even here, don't use zero. A 0.05–0.10% round-trip assumption on daily strategies is modest and defensible.
How to Apply This in Practice
The mechanics depend on your platform, but the principle is consistent: always apply costs pessimistically, then test whether the edge survives.
Step 1 — Use next-bar-open fills. Never assume you fill at the close that generated the signal. Even with daily bars, a next-bar-open fill models timing delay honestly.
Step 2 — Add a fixed spread cost per side. Use the tier table above as your floor. Don't use zero. Don't use one cent if your asset class warrants five.
Step 3 — Add a market impact multiplier for higher-frequency strategies. For anything trading more than five times per week, add an additional 20–30% to your baseline spread assumption to approximate impact and queue effects.
Step 4 — Run a slippage sensitivity analysis. Double your assumed slippage and rerun the backtest. If the strategy collapses — Sharpe drops below 1.0, CAGR turns marginal — the edge was never robust to execution reality. This is directly related to the overfitting problem: a strategy with a thin margin over costs is statistically indistinguishable from noise. See Probability of Backtest Overfitting for the formal framework.
Step 5 — Check your results against the Honest Backtest Checklist. Slippage is one item on a longer list of validity tests. A strategy can pass the slippage test and still fail on lookahead bias, survivorship bias, or multiple testing.
The Strategies Most at Risk
- Scalping and high-frequency mean-reversion — Edge is measured in fractions of a percent per trade. Any underestimation of per-trade cost destroys it.
- Opening-range breakout strategies — Execute in the first minutes of the session when spreads are widest. Most backtests assume calm, mid-session liquidity.
- Crypto trend-following on alts — Thin books and high volatility mean market impact is punishing and spreads are structurally wide.
- Any strategy with a per-trade profit target under 0.5% — Below that threshold, execution costs are no longer a secondary concern; they're a primary one.
Frequently Asked Questions
How much slippage should I assume in a backtest?
There's no universal number — it depends on asset class, trade frequency, and order size. A reasonable starting floor: 0.05–0.10% round-trip for daily equity strategies, two to five ticks for active futures strategies, and 0.10–0.20% for crypto. Always run a sensitivity test at 2× your assumed slippage; if the strategy breaks, it wasn't robust.
Does slippage matter for long-term, low-frequency strategies?
Less than for high-frequency strategies, but it still matters. Even a daily-bar strategy with 50 round-trips per year accumulates meaningful drag. More importantly, low-frequency strategies tend to hold smaller per-trade edges, so a seemingly small cost assumption can cut stated returns by 20–30%.
Can I use historical tick data to model slippage precisely?
Tick data gives you the best available approximation — you can reconstruct the bid-ask spread at the time of each signal and measure true market impact. This is the gold standard. If you don't have tick data, the tiered model above is a defensible second-best. Either way, the rule is the same: when in doubt, assume worse fills than you think you'll get.
The Honest Bottom Line
Slippage isn't an edge case. It's a tax on every single trade your strategy ever takes. The traders who model it honestly have smaller backtested returns — and much smaller gaps between backtest and live performance.
Before you trust any strategy's numbers, run it through a cost stress-test. Then validate the remaining edge against overfitting using QuantCheck — QuantDojo's free backtest validation tool. A backtest that survives realistic execution costs and an overfitting test is genuinely rare — and genuinely worth trading.
Nothing here is financial advice — just an honest look at the silent cost that most backtest results quietly ignore.