Basic Prerequisites: 04 · Turnover & the Multi-Period Trade-Off.
1. Intuition & Practical Objective
Every failure in this folder is a discrepancy between the objective you optimized and the objective you were actually paid on. There are exactly three places that discrepancy enters, and each has a name in industry:
- Cost underestimation - you optimized with but the market charged . The optimizer then trades too much, and the extra trades earn less than they cost. This is the reason strategies die between backtest and production.
- Turnover explosion - your alphas are noisy, your optimizer is linear in , and every fresh estimate re-shuffles the whole book. The portfolio becomes a perpetuum mobile of commissions: high gross, negative net.
- Constraint interaction & tracking drift - a turnover budget or a tight cap does not just slow you down; it silently changes where you can be, so you accumulate an unmanaged gap to the target that you never fully close.
The practical objective of this page is diagnostic: given a strategy that looks good on paper and loses money live, decide in five minutes which of these three is happening, because the fixes are completely different (re-estimate costs / shrink the alphas / loosen the budget respectively).
The one-sentence essence. “Optimizing with the wrong cost is a bias; optimizing a noisy alpha with no cost term is a variance; enforcing a budget without tracking the residual is a drift - and a strategy must survive all three.”
2. Mathematical Ground Truth & Derivations
2.1 Cost underestimation is a bias you can bound
Let solve the cost-aware problem with assumed cost and true cost . Realized certainty equivalent is
Because is the maximizer of the objective with , the envelope theorem gives
so is maximized exactly at the true cost - and mistakes are locally second-order but quadratic in the error. In practice the curve is asymmetric: assuming (a cost-free backtest) is a far bigger error than assuming , because the zero-cost problem has no no-trade region at all and therefore trades continuously. §3(A) quantifies it.
2.2 Turnover explosion is the estimation-error amplifier again
From the unconstrained first-order condition, the weight sensitivity to the alpha signal is
so an alpha revision in the small-eigenvalue direction of moves weights by a large multiple. If alphas are re-estimated every period with noise of size , the expected per-period turnover scales like - the same amplification that makes naive MVO an estimation-error maximizer (02), now paid in trading costs rather than in risk. Two structural facts matter:
- The no-trade band is the only brake. Without it, turnover is linear in the noise; with it, small alpha revisions produce zero trade until the gap clears .
- The cost-blind annualized turnover is a property of the signal’s noise, not of the market. §3(B) shows a cost-blind optimizer at bp/month alpha noise turning over /yr; the same optimizer on a noisier signal would turn further.
2.3 A budget truncates, and the residual accumulates
If you cap per-period turnover at by scaling the trade, then whenever the required move exceeds you leave a residual gap
Over a horizon in which the target keeps revising, the steady-state gap is roughly the ratio of the per-period revision rate to the budget - you are chasing a moving object with a speed limit. §3(C) measures it. The first-principles warning: a turnover budget is a tracking-error budget in disguise, and it should be chosen with that in mind rather than set at “whatever the risk committee last used.”
3. Computational Implementation - the three failure modes, measured
(A) assume bp while the true cost is bp and watch realized utility; (B) a -month backtest with noisy alphas, cost-blind vs cost-aware; (C) truncate turnover at a per-period budget and measure the accumulated tracking gap. numpy + scipy.
Four verified readings:
- (A) The optimizer is honest about cost - you have to be honest too. Utility peaks at bp (), exactly the envelope-theorem prediction. Assuming zero cost costs of the achievable certainty equivalent (); assuming double ( bp) costs () and drives turnover to literally zero () - you leave the entire book untouched even though trading is profitable. The asymmetry is the lesson: underestimating costs overtrades, overestimating them paralyzes.
- (B) Cost-awareness cuts turnover by and raises net alpha. Cost-blind: annualized turnover , gross , net . Cost-aware: turnover , gross , net . Gross alpha is essentially unchanged () - the cost-aware optimizer gives up nothing - yet of the annual cost bill disappears. This is the clearest possible refutation of the folk belief that “cost-aware optimization costs you alpha.”
- (C) A turnover budget leaves a permanent tracking gap. With /period the residual gap is in ; tighten to and the gap balloons to - the portfolio is more than of notional away from its own target, on average, forever. The gap is not a transient; it is the steady state of chasing a moving target under a speed limit.
- (C) The budget’s benefit is invisible in the gap. Look at what the budget actually purchased: at you spend half the turnover ( vs ) of the cost-blind policy for a gap of . Whether that is a good trade requires the cost model - which is why a budget without a cost estimate is a blind policy.
4. Failure Modes & First-Principles Breakdowns
- Backtesting at zero cost. The most common single error in quantitative finance. It removes the no-trade region entirely, so the backtest trades continuously and reports an alpha that exists only in the absence of a market. Always backtest with the assumed cost inside the optimizer and the true (conservatively high) cost applied to realized returns.
- Underestimating impact for large notional. Proportional costs are known; impact is estimated. When AUM grows, the same weights imply larger trades, rises with size, and a strategy that worked at $10M stops working at $1B - not because the signal decayed but because the cost function changed. Re-estimate as a function of your own AUM, not from a vendor deck.
- Treating noise in alphas as signal to trade on. Every fresh estimate looks like an opportunity to a cost-blind optimizer. The remedy is two-sided: shrink the alphas (Covariance Shrinkage & RMT) and price the trades.
- Setting the turnover budget without a tracking-error target. §3(C) shows the budget is a tracking-error budget. A risk committee that sets “to be safe” is silently choosing an tracking gap per period. Make the substitution explicit.
- Ignoring the constraint price when combining constraints. A per-name cap plus a group cap plus a turnover budget interact (§02): after enough constraints, the marginal one is free and the binding one is invisible. Always report the active set and the multipliers, not just the weights.
5. References
- Grinold & Kahn (2000), Active Portfolio Management, 2nd ed.
- Lobo, Fazel & Boyd (2007), Annals of OR 152:341–365
- Almgren & Chriss (2000/01), Journal of Risk 3(2)
- Clarke, de Silva & Thorley (2002), FAJ 58(5):48–66
- DeMiguel, Garlappi & Uppal (2009), RFS 22(5):1915–1953
- Hasbrouck (2007), Empirical Market Microstructure
6. Connected Graph Bridges
- Back: 04 · Turnover & the Multi-Period Trade-Off
- Siblings: Robust Optimization · 05 (input-error failure modes) · MVO · Estimation-Error Maximizers · Covariance Shrinkage & RMT
- Execution bridge: Optimal Execution (Almgren–Chriss) · POV
- Continue: 06 · Advanced Extensions
- Hub: Index Hub