Slippage in Trading: What It Is and How to Measure It
Slippage is the difference between the price you expected and the price you got. It happens when a market or stop order is larger than the size available at the best price, or when the price moves between the moment you send the order and the moment it is filled.
Intermediate · 9 min read · Updated
What you will learn
Calculate the slippage of an order from its fills and include realistic slippage in your results.
Read first: Order Types Explained: Market, Limit, Stop and Stop-Limit Orders · Bid, Ask and Spread: How Prices Are Quoted and What They Cost
How a market order walks the book
A market buy takes the size at the best ask first, then the next price up, and so on until it is complete. Each level has a limited size, so a large order fills at several prices.
Hypothetical example · Buying 30 contracts at market
The book shows 10 contracts at 18,402.75, 12 at 18,403.00 and 15 at 18,403.25. A market buy of 30 fills 10 at 18,402.75, 12 at 18,403.00 and the last 8 at 18,403.25. The average price is (10 × 18,402.75 + 12 × 18,403.00 + 8 × 18,403.25) ÷ 30 ≈ 18,402.98, about 0.23 point, or 0.93 tick, above the best ask.
What it costs
Slippage in money = average slippage in points × value of a point × number of contracts. In the example, 0.2333 point × $20 × 30 contracts on NQ is about $140; on MNQ ($2 per point) it would be about $14. On a single contract, the same book would have filled entirely at the best ask, with no slippage at all: size is what created it.
Stop orders and fast markets
A stop order triggers when its price trades and becomes a market order. In a fast move, the book can be thin and the price can jump several ticks between the trigger and the fill. Around scheduled releases, slippage on stops is often much larger than usual. This is one reason why the lesson on stop placement recommends planning for it rather than avoiding stops.
Measuring your own slippage
- Record the price you expected: the stop price, or the price on screen when you clicked.
- Record the actual average fill price from the platform’s executions.
- Calculate the difference in ticks, with a sign: against you or in your favour.
- Average it by order type and by time of day after a few dozen trades.
A trading journal that imports executions does most of this automatically.
Slippage in backtests
Backtests often fill orders at exact prices, which is optimistic. Add a fixed slippage per order — for example one tick on market and stop orders — and check whether the strategy survives. If a strategy only works with zero slippage, it is unlikely to work live. The NinjaTrader help guide explains how historical fills are simulated, and the free backtester lets you set costs per trade.
Reducing slippage
- Size relative to depth: compare your order with the size displayed at the best price; if it is larger, expect to fill on several levels.
- Limit orders for entries: they cannot slip, at the cost of sometimes missing the trade.
- Avoid scheduled releases for market and stop orders unless the plan includes the extra cost.
- Liquid hours: the same order slips less when more participants are active.
Splitting a large order into smaller pieces can reduce the impact of each piece, but the market can move between them; that trade-off is the subject of execution algorithms, which will have their own lesson in this school.
Common mistakes
- Counting slippage only on losing trades.
- Sizing up without checking the size available in the book.
- Ignoring slippage in backtests of short-term strategies.
- Confusing slippage with the spread: the spread is paid even on small orders, slippage comes from size and speed.
Practice exercise
Export the executions of your last 20 trades. For each stop and market order, calculate the slippage in ticks against the expected price. What is the average, and is it different during the first 30 minutes of the New York session?
Check your understanding
1. What causes slippage on a large market order?
- The order is larger than the size at the best price
- The exchange charges a fee per tick
- Limit orders are cancelled
Show the answer
Answer: The order is larger than the size at the best price. The order consumes several price levels.
2. Fills of 5 at 100.00 and 5 at 100.50: what is the average price?
- 100.00
- 100.25
- 100.50
Show the answer
Answer: 100.25. (5 × 100.00 + 5 × 100.50) ÷ 10 = 100.25.
3. How should slippage be handled in a backtest?
- Ignored, because it averages out
- Added as a cost per order, then the strategy re-checked
- Only added to winning trades
Show the answer
Answer: Added as a cost per order, then the strategy re-checked. Exact fills are optimistic; a realistic cost shows whether the edge survives.
Practise with the free tools
Frequently asked questions
Can slippage be positive?
Yes. A stop or market order can occasionally fill at a better price than expected. Record both directions to get an honest average.
Do limit orders have slippage?
A limit order cannot fill at a worse price than its limit, but it can miss the trade entirely, which has its own cost.
How much slippage should a backtest assume?
Use your own measured average if you have one. Otherwise start with at least one tick per market or stop order and test larger values.
Related lessons
References and further reading
- Understanding Historical Fill Processing (NinjaTrader 8 Help Guide) — NinjaTrader
- E-mini Nasdaq-100 futures contract specifications — CME Group
- Micro E-mini Nasdaq-100 futures contract specifications — CME Group
- CFTC Glossary (limit order, market order, stop order) — U.S. Commodity Futures Trading Commission
Written with the help of AI tools, then checked against the sources listed and our methodology. Report an error and we will correct it. Methodology · Editorial policy · Report an error
Educational content only, not investment advice. Futures and leveraged products can lose more than the initial deposit.
Educational content. These indicators are not investment advice and guarantee no result. Futures trading involves a risk of loss that can exceed the initial investment. Terms of use · Disclaimers