A strategy can pass every statistical test — PSR > 0.95, DSR > 0.95, CPCV-consistent — and still be unprofitable in live trading if the backtest ignored realistic implementation costs. The gap between a backtest Sharpe ratio and the live Sharpe ratio is almost always negative and is usually dominated by three sources: transaction costs (bid-ask spread, market impact), short-selling costs (borrow fees, availability constraints), and survivorship bias (the dataset omits stocks that went bankrupt or were delisted). Closing this gap is the job of realistic backtesting.
This note covers each source of implementation drag in detail and shows how to adjust a backtest to account for them. The realistic net-of-cost Sharpe is what the DSR should be computed on — not the pre-cost gross Sharpe.
Learning objectives. By the end of this note you should be able to:
- estimate the round-trip transaction cost from bid-ask spread and market impact;
- quantify the impact of borrow costs and availability constraints on a short book;
- identify and correct survivorship bias in common data sources;
- adjust a backtested gross Sharpe ratio for realistic costs;
- describe the seven sins of backtesting and which are most damaging for stat-arb.
In this lesson
-
- Transaction costs: spread and market impact
-
- Short-selling constraints
-
- Survivorship bias
-
- Adjusting gross SR for realistic costs
-
- The seven sins: stat-arb specific ranking
Before you start
The full lesson, with worked examples and exercise solutions, is for members.
Read the full lessonNew to SelfMadeQuant.com? See membership options or browse the Statistical Arbitrage syllabus.