Twelve things we tested. Eleven failed.
Most backtesting tools help you find a strategy that worked. This one was built to find out whether it keeps working — and the honest answer, nearly every time, was no.
What follows is the full record, including the features that looked convincing before they were tested properly. A platform that only published its successes would be telling you a quarter of the truth.
How a feature was tested
Every one was fitted on an early stretch of data and judged on a later one it had never seen. That single rule is what separates these results from most published backtests, and it is where eleven of the twelve died.
Each was also run across different universes — Nifty 50, midcaps, smallcaps, sector baskets. A rule that works on one basket and not another has found something about that basket, not about markets.
And every figure is after measured execution costs, not assumed ones. That distinction matters more than any strategy below.
The one that survived
Hold-through: not selling what you would only buy back
When a stock is still ranked highly at a rebalance, most systems sell the whole portfolio and repurchase it. Holding it instead avoids a round trip. Tested across 240 configurations — three universes, four ranking formulas, four frequencies, five lookbacks — it won 217 of them.
It works because it saves cost, not because it forecasts anything. That is why it holds where everything else did not.
The eleven that failed
Volume Spread Analysis
A filter that vetoed purchases on distribution patterns showed +26% on midcaps. Then we checked which bar it was reading: the same day's completed candle, including its close. Corrected to use the previous day's bar — what you would actually have known — it gave −80%. The gain was the lookahead.
Anchored VWAP eligibility band
Showed +19% on midcaps and +47% on Nifty 50. Fitted on 2016–2021 and applied unchanged to 2021–2026, the best in-sample setting came 43rd of 60 out of sample, losing 13% against no band at all. Of 60 settings, 29 beat doing nothing — which is what chance gives.
Volatility-triggered rebalancing
Rebalance faster when markets are violent, slower when calm. On 2020–2024 it finished 5.6× ahead of a fixed calendar. On 2015–2020, with identical thresholds, it lost.
Machine learning
A Random Forest trained to veto trades likely to end badly, on 1,539 decisions, strictly chronological, with the threshold chosen on a validation period the test never saw. It scored 50.6% against 53.9% from always guessing the commoner answer — worse than a coin flip. The validation gap of 11 percentage points became 0.19 on unseen data, and the worst tenth of outcomes got worse, not better.
Execution timing
Trading at the best hour of the day, measured from five-minute bars. Of 34 configurations, 6 beat trading at the close out of sample — chance predicts 17. Per-stock timing gave +0.282% in sample and +0.046% out, against execution costs of 0.555%. Five-sixths of the edge was the search.
News sentiment
A 5% move on three times normal volume is news arriving, whether or not you read the headline. After one, a stock gained 8.28% over the next quarter — but an ordinary day gained 5.85%. The news was worth 2.43 points against 2.68% to trade it. Bad news underperformed an ordinary day entirely.
Leverage
The same strategy on borrowed money, with margin calls checked against the daily low because that is what a forced sale gets. On midcaps 2015–2020, 2× finished at 0.80× the unlevered result with no forced sales at all — the loss was interest alone, ₹90,333 on ₹100,000 of capital. At 5×, 16 forced sales and ₹8,040 left.
Swing trading
Pullbacks inside uptrends, exited on stops and targets rather than a calendar. On midcaps the setup found real moves — gross profit ₹50,425 across 685 trades — and execution costs took ₹1,37,631, which is 273% of the gross. On Nifty 50 at liquid-stock costs it made +13.7% in the first half of the decade and −1.5% in the second.
Microcaps
A microcap round trip costs 4.31% measured, against 1.93% for a large cap. The same momentum rule returned 0.6% a year with a 75% drawdown. The premium is real; the spread takes all of it.
India VIX as a regime signal
Sorting days into five buckets by VIX's own trailing history, the gap between calmest and most fearful was +0.43% in the first half of the decade and +0.65% in the second — consistent in sign, and both under a quarter of what it costs to act on.
Momentum formulas, entry filters and the rank buffer
Four ways of measuring momentum were statistically indistinguishable at p > 0.75. All eight entry filters — EMA crossings, RSI thresholds — performed worse than no filter. The rank buffer won on midcaps and lost on Nifty 50.
What does hold, because it is arithmetic
Three things survived every test, and none of them predicts anything.
| Finding | Measured |
|---|---|
| Execution costs are understated by most backtests | median 1.34% a side, against the 0.05% usually assumed — measured across 1,982 stocks from five-minute data |
| Rebalance frequency decides more than the strategy | yearly keeps 90% of what a rule appears to earn; monthly keeps 22% |
| Index membership lists inflate results | the same rule gave ₹56 lakh on an index-defined basket and ₹3.37 crore on a survivor-biased one |
None of this is advice, and none of it says what any strategy will do next. It says what these rules did on ten years of Indian equity prices after every charge and tax — and, more usefully, which of them stopped working the moment they were tested on data they had not been chosen from.
You can run every one of these tests yourself on the platform. That is rather the point: a result you cannot reproduce is a claim, not a finding.
