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:

ComponentApplied to
BrokeragePer order, at typical discount-broker rates
Securities Transaction Tax (STT)Per the current schedule for the instrument and side
Exchange transaction chargesPer exchange and segment
SEBI turnover feeOn turnover
Stamp dutyBuy side, per state schedule
GSTOn brokerage and exchange charges
SlippageA 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].