From NSE's factor indices (momentum and low volatility)Read about it
Two of the best-documented patterns in Indian shares, together. Stocks that have risen steadily tend to keep beating the market (momentum), and calm stocks tend to do better than jumpy ones over time (low volatility). Each month it picks up to 20 stocks with the best blend of the two.
Typical holdingAbout four months on average
As chosen at the latest rebalance on 1 Oct 2026, in today's ranking order, with figures at the close of 9 Oct 2026. The next rebalance is on the first trading day of November 2026. A screen, not a recommendation.
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, 108 still beat it over the 20 years.
| Year | Strategy | Nifty 500 | Difference |
|---|---|---|---|
| 2006 | +105.4% | +33.7% | +71.7% |
| 2007 | +120.4% | +62.5% | +57.9% |
| 2008 | −59.9% | −57.1% | −2.8% |
| 2009 | +58.9% | +88.6% | −29.7% |
| 2010 | +42.4% | +14.1% | +28.3% |
| 2011 | −11.6% | −27.2% | +15.6% |
| 2012 | +40.2% | +31.8% | +8.4% |
| 2013 | −0.3% | +3.6% | −3.9% |
| 2014 | +56.8% | +37.8% | +19.0% |
| 2015 | +15.6% | −0.7% | +16.3% |
| 2016 | −3.1% | +3.8% | −6.9% |
| 2017 | +57.4% | +35.9% | +21.5% |
| 2018 | −4.3% | −3.4% | −0.9% |
| 2019 | +8.4% | +7.7% | +0.7% |
| 2020 | +63.0% | +16.7% | +46.3% |
| 2021 | +67.4% | +30.2% | +37.2% |
| 2022 | −10.1% | +3.0% | −13.1% |
| 2023 | +57.6% | +25.8% | +31.8% |
| 2024 | +35.0% | +15.2% | +19.8% |
| 2025 | −4.8% | +6.7% | −11.5% |
| 2026to 1 Oct 2026 | +25.5% | −8.4% | +33.9% |
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 46 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: ₹10.87 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 2 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 | +24.8% | −36.7% | 48% | 2.73 | 498 |
| Costs doubled0.4% on each side, as slippage in thinner stocks can be | +23.7% | −37.5% | 46.2% | 2.61 | 498 |
| 10 stocksHalf as many, each a bigger share | +26.4% | −42.4% | 43.4% | 2.26 | 325 |
| 30 stocksHalf as many again, each a smaller share | +23.2% | −30.3% | 48.3% | 3.04 | 607 |
| With the market filterIn cash while the Nifty 500 is below its 200-day average | +14.7% | −32.6% | 46.6% | 2.51 | 539 |
Ahead of the index by 15.7 points a year.
Ahead of the index by 11.0 points a year.
The last 12 stocks to leave the portfolio; 18 are held now.
| Stock | Joined | Left | Days | Return | Why it left |
|---|---|---|---|---|---|
| SBC ExportsSBC | 3 Aug 2026 | 1 Oct 2026 | 42 | +39.0% | Fell out of the top 40 |
| Bharat ForgeBHARATFORG | 4 May 2026 | 1 Oct 2026 | 105 | −0.5% | Fell out of the top 40 |
| Acutaas ChemicalsACUTAAS | 1 Jul 2026 | 1 Sep 2026 | 44 | −11.1% | Fell out of the top 40 |
| Cummins IndiaCUMMINSIND | 4 May 2026 | 1 Sep 2026 | 84 | −4.3% | Fell out of the top 40 |
| Coal IndiaCOALINDIA | 4 May 2026 | 3 Aug 2026 | 63 | −14.0% | Fell out of the top 40 |
| NTPCNTPC | 4 May 2026 | 3 Aug 2026 | 63 | −13.5% | Fell out of the top 40 |
| Mtar TechnologiesMTARTECH | 2 Mar 2026 | 3 Aug 2026 | 102 | +63.2% | Fell out of the top 40 |
| JBCHEPHARMJBCHEPHARM | 1 Apr 2026 | 24 Jul 2026 | 71 | +15.8% | The stock stopped trading |
| ABB IndiaABB | 4 May 2026 | 1 Jul 2026 | 40 | −3.5% | Fell out of the top 40 |
| VedantaVEDL | 4 May 2026 | 1 Jul 2026 | 40 | +0.9% | Fell out of the top 40 |
| National Aluminium CompanyNATIONALUM | 1 Apr 2026 | 1 Jul 2026 | 60 | −15.1% | Fell out of the top 40 |
| Hindalco IndustriesHINDALCO | 2 Feb 2026 | 1 Jul 2026 | 99 | +4.7% | Fell out of the top 40 |
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.