From NSE's Nifty200 Momentum 30 method, with Meb Faber's trend filterRead about it
Momentum, the tendency of stocks that have risen steadily to keep rising, is the strongest pattern in Indian shares, but it falls hard with the market. This holds up to 20 of the strongest stocks each month, and waits in cash whenever the Nifty 500 is below its 200-day average, the simplest trend filter there is.
Typical holdingAbout three months on average; in cash through falling markets
In cash since the latest rebalance on 1 Oct 2026. The next check is on the first trading day of November 2026. A screen, not a recommendation.
The Nifty 500 was below its 200-day average at the latest rebalance, so the rules hold no stocks: the money waits in cash until a month starts with the index back above it.
A separate test on NSE's end-of-day files from 2006, among the 500 most-traded stocks each month (companies later delisted included), after 0.2% costs on each side. The years 2006 to 2015 were kept aside while Swing Lab chose its strategies from 31 candidates, so they show how the rules did on data they were never fitted to. Results include the 2008 crash.
Compound yearly return over the whole test.
The decade kept aside: the fairest test.
The decade the live backtest below covers.
At today's rates: 20% on gains held under a year, 12.5% after. The index fund pays 12.5% once, at the end, and 0.2% a year in fees.
The largest drop from a high, 2006 to 2026 (2008 for most).
Share of all 5-year periods in which it beat the Nifty 500.
The longest it went without gaining ground on the index: the patience it asks for.
Nearby settings (10, 20 or 30 stocks; monthly, mid-month or quarterly; three lookbacks; top 200 or 500) that beat the index in both decades. With costs doubled, 92 still beat it over the 20 years.
| Year | Strategy | Nifty 500 | Difference |
|---|---|---|---|
| 2006 | +46.7% | +33.7% | +13.0% |
| 2007 | +216.8% | +62.5% | +154.3% |
| 2008 | −41.2% | −57.1% | +15.9% |
| 2009 | +41.0% | +88.6% | −47.6% |
| 2010 | +32.5% | +14.1% | +18.4% |
| 2011 | −5.6% | −27.2% | +21.6% |
| 2012 | +27.1% | +31.8% | −4.7% |
| 2013 | −1.5% | +3.6% | −5.1% |
| 2014 | +94.8% | +37.8% | +57.0% |
| 2015 | +3.0% | −0.7% | +3.7% |
| 2016 | −9.5% | +3.8% | −13.3% |
| 2017 | +99.5% | +35.9% | +63.6% |
| 2018 | −14.1% | −3.4% | −10.7% |
| 2019 | −2.6% | +7.7% | −10.3% |
| 2020 | +72.1% | +16.7% | +55.4% |
| 2021 | +85.4% | +30.2% | +55.2% |
| 2022 | −12.9% | +3.0% | −15.9% |
| 2023 | +45.1% | +25.8% | +19.3% |
| 2024 | +13.0% | +15.2% | −2.2% |
| 2025 | −17.0% | +6.7% | −23.7% |
| 2026to 1 Oct 2026 | +6.4% | −8.4% | +14.8% |
Price returns, as the Nifty 500 price index is measured; dividends would add about 1% a year to both. Past results do not promise future ones: every strategy here had years well behind the index.
1 Jan 2016 to 9 Oct 2026, run again after every close: up to 20 stocks, chosen again on the first trading day of each month, on NSE's 500 most-traded stocks at each date, after 0.2% costs on each side, against the Nifty 500 index.
Compound growth a year (CAGR).
Gain or loss over the whole test.
Largest drop from a high (max drawdown).
Share of trades that closed with a gain.
Rupees gained for every rupee lost.
Average result per trade, after costs.
A typical winning and losing trade.
Average trading days per trade.
About 51 a year.
Return for each unit of ups and downs.
Average share of the money in trades.
The extremes, after costs.
1 Jan 2016 to 9 Oct 2026: ₹6.08 L against ₹3.24 L in the Nifty 500.
Return in the year, after costs.
Each trade's return after costs, grouped.
The same rules, tested again with one thing changed. A result worth trusting holds up across these; a big swing means the headline figure depends on luck or on the exact setup.
Beat the Nifty 500 in 5 of 5 versions and in 1 of 2 halves of the test.
| Version | Yearly return | Worst fall | Win rate | Profit factor | Trades |
|---|---|---|---|---|---|
| As published20 stocks, chosen again each month, 0.2% costs on each side | +18.2% | −35.5% | 44.4% | 2.28 | 554 |
| Costs doubled0.4% on each side, as slippage in thinner stocks can be | +17.1% | −36.7% | 43.5% | 2.19 | 554 |
| 10 stocksHalf as many, each a bigger share | +19.1% | −43.4% | 43.8% | 2.26 | 313 |
| 30 stocksHalf as many again, each a smaller share | +18.5% | −34.2% | 43.5% | 2.47 | 774 |
| Without the market filterHolding stocks even while the index is below its 200-day average | +26.1% | −43.1% | 43.5% | 2.29 | 531 |
Ahead of the index by 15.8 points a year.
Behind the index by 1.5 points a year.
The last 12 stocks to leave the portfolio.
| Stock | Joined | Left | Days | Return | Why it left |
|---|---|---|---|---|---|
| Avalon TechnologiesAVALON | 1 Sep 2026 | 1 Oct 2026 | 21 | −3.9% | Market filter: index below its 200-day average |
| R R KabelRRKABEL | 1 Sep 2026 | 1 Oct 2026 | 21 | −14.6% | Market filter: index below its 200-day average |
| Aditya InfotechCPPLUS | 1 Sep 2026 | 1 Oct 2026 | 21 | +7.2% | Market filter: index below its 200-day average |
| Shilpa MedicareSHILPAMED | 1 Sep 2026 | 1 Oct 2026 | 21 | +9.5% | Market filter: index below its 200-day average |
| Syrma SGS TechnologySYRMA | 3 Aug 2026 | 1 Oct 2026 | 42 | +28.7% | Market filter: index below its 200-day average |
| Aeroflex IndustriesAEROFLEX | 3 Aug 2026 | 1 Oct 2026 | 42 | +23.4% | Market filter: index below its 200-day average |
| Diamond Power InfrastructureDIACABS | 3 Aug 2026 | 1 Oct 2026 | 42 | +9.8% | Market filter: index below its 200-day average |
| Welspun CorpWELCORP | 3 Aug 2026 | 1 Oct 2026 | 42 | +61.3% | Market filter: index below its 200-day average |
| Sansera EngineeringSANSERA | 3 Aug 2026 | 1 Oct 2026 | 42 | +31.7% | Market filter: index below its 200-day average |
| Bliss GVS PharmaBLISSGVS | 3 Aug 2026 | 1 Oct 2026 | 42 | +43.3% | Market filter: index below its 200-day average |
| Laurus LabsLAURUSLABS | 3 Aug 2026 | 1 Oct 2026 | 42 | +8.0% | Market filter: index below its 200-day average |
| Mtar TechnologiesMTARTECH | 3 Aug 2026 | 1 Oct 2026 | 42 | +35.6% | Market filter: index below its 200-day average |
Swing Lab is a screen and a history lesson, not advice. RupeeVerse is not registered with SEBI as an investment adviser or research analyst. A stock meeting a strategy's rules, or held by one, is not a recommendation to trade it, and past results do not predict future ones. Do your own research.