Every strategy that arrives for an audit is profitable. That is why its owner paid for the audit. Here are the nine failures we find most often, roughly in order of how much damage they do.
1. The signal used a bar that had not closed
The single most common error. An indicator computed on the current candle, a decision executed at that candle's open, and a backtest that quietly earned the difference. It shows up as an equity curve too smooth to be true.
2. Costs modelled as a round number
"Two rupees a trade" is not a cost model. Brokerage, STT, exchange charges, SEBI fees, GST, stamp duty and impact cost behave differently by product and by leg. A four-leg options structure pays the stack four times, and an intraday system pays it every day.
3. Fills that were never available
Filling at the touch, in full size, at every signal, in an illiquid far strike. Check whether that price traded in that size at that moment before you count the money.
4. Parameters chosen on the same data used to report
Grid-search the whole history, pick the best cell, report that cell's numbers. The result is a description of the past, not a prediction. Walk-forward folds are the minimum defence; a parameter surface that is flat around your setting is a better one.
5. Survivorship in the universe
Testing today's index constituents over ten years of history means testing the survivors. The companies that fell out are exactly the ones that would have hurt.
6. All of the edge came from four days
Sort trades by contribution. If the top five trades produce most of the profit, you do not have a strategy, you have a lottery ticket with a good story. Sometimes that is acceptable — but you should know it before, not after.
7. The regime never repeated
Strategies fitted in a single volatility regime behave differently in the other. Split the sample by realised volatility, trend and breadth, and look at each bucket separately.
8. Corporate actions and expiry handling
Unadjusted prices produce phantom gaps; wrong expiry mapping produces trades in contracts that did not exist. Both usually flatter the result.
9. The live system is a different program
A research notebook and a production script written by different hands, months apart, are two strategies. Run one implementation in both modes, or expect the gap to appear in your P&L rather than your tests.
The test we apply last
Take the strategy, degrade every assumption one notch — double the costs, delay the fill by a bar, widen the spread — and see what remains. Edges that survive that treatment are worth deploying. The rest are worth knowing about, cheaply, before capital arrives.
Simulated and backtested results have inherent limitations and are not indicative of future results. Nothing here is investment advice.