Skip to main content
Education
Contents
6 min read

Trading costs and implementation shortfall

Measure the gap between the decision price and the price the strategy could realistically obtain.

A trading idea is worth only what remains after it is executed

A backtest can show a profit at reference prices while a real strategy loses after trading. Commissions are only one part of the difference.

Trading can cost money through:

  • exchange, broker, clearing, and regulatory fees;
  • crossing the bid–ask spread;
  • slippage between the expected and achieved price;
  • market impact caused by the order itself;
  • delay while the decision waits to be executed;
  • partial or missed fills; and
  • financing, borrow, and currency conversion.

The combined gap between a paper decision and the implemented portfolio is called implementation shortfall. Its purpose is accountability: start at the moment the investment decision exists, then explain where value was gained or lost before the desired position was completed.

Cost labels need a reference point

“Slippage” is often used for every difference between a chart price and a fill. That shorthand hides economically different causes:

Cost componentComparison being madeWhy the distinction matters
Explicit feesFill quantity against a known fee scheduleUsually observable and mechanically attributable
Spread costExecution price against the contemporaneous midpoint or quoteDescribes the price paid for immediacy
Delay or timingMarket price when the order becomes eligible against the earlier decision priceCan be favorable or adverse without being caused by the order
Market impactMarket response associated with the order’s own liquidity demandShould change with size, urgency, and market state
Opportunity costDesired but unfilled quantity against a later evaluation priceKeeps missed trades in the policy result
Implementation shortfallThe complete implemented outcome against the paper decisionReconciles the components under one benchmark

The components are not always perfectly identifiable from public data. The discipline is still useful: name the reference price, say which effects are modeled or observed, and do not call every adverse difference “impact.”

The decision price is the honest benchmark

Illustrative example. Suppose a signal becomes valid at 10:00 when the market is 100. The strategy fills at 100.30 and later closes at 101.

A backtest that enters at 100 reports a one-point gross move. The executable strategy captured 0.70 before exit costs. The 0.30 difference might contain spread, delay, and impact. It should not disappear simply because 100 is a cleaner chart price.

The benchmark must match when the decision was knowable. A close-based signal cannot use that same close as a frictionless fill unless an order existed beforehand under a different rule.

What implementation shortfall measures

For a buy order, a simplified decomposition can compare:

  1. Paper portfolio: what would have happened if the complete target position were acquired at the decision price.
  2. Executed portfolio: what actually filled, at what prices, with what fees.
  3. Unexecuted amount: the opportunity gain or loss on any quantity that was never filled.

For a buy order, one compact accounting identity is:

IS=iqi(PiPd)+(Qiqi)(PePd)+F\mathrm{IS}=\sum_i q_i(P_i-P_d) +(Q-\sum_i q_i)(P_e-P_d)+F

QQ is the desired quantity, qiq_i and PiP_i are each fill quantity and price, PdP_d is the decision price, PeP_e is the evaluation price for the unfilled quantity, and FF contains explicit fees. For a sell order, apply a consistent side sign so adverse execution still appears as positive cost.

The sign of each component should remain intuitive. Paying above the decision price is an adverse execution cost for a buy. A favorable price movement during delay can produce a negative cost, but it should be identified as market movement or timing—not automatically as execution skill.

Aggressive and passive orders trade different risks

An aggressive order seeks immediate execution and usually crosses the spread. It improves completion certainty but can create greater spread and impact cost.

A passive limit order waits for another participant to trade with it. It may earn the spread, but it can remain unfilled or fill selectively just before price moves against it. A backtest that compares only successful passive fills ignores the opportunity cost and adverse selection of the full policy.

Neither style is universally cheaper. Cost depends on urgency, size, liquidity, signal decay, queue position, and market state.

A complete illustrative order

Illustrative example.

A strategy decides at 10:00 to buy 1,000 shares. The decision midpoint is 100.00. The modeled execution is:

  • 600 shares at 100.10;
  • 300 shares at 100.20;
  • 100 shares unfilled;
  • $5 total explicit fees; and
  • market price 100.50 at the end of the execution window.

The filled 900 shares paid an average of about 100.13, or exactly $120 above their decision-price value under the stated fills. The unfilled 100 shares missed a 0.50 rise, an opportunity cost of $50 if the paper portfolio still desired them. Adding the $5 fee gives illustrative shortfall of $175 relative to the complete paper decision.

These values are deliberately illustrative, not historical or Arizmic performance. The example shows why “average fill versus close” is incomplete: unfilled quantity belongs in the result.

Build costs in layers

LayerData neededAppropriate use
Fixed feesSchedule and traded quantityMinimum explicit cost
Fixed tick or basis-point sensitivityPrice and turnoverEarly break-even analysis
Spread-aware modelHistorical bid and askCost of immediacy
Event/fill modelTrades or quotesTiming and partial-fill questions
Impact modelSize, volume, volatility, participationScaling and capacity
Queue-aware modelDepth events and queue assumptionsPassive execution claims

A simple fixed haircut is useful when labeled as sensitivity. It is not evidence that an order could have filled at that cost.

Designing a cost-aware strategy study

Show gross results first, then apply a cost curve. At minimum report:

  • turnover and number of execution events;
  • break-even cost per unit traded;
  • net outcome under several plausible costs;
  • performance after one decision-event delay;
  • contribution from high-turnover periods;
  • fill and non-fill treatment; and
  • results by spread and volatility state where data permits.

For high-frequency or short-horizon rules, test whether the gross edge is large relative to the quoted spread before performing elaborate optimization. If a strategy earns less than one plausible round trip, parameter precision is not the main problem.

Important failure modes

  • The model fills at the midpoint or close without an executable path.
  • A touched limit is treated as a guaranteed full fill.
  • Historical spreads are missing or replaced by today’s average.
  • Cost stays constant as order size and urgency grow.
  • Unfilled passive orders disappear from the sample.
  • Favorable delay movement is labeled as execution alpha.
  • A strategy’s best parameters are also those most sensitive to cost.

Further reading