Why execution costs matter

When traders backtest a strategy, they often focus on entry and exit signals, but the fill price is what determines real performance. Two of the biggest sources of performance erosion are slippage and commission drag.

  • Slippage is the difference between the price you expect and the price you actually get.
  • Commission drag is the cumulative effect of fees, spreads, and other trading costs.

Even a strategy with a positive gross edge can become unprofitable once these costs are included. This is especially true for high-turnover systems such as intraday momentum, mean reversion, and fast-moving crypto strategies.

What is slippage?

Slippage happens because markets move while your order is being sent and filled. If you buy at the ask, you may pay slightly more than the last traded price. If you sell, you may receive slightly less. In fast or illiquid markets, the difference can be meaningful.

A simple way to think about it is:

Effective fill price = signal price ± slippage

For a long entry:

[ P_{fill} = P_{signal} + s ]

For a long exit:

[ P_{fill} = P_{signal} - s ]

where (s) is the slippage amount per share, per contract, or as a percentage of price.

Common causes of slippage

  • Bid-ask spread: If the spread is wide, market orders cross it immediately.
  • Market impact: Larger orders move the price against you.
  • Latency: Delay between signal generation and execution.
  • Volatility: Prices can jump during news or high-volume sessions.
  • Low liquidity: Thin order books increase the chance of poor fills.

What is commission drag?

Commission drag is the reduction in returns caused by trading costs. These costs include:

  • Broker commissions
  • Exchange fees
  • Spread costs
  • Financing or borrow fees for short positions
  • Funding rates in crypto perpetuals

If a strategy trades frequently, even small per-trade costs compound quickly.

A useful approximation for total cost per round trip is:

[ C_{total} = C_{commission} + C_{spread} + C_{slippage} + C_{financing} ]

Then net trade P&L becomes:

[ \text{Net P\&L} = \text{Gross P\&L} - C_{total} ]

A simple example

Suppose you buy 100 shares at a signal price of $50.

  • Commission: $0.005/share each side
  • Slippage: $0.03/share each side
  • Spread cost: effectively $0.02/share each side

Round-trip cost per share:

[ 0.005 + 0.03 + 0.02 + 0.005 + 0.03 + 0.02 = 0.11 ]

Total cost for 100 shares:

[ 100 \times 0.11 = $11 ]

If the trade’s gross profit is $15, the net profit is only $4. That is a big haircut from execution costs alone.

How to model slippage realistically

A realistic model should reflect the market and the order type.

1. Use a fixed percentage or tick model for liquid assets

For large-cap stocks, major forex pairs, and liquid crypto, a simple assumption may be enough for first-pass testing:

  • Stocks: 1–5 basis points (bps) per side for liquid names
  • Forex: 0.1–1 pip on major pairs, depending on session
  • Crypto: 2–10 bps or more, depending on exchange and pair

One basis point = 0.01%.

This is a simplification, but it is useful for comparing strategy variants.

2. Scale slippage with volatility

A better model increases slippage during volatile periods:

[ s = k \times ATR ]

or

[ s = k \times \sigma \times P ]

where (ATR) is average true range, (\sigma) is recent volatility, and (k) is a small coefficient.

Typical starting values:

  • (k = 0.05) to (0.20) of ATR for liquid instruments
  • Higher for small caps, microcaps, or news-driven assets

3. Adjust for order size relative to volume

Large orders should incur more slippage. A common heuristic is to compare your order size to average daily volume (ADV):

[ \text{Participation rate} = \frac{\text{Order size}}{\text{ADV}} ]

If your order is more than 1% to 5% of ADV, slippage should rise materially. For very small participation rates, slippage may be close to the spread.

4. Model market orders and limit orders differently

  • Market orders: higher fill certainty, higher slippage
  • Limit orders: lower slippage, but risk of no fill

A realistic backtest should account for missed trades if your strategy relies on passive execution.

How to model commission drag realistically

Commission drag should be based on the actual fee schedule and turnover.

Per-share or per-contract fees

For equities, brokers may charge per share, per trade, or zero explicit commission but still incur spread and routing costs.

Percentage fees

Crypto exchanges often charge a percentage of notional value, such as 0.05% to 0.10% per side for retail tiers.

Include hidden costs

Even if explicit commission is zero, your model should still include:

  • Bid-ask spread
  • Slippage
  • Borrow fees for shorts
  • Overnight financing or swap rates in forex/CFDs
  • Funding rates in perpetual futures

Practical modeling tips

  • Use conservative assumptions first. If a strategy only works with unrealistically low costs, it is fragile.
  • Test sensitivity. Re-run the backtest with costs doubled and tripled.
  • Separate gross and net performance. Track both so you know whether the edge comes from signal quality or optimistic fills.
  • Model by asset class. A liquid ETF, a small-cap stock, and a crypto altcoin should not share the same slippage assumption.
  • Use walk-forward validation. Costs can change across regimes, so test stability across different periods.

A platform like Algovex can help you apply these assumptions directly in a visual backtest, then compare gross versus net results across market regimes.

Common mistakes

  • Assuming zero slippage because the strategy uses daily bars
  • Ignoring spread costs on “commission-free” brokers
  • Using one fixed cost for every instrument
  • Forgetting that turnover multiplies costs
  • Backtesting with mid-price fills when live trading will use bid/ask
  • Overfitting to a cost assumption that is too favorable

A good rule of thumb

If your average trade edge is only a few basis points, execution costs may overwhelm it. Strategies with low win rates or high turnover need especially careful cost modeling.

A robust system should still make sense after realistic slippage and commission drag are included. If it does not, the edge may be too small to trade live.

Disclaimer: This content is for educational purposes only and is not financial advice.