Last Updated on 28 April, 2026 by Yieldova
You have a signal. You execute. The fill comes back at a different price. That gap is slippage — and it’s the first tax collected on any trading edge.
The Gap Nobody Accounts For: Slippage in Trading
Every trader has experienced it. You see a price, you click buy, and the confirmation comes back slightly worse than you expected. A few cents on a stock. A few basis points on a futures contract. A fraction of a percent on a crypto pair. Small enough to dismiss once. Significant enough to matter over hundreds of trades.
Slippage is one of those market realities that sits between theory and practice. In a backtest, your strategy enters and exits at the exact price the signal fired. In live trading, that price is a target, not a guarantee. The difference between the two — accumulated over the lifetime of a strategy — is often the difference between a profitable system and a break-even one.
Most traders know slippage exists. Few understand exactly why it happens, how to measure it in their own trading, and what it actually costs when you run the numbers. This article covers all three.
What Slippage Actually Is
Slippage is the difference between the price at which you intended to execute a trade and the price at which it was actually filled.
Slippage = Fill price − Expected price (for long entries)
Slippage = Expected price − Fill price (for short entries)
If you send a buy order expecting to fill at $100.00 and the fill comes back at $100.08, your slippage is $0.08 per share, or 0.08%. If you’re selling short and expect $100.00 but fill at $99.94, your slippage is $0.06 — again, working against you.
Slippage is almost always negative for the trader — meaning the fill is worse than the expected price. This is not a coincidence or a broker conspiracy. It’s a structural consequence of how markets work. Understanding that mechanism is the starting point for managing it.
ℹ Slippage vs spread
Slippage and spread are related but distinct concepts. The bid-ask spread is the difference between the best available buy and sell price at any moment — a cost you pay on every market order. Slippage is the additional cost that occurs when your order size exceeds the available liquidity at the best price, forcing your order to fill at worse levels. Both reduce your net edge; they operate through different mechanisms.
Why Slippage Happens: The Mechanics
To understand slippage, you need to understand the order book. At any moment, a market has a stack of limit orders waiting to be filled — buyers willing to pay up to a certain price, sellers willing to accept down to a certain price. The best available buy price is the bid; the best available sell price is the ask.
When you send a market order to buy, you’re saying “fill me at whatever price is available right now.” Your order gets matched against the best available ask price first. If your order size is small enough to be filled entirely at that level, your slippage is minimal — just the spread. But if your order is larger than the quantity available at the best ask, it moves to the next price level, and the next, until the entire order is filled. The result is an average fill price worse than the best ask you saw when you placed the order.
This is called market impact — your order moves the market against you. The larger your order relative to the available liquidity, the more levels of the book it consumes, and the worse your average fill price. This mechanism was formally modeled by Kyle (1985), who showed that order flow systematically moves prices against the trader as it consumes available liquidity in the book.
On a liquid instrument like a major equity or a major crypto pair during regular trading hours, the order book is deep and a typical retail order fills at or very close to the expected price. On an illiquid instrument — a small-cap stock, an altcoin with thin volume, or any asset during off-hours — the book is shallow, and even modest order sizes cause meaningful slippage.
↯ The liquidity trap
Illiquid assets often show attractive backtest results precisely because their price movements are larger — which creates more apparent opportunity. But those same assets have thin order books that produce significant slippage in live trading. The backtest captures the price movement; it doesn’t capture the cost of actually executing in a thin market. This is one of the most common sources of live underperformance versus backtest.
The Three Situations Where Slippage Is Worst
Market opens — the first minutes after a market opens are characterized by low liquidity, wide spreads, and high volatility. Order books are rebuilding after the overnight session. Market makers are repricing. Any strategy that enters at or immediately after the open is operating in the worst possible liquidity conditions. Slippage during opens is significantly higher than during mid-session — a well-documented pattern in market microstructure literature — which is particularly relevant for gap-based strategies that by definition enter near the open.
News and macro events — Federal Reserve announcements, CPI releases, earnings reports, and other scheduled events cause sudden, sharp price movements. In the seconds around these events, spreads widen dramatically and order books thin out as market makers pull their quotes to avoid being picked off. Any order sent during or immediately after a major event will fill at a significantly worse price than expected — if it fills at all.
Low-volume assets and off-hours — thin markets are structurally prone to slippage regardless of external events. A small-cap stock, a minor crypto pair, or any asset traded outside its primary session will have a shallow order book that amplifies the market impact of even small orders. Strategies that look liquid enough in backtests can be near-impossible to execute at scale in these conditions. Amihud (2002) showed that illiquid stocks carry a measurable price impact cost — the same mechanism that makes them structurally expensive to trade systematically.
How slippage grows as your order size increases relative to available liquidity — the core reason position sizing and asset selection matter for execution quality.
Illustrative curves based on typical market microstructure behavior. Actual slippage varies by asset, session, and market conditions.
The Math: What Slippage Actually Costs
Slippage is not evaluated in isolation — it’s evaluated relative to the edge your strategy generates. A strategy with a large edge per trade can absorb meaningful slippage and remain profitable. A strategy with a thin edge cannot.
Consider a systematic strategy with the following profile:
Trades per year: 500
Expected edge per trade: 0.30% (gross, from backtest)
Average slippage: 0.10% per trade (entry + exit combined)
Net edge per trade: 0.20%
That 0.10% slippage — which feels negligible on any single trade — reduces the annual return by approximately 50% of the edge. A strategy that backtested at 30% annual return might produce 20% live. Still profitable, but a significant degradation.
Now increase the slippage slightly — perhaps because the strategy trades at the open, or the asset is less liquid than assumed:
Trades per year: 500
Expected edge per trade: 0.30%
Average slippage: 0.25% per trade
Net edge per trade: 0.05%
At 0.25% slippage, the strategy is barely profitable net of execution costs — and that’s before accounting for commissions. A small increase in slippage, compounded over 500 trades, has nearly eliminated the edge entirely.
This is the compounding nature of execution costs: they don’t just reduce individual trade profitability, they erode the edge multiplicatively across the entire trade sequence. Strategies with high trade frequency and thin edges are most vulnerable.
Annual cost of slippage = Trades per year × Average position size × Slippage %
Example:
500 trades × $10,000 average position × 0.10% slippage
= $5,000 annual slippage cost
⚠ High-frequency strategies and slippage
The higher the trade frequency, the more critical slippage becomes. A swing strategy with 50 trades per year can tolerate more slippage per trade than a systematic intraday strategy with 500. If your strategy’s edge per trade is below 0.5%, slippage and commissions combined can realistically eliminate it entirely. Always calculate your net edge — gross edge minus all execution costs — before committing real capital.
Slippage in Backtests vs Live Trading
Most backtesting platforms allow you to configure a fixed slippage value — a percentage or a number of ticks applied uniformly to every simulated execution. This is better than assuming zero slippage, but it introduces a different problem: real slippage is not fixed.
In live markets, slippage is dynamic. It varies based on the time of day, the volatility of the moment, the size of your order relative to available liquidity, and whether any news or events are affecting the asset. The same strategy entering the same asset can experience 0.05% slippage on a quiet mid-session entry and 0.40% slippage on an entry at the open or around a news event.
A backtest configured with a fixed 0.10% slippage assumption will underestimate costs on high-slippage entries and overestimate them on low-slippage entries — but the underestimates tend to be larger and more damaging than the overestimates, because the worst slippage occurs precisely when markets are moving fastest and your strategy is most likely to be generating signals.
The practical implication: when estimating live performance from a backtest, don’t use a single slippage figure. Use a range — a conservative estimate for normal conditions and a stress estimate for adverse conditions — and evaluate whether the strategy remains profitable under the stress case. If it doesn’t, the edge is thinner than the backtest suggests.
ℹ The right way to model slippage in backtests
A more realistic approach than fixed slippage is to model slippage as a function of volatility or spread at the time of the signal. Higher volatility moments get higher slippage estimates; calmer moments get lower estimates. This requires more work but produces a backtest that better reflects what live execution actually looks like across different market conditions.
How to Measure Your Own Slippage
The only way to know your real slippage is to measure it directly from your own execution data. The process is straightforward but requires discipline to maintain consistently.
Step 1 — Record the signal price — at the moment your strategy generates an entry or exit signal, record the price that triggered the signal. This is your benchmark — the price your backtest assumed you traded at.
Step 2 — Record the fill price — after your order executes, record the actual fill price from your broker confirmation.
Step 3 — Calculate slippage per trade
Slippage % = |Fill price − Signal price| / Signal price × 100
Step 4 — Track and aggregate — maintain a log of slippage per trade over time. Calculate the average, the median, and the 95th percentile — the worst-case slippage you experience on roughly 1 in 20 trades. The 95th percentile is the number that will hurt you when conditions are bad.
Step 5 — Segment by condition — separate your slippage log by time of day, asset, and market condition. You’ll likely find that your average masks significant variation — opens are worse than mid-session, volatile days are worse than calm days, and certain assets are structurally worse than others.
Once you have real slippage data from 50-100 live trades, rerun your backtest with those figures instead of assumptions. The gap between the two backtests — assumed slippage vs measured slippage — is the information cost of not having measured it earlier.
How to Reduce Slippage
Use limit orders instead of market orders — a limit order specifies the maximum price you’re willing to pay (for a buy) or the minimum you’re willing to accept (for a sell). You eliminate market impact slippage entirely — you either fill at your price or better, or you don’t fill. The tradeoff is that limit orders can miss entries if the market moves away before filling. For strategies where getting the exact price matters more than guaranteed execution, limit orders are the correct tool.
Avoid entries at the open — the first 5-15 minutes after a market opens have the worst liquidity and highest slippage. If your strategy’s logic doesn’t require an immediate open entry, waiting for the order book to stabilize reduces execution costs meaningfully. Even a 10-minute delay from the open can produce significantly better fills.
Trade assets with sufficient liquidity for your position size — your order size should be small relative to the average trading volume of the asset. A position size that represents more than 0.5-1% of the asset’s average daily volume will begin to move the market against you. If your strategy requires position sizes that exceed this threshold on a given asset, the asset is too illiquid for your strategy at that size.
Avoid entries around scheduled events — earnings releases, central bank decisions, and major economic data releases cause predictable liquidity events. If your strategy generates signals near these moments, consider either filtering those signals out or adjusting entry timing to avoid the worst of the spread widening.
Scale position size relative to conditions — reduce position size on days with higher-than-normal volatility or lower-than-normal volume. Both conditions predict higher slippage. A systematic rule — for example, reducing size by 50% when volatility exceeds a certain threshold — can meaningfully reduce the tail risk of adverse fills without significantly affecting overall returns.
References
- Kyle, A. S. (1985). “Continuous Auctions and Insider Trading.” Econometrica, 53(6), 1315–1335. Available at: https://www.jstor.org/stable/1913210
- Amihud, Y. (2002). “Illiquidity and Stock Returns: Cross-Section and Time-Series Effects.” Journal of Financial Markets, 5(1), 31–56. Available on SSRN: https://ssrn.com/abstract=1295244
Articles published under the Yieldova byline combine market data, primary sources, and hands-on trading experience. Every piece goes through the same standard: if we wouldn’t stake money on it, we don’t publish it.