Implicit costs
∞structuralSpread, slippage, market impact and the opportunity cost of an unfilled order. Implementation shortfall (Perold 1988) is the honest, all-in measure, harder to game than VWAP.
The idea
Reference figure. This concept is explained in prose and diagram; the interactive widgets live on the flagship pages it links to under Where this fits.
What is implementation shortfall?
Implementation shortfall (IS) is the total cost of implementing a trading decision, defined as the difference between the return of a hypothetical "paper" portfolio (filled instantly and in full at the decision price) and the return your real portfolio actually achieved. It captures every implicit cost in a single number, against a single benchmark: the price at the moment you decided.
The intuition is Perold's (1988). Imagine two traders given the same idea at the same instant. One is a "paper" trader who magically owns the whole position immediately at the price on the screen; the other is you, who must work the order into a real, finite, moving market. The money the paper trader makes that you do not is the implementation shortfall. It is the honest, all-in price of reality.
The benchmark is the decision price (the arrival price when you benchmark from order arrival), and the choice matters enormously. Benchmarking against VWAP or against the close hides costs that IS exposes, because those benchmarks move with your own trading. IS uses a price fixed before you act, so your own impact cannot flatter it. That is why IS is the standard against which execution algorithms are judged: VWAP, TWAP, POV and Almgren–Chriss are, formally, machines for minimising expected IS subject to a risk constraint.
▸ Show the derivation: Perold's two-portfolio accounting optional
Let the decision be to buy shares at decision price . The paper portfolio buys all at instantly and costlessly. The real portfolio fills shares at average price (paying fees ), and the remaining is never filled. Mark both to a later reference price .
The first term is the execution cost on what you filled (spread + delay + impact); the second is the opportunity cost on what you missed; is the explicit fees from transparent costs. That is the canonical additive decomposition (Perold 1988).
Spread cost: what you pay to cross
Spread cost is the immediate, mechanical cost of demanding immediacy. To trade now you cross from the mid to the touch, paying half the bid-ask spread on each side: buy at the ask, sell at the bid, each half a spread above or below the mid. It is the smallest, most certain and most often-quoted implicit cost.
The quoted spread is the market maker's price for immediacy. If you insist on trading this instant with a marketable order, you pay half of it relative to the mid, every time; round-trip, that is one full spread. The effective spread (twice the signed distance from the mid to your fill) is the standard measured version, and it can exceed the quoted spread when your order is large enough to walk the book, at which point spread cost shades into market impact.
This is exactly the number that, with the opposite sign, is the market maker's revenue: the same spread you pay to cross is what they earn for posting. Where the spread comes from is microstructure: the tick size floors it, depth and competition set it; see the limit order book.
Slippage and delay cost: the price moved while you worked
Slippage is the gap between the price you expected and the price you got. Delay cost is the slice of slippage caused purely by time: the price drifting between your decision and your execution, before your own trading even hits the market. Both are signed: they hurt when the price moves against your direction, and occasionally pay when it moves your way.
There is always a lag between "I want to buy" and "the order is filled": research compute, risk checks, network hops, working the order in slices. During that lag the price keeps moving. If it drifts up before your buy lands, that drift is delay cost: pure, unrecoverable timing loss measured against the decision price. Cleanly decomposed, the broad term slippage is delay cost (price moved before you traded) plus impact (price moved because you traded) plus the spread you crossed.
Delay cost is why latency matters as a cost, not just a race: every microsecond of delay is exposure to adverse drift, which links the costs topic to the systems and latency-arbitrage work: speed is, in part, a delay-cost-reduction technology. Delay cost has both a mean (adverse, because if you are trading on a signal the price tends to move your way and away from your entry) and a variance (timing risk). Trading impact off against that timing variance is precisely the Almgren–Chriss problem.
Opportunity cost: the trade you never finished
Opportunity cost is the cost of the shares you meant to trade but did not, because you priced your limit orders too passively, the market ran away, or you ran out of time. It is measured as the favourable move you missed on the unfilled quantity, marked to the reference price. It is the most-ignored IS component and often the largest.
Passive execution is cheap on the shares it fills and expensive on the shares it misses. Post a limit order to save the spread, the price runs in your favour, your order never fills, and you saved a half-spread on nothing and missed the whole move on the part you wanted. That missed move is opportunity cost, and it shows up nowhere except IS.
This is the deep reason TCA must use IS and not "average fill versus VWAP": a benchmark that only scores filled shares rewards the trader who quietly drops the hard part of an order. IS charges you for the miss, and that property is why the framework won. The tension it creates is the core of execution: aggressive trading cuts opportunity and delay cost but raises spread and impact cost; passive trading does the reverse. Every execution algorithm is a chosen point on that trade-off.
How the components add up: the decomposition
The four implicit costs are additive: total implementation shortfall decomposes cleanly into spread cost plus delay cost plus market-impact cost plus opportunity cost, with the explicit fees from transparent costs added on top. Because they trade off against each other, you cannot minimise all four at once; you choose a point on the frontier, which is what execution strategy is.
The trade-offs make it interesting. Trade faster / more aggressively and you cut delay and opportunity cost but raise spread and impact cost; trade slower / more passively and you do the reverse. This is the impact-versus-timing-risk frontier that Almgren–Chriss solves explicitly. The largest term for any sizeable order is almost always impact, which is why it earns this topic's deepest, interactive treatment in market impact: read this page for the framework, then that one for the dominant term.
Worked example
A decision to buy 100,000 shares of a \$50 stock (decision price , decision notional \$5,000,000) worked end-to-end, illustrative and as of 2026.
Spread cost. Quoted spread is \$0.02 (mid \$50.00, ask \$50.01). On the shares you take aggressively you pay half the spread versus mid = 1 cent/share = 2.0 bps. Delay cost. Between the decision and your first fill the price drifts from \$50.00 to \$50.01, and that 1-cent drift on the whole order is 2.0 bps of pure timing loss against . Impact cost. Working the order pushes the average fill to \$50.04; the portion above the delayed mid attributable to your footprint is about 2 cents/share = 4.0 bps (the square-root law on market impact is how you would have predicted this).
Opportunity cost. You fill only 90,000 of the 100,000. The 10,000 you missed would have gained \$0.06/share by the reference price: , which over the \$5,000,000 notional is 1.2 bps. Explicit fees from transparent costs, net of rebates, are about 0.2 bps.
The lesson for an HFT signal: if the gross alpha on this trade was 8 bps, the paper trade is a winner and the real trade is a 1.4-bp loser, and three-quarters of the damage (delay + impact = 6 bps) is implicit cost that an explicit-fee analysis would have entirely missed. Numbers are synthetic and rounded; reproduce them by changing any input and re-summing.