TL;DR
Slippage is the difference between the expected price of a trade and the actual price at which it is executed. It occurs during fast market conditions, low liquidity, or large order sizes. Slippage is typically negative (unfavorable) but can occasionally be positive (in your favor).
Slippage is the difference between the expected price of an order and the actual execution price. It occurs when the market moves between the time an order is submitted and when it is filled, resulting in execution at a different price than intended. Slippage most commonly happens with market orders, stop orders (which become market orders when triggered), and during fast-moving markets or periods of low liquidity. Slippage is not always negative. Positive slippage occurs when you get a better price than expected (buying lower or selling higher). Negative slippage occurs when you get a worse price (buying higher or selling lower). In practice, negative slippage is more common because prices tend to move against you during the milliseconds between order submission and execution, especially during volatile periods. For most retail traders, slippage adds 0.5-2 pips (forex) or 1-2 ticks (futures) of additional cost per trade.
Slippage occurs for several reasons. First, market orders are filled at the best available price, which may differ from the last quoted price if the market has moved during order transmission. In electronic markets, this latency is measured in milliseconds, but during fast moves, prices can change significantly in that time. Second, stop loss orders become market orders when the stop price is hit. If the market gaps past your stop price (common during news events or overnight gaps), the order fills at the next available price, which may be well beyond your stop. Third, large orders may not have enough liquidity at a single price level to fill completely. The order fills partially at the intended price and partially at progressively worse prices (this is called market impact). Fourth, during extreme events (flash crashes, breaking news), liquidity can temporarily disappear, causing massive slippage on all order types.
| Cause | When It Happens | Typical Impact |
|---|---|---|
| Latency | All market orders | 0.1-0.5 pips / 1 tick |
| Low liquidity | Off-hours, exotic pairs | 1-5+ pips / 2-5 ticks |
| News events | NFP, FOMC, earnings | 5-50+ pips / 5-20 ticks |
| Market gaps | Weekend gaps, overnight | 10-100+ pips / variable |
| Large order size | Institutional-sized orders | Variable, increases with size |
Slippage on stop losses is particularly important for risk management because it means your actual loss can exceed the planned loss. If your stop loss is at $47.00 but slippage fills you at $46.80, you lose an extra $0.20 per share. On 500 shares, that is an extra $100 beyond your planned risk. During major news events, stop loss slippage can be extreme. During the Swiss National Bank (SNB) event in January 2015, some forex traders experienced slippage of 1,000+ pips on their EUR/CHF stop losses as the market gapped through all pending orders. While such extreme events are rare, they illustrate why stop losses do not guarantee a maximum loss; they guarantee execution but not price. To account for slippage in your risk management, add a slippage estimate to your stop loss distance when calculating position size. For futures, add 1-2 ticks per side. For forex, add 0.5-1 pip per side. This ensures that even with typical slippage, your actual loss stays close to your target risk.
Pro Tip
In your position sizing calculation, add the expected slippage to your stop loss distance. If your stop is 20 pips and expected slippage is 1 pip, use 21 pips for position sizing. This small adjustment prevents consistently exceeding your risk target.
While slippage cannot be eliminated entirely, several practices can reduce it. Trade during high-liquidity sessions (London/New York overlap for forex, regular trading hours for futures and stocks) when the order book is deep and spreads are tight. Use limit orders instead of market orders when possible: limit orders guarantee price but not execution, so you may miss a fill, but you will never get a worse price. Avoid trading during major news events unless your strategy specifically requires it. Keep position sizes reasonable relative to the instrument's typical volume to avoid market impact. Choose a broker with fast execution speeds and direct market access (DMA/ECN). In futures, consider using limit orders at your stop level rather than stop market orders for entries (though for stop losses, market orders are generally safer because execution is guaranteed).
Tracking slippage over time provides actionable data for optimizing your trading execution. To measure slippage on each trade, record the intended entry price and the actual fill price. The difference is your slippage: if you intended to buy at 1.10500 and were filled at 1.10508, you experienced 0.8 pips of negative slippage. Similarly, record the intended exit price and the actual exit fill. Over 100+ trades, calculate your average slippage per trade, separating it by order type (market orders, stop orders, limit orders), by session (London, New York, Asian), and by market condition (normal, news, low liquidity). Most traders who track slippage discover patterns they can exploit. Common findings include: market order slippage is 2-3x higher during the first 15 minutes of a session opening, slippage on stop orders is significantly higher during NFP and FOMC announcements, and certain brokers consistently provide better fills than others for the same instruments. Once you have this data, you can make informed decisions about order timing, broker selection, and which trading sessions to focus on. A practical framework for slippage tracking is to maintain a simple spreadsheet with columns for trade date, instrument, order type, intended price, actual fill price, slippage in pips, and market condition. Aggregate this data monthly and look for trends. If your average slippage is increasing over time, investigate whether market conditions have changed or if your broker's execution quality has deteriorated. Professional traders review slippage data quarterly and use it as a factor in broker evaluations and strategy refinements.
| Order Type | Normal Conditions | News Events | Low Liquidity |
|---|---|---|---|
| Market order (forex) | 0.1-0.5 pips | 2-10+ pips | 1-5 pips |
| Stop market order (forex) | 0.3-1.0 pips | 5-50+ pips | 2-10 pips |
| Market order (ES futures) | 0-1 tick | 1-3 ticks | 1-2 ticks |
| Stop market order (ES futures) | 0-1 tick | 2-5 ticks | 1-3 ticks |
| Limit order (any) | 0 (or positive) | 0 (or not filled) | 0 (or not filled) |
Pro Tip
Track your slippage for every trade over at least 3 months. Calculate the average and use that exact figure in all future backtests. Your personal slippage data is more accurate than generic estimates because it reflects your specific broker, execution speed, and trading times.
Automated trading systems (expert advisors, NinjaScript strategies, algorithms) face unique slippage challenges that differ from manual trading. In automated trading, the execution speed is determined by the connection latency between your platform and the broker's server, the broker's internal execution speed, and the speed at which the market is moving. Co-location (placing your server physically close to the exchange's matching engine) can reduce latency to under 1 millisecond, but this is typically only available to institutional traders. Retail algorithmic traders using platforms like NinjaTrader typically experience 50-500 milliseconds of latency, during which the price can move. For a strategy that generates market orders at the close of each bar (a common approach), the slippage depends on the bar timeframe. On a 1-minute chart, the price is unlikely to move significantly in 100 milliseconds. On a tick chart during fast markets, even 100 milliseconds of latency can result in substantial slippage. Backtesting automated strategies with zero slippage produces dangerously misleading results. A strategy that shows a 2.0 profit factor with zero slippage might show only 1.3 with 1-tick slippage per side, or even become unprofitable with 2 ticks of slippage. The general rule for automated strategy backtesting is to add at least 1 tick of slippage per side for futures and 0.5-1 pip per side for forex. If the strategy remains profitable with 2x your expected slippage, it is robust enough to deploy. One advantage of automated trading is consistency: while a manual trader's slippage varies with their reaction time and emotional state, an algorithm submits orders at the same speed every time. This consistency makes slippage more predictable and easier to account for in backtesting.
Pro Tip
When deploying an automated strategy, run it in simulation mode for at least 2 weeks while simultaneously tracking what the live fills would have been. Compare simulated fills to actual market prices to calibrate your slippage assumptions before going live.
Mistake
Not accounting for slippage in backtesting
Correction
Add at least 1 tick of slippage per side for futures and 0.5-1 pip for forex in all backtests. Without slippage, backtest results are unrealistically optimistic, especially for strategies with tight targets.
Mistake
Using stop limit orders for stop losses in fast markets
Correction
Stop limit orders for stop losses can fail to execute during fast moves, leaving your position open with no protection. Use stop market orders for protective stop losses to guarantee execution, even if you experience some slippage.