A good backtest starts before the first result appears. Define the idea clearly, keep the rules fixed, inspect the full distribution of historical outcomes and then stress test the assumptions.
| Step | Action | Common mistake |
|---|---|---|
| 1 | Write the hypothesis | Starting with a chart that already looks good |
| 2 | Define entry and exit rules | Changing rules after seeing losses |
| 3 | Choose a historical sample | Using only a favorable recent period |
| 4 | Run the test | Looking only at total return |
| 5 | Inspect distribution | Ignoring bad years and outliers |
| 6 | Stress test parameters | Trusting one exact setting |
| 7 | Validate separately | Judging the strategy on the same data used to optimize it |
The rules can be especially simple: choose a symbol, a recurring start date, a recurring end date and a lookback. Then review every yearly return plus win rate, average and median.
Afterward, shift the dates slightly and compare alternate lookbacks. Robust patterns should not depend entirely on one precise historical configuration.
Indicator-driven systems may also require position sizing, stop rules, execution assumptions, transaction costs and portfolio constraints. The more parameters you add, the easier it becomes to overfit historical noise.
Documenting every rule before the test is one of the simplest defenses against hindsight bias.
Does performance survive different time samples and modest parameter changes?
Are costs, liquidity and execution assumptions reasonable for the strategy?
Is there a plausible market mechanism, or only an attractive historical coincidence?
For seasonality strategies, use the free dashboard to test historical recurring dates and review the observations behind the summary.
Yes. Calendar-based strategies can often be tested with a purpose-built interface instead of a programming language.
No. It shows how a rule behaved historically and helps evaluate robustness; it does not guarantee future returns.