CMT study materials
CMT study resources

A Sharpe of 2.1 That Didn't Survive Contact

CMT · Put your knowledge to work in context.

All case studies

A Sharpe of 2.1 That Didn't Survive Contact

A cross-sectional mean-reversion strategy on mid-cap US equities shows a five-year in-sample Sharpe of 2.1. The rule is: rank on a 20-day z-score of price to 20-day moving average, enter at |z| > 2.0, exit at |z| < 0.5, hold maximum 10 days. Those parameters were the best of 144 combinations tested on the same data. Annual turnover is 520% and the assumed cost is 12 bp per side; gross alpha is 4.8% per year and net is 3.1%. Over seven live months gross alpha has run at 2.9% annualized and net at 0.2%. The universe has been redefined twice since the backtest, and three of the top five contributors in-sample are no longer in it.

1. Decompose the gap between the in-sample 2.1 Sharpe and the live 0.2% net return into its distinct causes, with the arithmetic where possible.

Read the worked answer

The 1.7-point gap between gross (4.8%) and net (3.1%) in-sample is the first clue. With 520% annual turnover, that implies a realized cost of about 33 bp per round trip (1.7% / 520%), not the 12 bp per side (24 bp round trip) assumed. So the backtest is already understating costs by roughly 40% - and that is before the live period.

Four separable causes:

  1. Selection / overfitting. 144 combinations on one five-year sample means the reported Sharpe is a maximum of 144 noisy draws. Under the null of zero skill, the best of 144 roughly independent trials has an expected maximum Sharpe well above 1; you do not need the exact deflated-Sharpe number to see that 2.1 selected from 144 is not the same evidence as 2.1 tested once. The absence of a parameter plateau (a stability neighborhood) makes this worse.
  2. Cost misspecification. Mid-caps in a 20-day-reversal signal trade exactly when spreads are widest and impact is highest - after a sharp move. 12 bp per side is a calm-market number. The live net of 0.2% on gross 2.9% implies ~2.7% of real cost, i.e. roughly 52 bp per round trip.
  3. Universe drift. The universe was redefined twice and three of the top five in-sample contributors left it. The backtest's returns were partly earned on names that are no longer tradable - that is look-ahead survivorship in the selection of the universe, not just in the data.
  4. Alpha decay / crowding. Mean reversion of this simple a form decays as it becomes known. Live gross of 2.9% vs backtest 4.8% is a 40% haircut, consistent with decay plus the universe change.

Net: the live result is not 'bad luck in seven months.' It is what this backtest should be expected to produce.

2. What would you require before allocating capital to a revised version of this strategy? Be specific about the tests and the metrics.

Read the worked answer

Validation requirements:

  1. A genuine holdout. Reserve the most recent 24 months (or a separate asset class/universe) untouched during all parameter work. Report the test-set Sharpe and, critically, report the number of trials so a deflated Sharpe ratio or equivalent multiple-testing adjustment can be computed. A strategy that only survives with 144 trials of selection does not survive.
  2. Parameter plateau, not a peak. Plot Sharpe across the 12 × 12 grid. A real effect has a broad neighborhood of positive, similar-Sharpe cells. A single hot cell surrounded by zeros is noise. Require the chosen point to sit in a plateau whose median Sharpe is at least ~70% of the peak.
  3. Walk-forward with per-period reoptimization - parameters permitted to change each period, with the out-of-sample segments stitched together. This tests the process, not one lucky fit.
  4. Cost realism. Replace 12 bp with a model that depends on the realized move: spread plus square-root market impact scaled by ADV, applied with a delay (signal at close, trade at next open) so no look-ahead execution. Recompute net Sharpe; if net Sharpe is under ~0.8 after realistic costs at 520% turnover, the strategy is not investable as specified. Lower turnover by widening the entry threshold or lengthening the hold - but then re-run the whole validation, because that is a new set of trials.
  5. Capacity check. Estimate the AUM at which impact consumes half the gross alpha, using ADV of the smallest names in the universe. Mid-cap reversal is capacity-constrained; state the ceiling explicitly.
  6. Universe as-of. Rebuild the universe as it actually existed on each date, not as it exists now, and confirm the top contributors were members at the time.

Decision rule stated in advance: allocate only if out-of-sample net Sharpe ≥ 1.0 with realistic costs, the parameter point sits in a plateau, and the capacity ceiling exceeds the proposed allocation by at least 3x. Otherwise, paper-trade and revisit.