Slippage is the difference between the price at which a trader expects to execute a trade and the actual execution price. It occurs in live trading because markets are not static. By the time an order reaches the exchange and is matched, the price may have moved. In backtesting, slippage modeling determines how realistically order execution is simulated and has a significant impact on whether backtest results are reliable.
Causes of slippage
Market volatility is the primary cause of slippage. During periods of high volatility, prices can move significantly between the time a trading signal is generated and the time the order is filled. Fast-moving markets, such as those around economic data releases or earnings announcements, tend to produce the most slippage.
Liquidity constraints are the second major factor. When a trader submits a large order relative to the available volume at the best price, the order consumes the available liquidity at that level and fills at progressively worse prices. This is called price impact or market impact. It is particularly relevant for strategies that trade less liquid instruments or take large positions.
Order type also affects slippage. Market orders guarantee execution but not price, meaning they are more susceptible to slippage. Limit orders guarantee price but not execution, meaning they avoid slippage but risk not being filled at all.
Slippage in backtesting
Many backtesting platforms use naive execution models that assume orders fill at the exact price when the signal was generated. This produces unrealistically optimistic results, especially for high-frequency or high-turnover strategies where slippage compounds across many trades.
A realistic backtesting engine should model several slippage components. First, the bid-ask spread: a buy order fills at the ask price, not the mid price. Second, market impact: large orders move the price against the trader. Third, latency: the delay between signal generation and order submission. Fourth, partial fills: orders may not be completely filled at the desired price if insufficient liquidity is available.
Quantifying slippage
Slippage is typically measured in basis points (1 basis point = 0.01%) or in absolute terms. For equities, slippage of 5 to 20 basis points per trade is common for retail-sized orders. For less liquid markets or larger orders, slippage can be much higher. Crypto markets, which often have wider spreads and thinner order books, tend to experience higher slippage than traditional equity markets.
Practical example
A strategy generates a buy signal when a stock is trading at $50.00. The current bid-ask spread is $49.98 to $50.02. If the strategy uses a market order, the actual fill price is $50.02 (the ask price), which is 4 basis points of slippage from the mid price. If the strategy is buying 10,000 shares but only 2,000 are available at $50.02, the remaining 8,000 shares fill at progressively higher prices, increasing the average fill price and total slippage.
Over 500 trades per year, even small slippage costs compound significantly. A strategy with 10 basis points of slippage per trade and 500 round-trip trades per year loses approximately 10% of its capital to slippage alone. This is often enough to turn a profitable backtest into a losing live strategy.
How Tektii helps
Tektii's backtesting engine includes built-in slippage modeling that accounts for bid-ask spread, market impact, and partial fills. The platform uses tick-level market data to simulate order execution at the actual prices and volumes that were available in the market. This means backtest results closely approximate real-world execution, giving traders confidence that their strategy's edge will survive the transition from simulation to live trading.