automation
The gap between a backtest and a live account is not mysterious and it is not bad luck. It is a short list of concrete effects, each of which can be quantified in advance if you are willing to make the test uglier.
The six
| Mechanism | What it does | How to model it |
|---|---|---|
| Look-ahead bias | Uses information not available at the time | Shift every signal by one full bar and retest |
| Survivorship | Tests only instruments that still exist | Use a dataset including delisted symbols |
| Slippage | Assumes fills at the signal price | Charge a realistic penalty on every entry and exit |
| Spread and commission | Often omitted entirely | Use your measured all-in cost per round turn |
| Overfitting | Parameters tuned to the sample | Walk-forward testing, out-of-sample holdout |
| Regime | Tested in one volatility environment | Split results by volatility quartile |
The cost test is the cheapest and the most brutal
Take the finished backtest and double the cost assumption. If the edge disappears, the strategy was a cost-sensitivity experiment rather than a trading system. Most short-horizon strategies fail this test, which is precisely why they are popular in marketing and rare in production.
What a deployment plan looks like
- 01Paper trade against live data for a defined period, comparing fills with backtest assumptions.
- 02Go live at the smallest size the broker allows, for a fixed number of trades.
- 03Compare live slippage and cost against the model. Update the model, not the expectations.
- 04Scale only after the live sample matches the modelled distribution, not after one good month.
A backtest is a hypothesis about costs as much as about signals, and it is usually wrong about the costs.
Written by Aram Latifi. Ex-quant developer, now writing about the plumbing of retail trading. No affiliate links on this site.