Quant Memo
Core

Implementation Shortfall

The gap between the price you decided to trade at and the price you actually got, split cleanly into delay, market impact, opportunity cost of the shares you never filled, and fees. The honest, all-in scorecard for execution quality.

Prerequisites: Transaction Costs, Market Impact

You decide to buy a stock when it trades at $50. By the time your order is fully worked, you've paid an average of $50.14, and you couldn't even get all the shares you wanted. How much did that decision actually cost you? Implementation shortfall (IS), introduced by Perold in 1988, answers that with brutal honesty: it is the difference between a paper portfolio that trades instantly and for free at your decision price, and the real portfolio you end up with after delays, impact, missed fills, and fees.

The beauty of IS is that it captures the costs most benchmarks hide. Compare your fills to VWAP and you flatter yourself, because VWAP moves with your own trading. IS instead nails a fixed reference — the price at the moment you decided — and charges you for every dollar the market slipped away between then and reality.

The one formula, in words

For a buy of a target quantity QQ at decision price PdP_d, implementation shortfall in dollars is

IS=iqi(PiPd)  +  (QQexec)(PendPd)  +  fees.\text{IS} = \sum_i q_i\,(P_i - P_d) \;+\; (Q - Q_{\text{exec}})\,(P_{\text{end}} - P_d) \;+\; \text{fees}.

Reading each piece: qiq_i is the shares filled in the ii-th trade at price PiP_i, so the first sum is what you overpaid on the shares you got, measured against your decision price PdP_d. Qexec=iqiQ_{\text{exec}} = \sum_i q_i is the total you managed to fill, so QQexecQ - Q_{\text{exec}} is the shares you missed; the second term charges you the price move on those missed shares up to the price PendP_{\text{end}} where you gave up. The last term is commissions and exchange fees. For a sell, flip the signs. Divide by QPdQ\,P_d to quote it in basis points.

Implementation shortfall =(cost on filled shares vs. decision price)+(opportunity cost on unfilled shares)+fees= (\text{cost on filled shares vs. decision price}) + (\text{opportunity cost on unfilled shares}) + \text{fees}. It is the only benchmark that punishes you for the trades you failed to make, not just the ones you did.

The four-way decomposition

The real power is splitting IS into named costs a trader can act on. Insert two intermediate marks: PaP_a, the arrival price when the order actually reaches the market, and the fills in between.

  • Delay cost =(PaPd)= (P_a - P_d): the market moved while the order sat between decision and arrival. This is a portfolio-manager / plumbing cost, not an execution cost.
  • Market-impact / trading cost =(PˉexecPa)= (\bar P_{\text{exec}} - P_a): how far the average fill drifted from arrival as your own trading pushed the price. This is what execution algorithms fight.
  • Opportunity cost == price move on unfilled shares: the penalty for being too passive and missing the trade.
  • Fees: commissions, exchange fees, taxes.
ComponentReference moveSharesCost (\$)bps of Q·Pd
Delay50.05 − 50.0010,00050010.0
Market impact50.12 − 50.058,00056011.2
Opportunity cost50.20 − 50.002,0004008.0
Fees8,000400.8
Total IS1,50030.0
Implementation shortfall broken into its four components for the worked example below. The costs are additive and each points at a different fix — faster routing, gentler execution, or more aggressive completion.

Worked example

You decide to buy Q=10,000Q = 10{,}000 shares at a decision price PdP_d of $50.00. Here is what happens:

  1. Delay. By the time your order reaches the market the price is $50.05. Even if you filled everything instantly here, you've already lost 5 cents a share to delay.
  2. Fills. You work the order and fill Qexec=8,000Q_{\text{exec}} = 8{,}000 shares at an average of $50.12. The trading cost above arrival is 50.1250.05=0.0750.12 - 50.05 = 0.07 per share (7 cents) on those 8,000 shares.
  3. Miss. The stock keeps running and you cancel the last 2,000 shares when it reaches PendP_{\text{end}} of $50.20. Those unfilled shares cost you 50.2050.00=0.2050.20 - 50.00 = 0.20 each (20 cents) in opportunity.
  4. Fees. Commissions come to $40.

Totaling (all in dollars): delay =10,000×0.05=500= 10{,}000 \times 0.05 = 500; impact =8,000×0.07=560= 8{,}000 \times 0.07 = 560; opportunity =2,000×0.20=400= 2{,}000 \times 0.20 = 400; fees =40= 40. Implementation shortfall is $1,500, which on a notional of 10,000×50=500,00010{,}000 \times 50 = 500{,}000 dollars is

1500500000=0.0030=30 bps.\frac{1500}{500000} = 0.0030 = 30 \text{ bps}.

Notice the lesson buried in the numbers: the opportunity cost of the shares you missed ($400) is nearly as large as the impact on the shares you traded ($560). Traders who obsess over minimizing impact by trading slowly often bleed even more through opportunity cost. This exact tension — trade fast and pay impact, or trade slow and pay opportunity cost / risk — is the trade-off that The Almgren-Chriss Model and Optimal Execution formalize.

Benchmarking against VWAP or the closing price can make a bad execution look good, because those benchmarks are contaminated by your own trading and by luck on the day. Implementation shortfall against the decision price is the honest scorecard — and it is the one that charges you for passivity through the opportunity-cost term.

Split every post-trade report into the four components. If your shortfall is dominated by delay, the problem is upstream (slow signal-to-order plumbing). If it's impact, trade gentler or smaller. If it's opportunity cost, you're being too passive — complete faster. Each component names its own fix.

Implementation shortfall is the objective function underneath modern execution: The Almgren-Chriss Model literally minimizes expected shortfall plus a risk penalty, and every scheduling algorithm is a different bet on how to trade off its components. Master the decomposition and you can read any execution report at a glance.

Related concepts

Practice in interviews

Further reading

  • Perold (1988), The Implementation Shortfall: Paper versus Reality
  • Kissell, The Science of Algorithmic Trading and Portfolio Management
  • Almgren & Chriss (2000), Optimal Execution of Portfolio Transactions
ShareTwitterLinkedIn