Methodology
How every strategy on The Algo Bench is tested, what goes into the numbers, and what we deliberately leave out.
Last updated
A backtest is only as honest as its assumptions. These are the standards every published result follows. If a post departs from them, it says so at the top.
How each strategy is then scored, the eight checks and the risk levels, is on How we score strategies.
1. Rules first, then data
Every strategy is written down as complete, unambiguous rules before results are reported: entry, exit, sizing, instrument selection and the time each decision is made. If a rule can’t be coded without judgement, it isn’t a rule yet.
And then published in full. Every strategy on this site comes with its complete rules, the same ones we tested. Nothing is held back, hidden behind a paywall or sold as a signal. You can check our work, reproduce it, and test it on your own data.
2. Costs are always in
All results are net of modelled costs. For Indian markets that means:
| Component | Applied to |
|---|---|
| Brokerage | Per order, at typical discount-broker rates |
| Securities Transaction Tax (STT) | Per the current schedule for the instrument and side |
| Exchange transaction charges | Per exchange and segment |
| SEBI turnover fee | On turnover |
| Stamp duty | Buy side, per state schedule |
| GST | On brokerage and exchange charges |
| Slippage | A per-trade assumption stated in each post, checked against live fills where we have them |
Costs work in both directions. Overstating them can kill a good strategy just as surely as understating them can flatter a bad one, so where we have live fills we calibrate the model to them and say so.
3. In-sample and out-of-sample
Each strategy shows the period it was designed on (in-sample) separately from a later period it never saw during design (out-of-sample). Where it makes sense we also show walk-forward results: re-fitting on a rolling window and testing on the next one.
4. Parameter sensitivity
A single best parameter setting is not a result. We show how performance changes as key parameters move. A strategy that only works at one exact setting is curve-fitted, and we treat it that way.
5. No survivorship or look-ahead bias
- Equity universes are point-in-time. Tests use the stocks that were actually in the universe on each date, including those that were later delisted, merged or dropped from an index.
- Decisions use only information available at that moment. Signals are computed on completed bars, and orders are assumed to fill no earlier than the next tradable price.
- Derivatives use the contracts that actually existed. Expiries, lot sizes and strikes follow the historical contract specifications.
6. Data at least three months old
Published results use market data that is at least three months old. Our site build enforces this: a strategy page with recent data won’t publish. This is research and education. We don’t comment on current prices or levels, and nothing here tells you what to trade now.
7. Corrections
If we find an error in a published result, we correct the post, note what changed and when at the top, and keep the original numbers visible. Found a mistake? Write to [email protected].