reader9 min read

Slippage, Spread, and Real Costs

Trading costs are everything that separates a gross backtest result from a net one: the bid-ask spread you cross, the slippage between your intended and actual fill, and commissions or fees per trade.

Target audience: Traders validating a system who need to know whether the edge survives real-world costs.

Learning objectives

  • Separate spread, slippage, and commission as distinct costs.
  • Estimate per-trade cost in R and subtract it from expectancy.
  • See why frequency multiplies cost sensitivity.
  • Model costs conservatively rather than optimistically.

Definition

Trading costs are everything that separates a gross backtest result from a net one: the bid-ask spread you cross, the slippage between your intended and actual fill, and commissions or fees per trade.

Why it matters

Costs are subtracted from every trade, so they fall hardest on high-frequency, small-edge systems. A strategy that looks profitable gross can be a loser net, and the only number that matters is net. Modelling costs honestly is what keeps a backtest from promising an edge that the broker quietly takes back.

Three costs on every trade

The spread is the gap between bid and ask; a market order crosses it, paying half on entry and half on exit in effect. Slippage is the difference between the price you intended and the price you got, worst in fast or thin markets and on stop orders. Commission and exchange fees are a fixed charge per contract or share. Together they form a cost that is paid on every round trip, win or lose, and that must be subtracted from the gross result.

Express cost in R

To see whether costs matter, put them in the same unit as your edge: R. If your average risk per trade is 10 ticks and your round-trip cost (spread plus slippage plus fees) is 1 tick, costs are about 0.1R per trade. A system with +0.3R gross expectancy keeps +0.2R net, still good. A system with +0.08R gross expectancy is a net loser. The smaller your edge and the wider your costs relative to your stop, the more costs decide the outcome.

Frequency multiplies cost

Cost is paid per trade, so a system that trades ten times a day pays ten times the daily cost of one that trades once. High-frequency, small-target systems are the most cost-sensitive: their edge per trade is tiny, so a fraction of an R in cost can erase it. Lower-frequency, larger-R systems are more forgiving. When in doubt, model costs on the pessimistic side; live slippage in the trades you most want to take is usually worse than average.

Visual models

Anchored VWAP map: +2σ rejection, mean reversion, and fair-value retest
VWAP bands chartPrice stretches to the upper two-standard-deviation VWAP band, rejects, reverts toward anchored VWAP, and retests fair value.202.4201.5200.6199.7198.809:3010:1511:0011:4512:3012:45anchor1reject +2σ2mean reversion3fair-value retest4VWAP+/-1σ+/-2σ+2σVWAPpricesession time

Worked examples

Example 1: Gross winner, net loser

A scalping system shows +0.12R gross expectancy over 5,000 trades, a beautiful curve. Round-trip cost is estimated at 0.15R (tight stops make costs a large share of risk). Net expectancy is -0.03R: across 5,000 trades the system loses money, and the gross curve was an illusion created by ignoring the spread and slippage it pays on every one of those trades.

Common mistakes

Reporting gross results and never subtracting costs.

Assuming average slippage on exactly the fast trades where slippage is worst.

Ignoring that tight stops make a fixed cost a large fraction of R.

Forgetting that costs are paid on losers too, not just winners.

Underestimating cost on the highest-frequency part of the system.

Myth vs reality

Myth

That a profitable gross backtest is a profitable system.

Reality

No paired reality note provided.

Myth

That slippage is symmetric and small on the trades you care about.

Reality

No paired reality note provided.

Myth

That commissions are negligible at high frequency.

Reality

No paired reality note provided.

Risk considerations

  • Cost estimates that are too optimistic turn a net loser into an apparent winner you will fund.
  • Slippage spikes in volatile conditions, exactly when many systems trade most.

Practice exercises

1. Net out your edge

Estimate your round-trip cost in R and subtract it from your gross expectancy.

  1. Add spread, expected slippage, and commission for one round trip.
  2. Divide that cost by your average risk per trade to express it in R.
  3. Subtract it from gross expectancy to get net expectancy.
  4. Re-check the result using a pessimistic slippage estimate for fast trades.

Quiz

Q1. What three costs separate a gross result from a net one?

Q2. Why express costs in R?

Q3. Why are high-frequency systems most cost-sensitive?

Next lesson

Going Live: Forward Testing and Scaling In

This lesson is educational content only and is not financial advice. Trading involves substantial risk. A tested process improves decision quality and survivability; it does not predict the market or guarantee any outcome. Trade only with risk you can afford to lose.