Choosing and Evaluating a Trading Strategy Backtester
Summary
The article explains why backtests are approximations of live trading and compares simple bar-by-bar for-loop systems with event-driven systems that process market data, signals, orders, and fills through an event queue. For-loop backtests are easy to build and fast for initial screening, but may assume immediate fills, omit trading costs, and introduce look-ahead errors. Event-driven designs can more closely resemble live infrastructure and reduce some timing errors, though they require more implementation work and do not eliminate every source of bias.
It surveys common limitations, including in-sample overfitting, survivorship and look-ahead bias, regime changes, transaction costs, OHLC data, capacity, benchmark selection, robustness, and the trader’s ability to tolerate drawdowns. It also argues that realistic research needs execution assumptions, portfolio and risk handling, reliable deployment, monitoring, and continuing strategy research. The recommendation is to build a backtester as a learning exercise or improve it over time, while treating favorable historical results skeptically. Backtests help filter ideas; they cannot establish future live performance.
Key ideas
- Backtests model historical strategy performance and cannot be treated as live trading results.
- For-loop backtesters are quick and simple, but often make unrealistic fill and cost assumptions.
- Event-driven systems process market data, signals, orders, and fills in sequence, which can reduce some look-ahead errors.
- Testing should address bias, transaction costs, capacity, benchmark choice, robustness, and regime changes.
- Backtesting is best used to screen ideas, with further validation and sound trading infrastructure needed before deployment.
Tags
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.