From Mark MinerviniRead about it
Mark Minervini's Stage 2 test: a stock in a strong, established uptrend, near its high and leading the market. A signal comes when such a stock closes at a new 20-day high, rising out of a pause.
Typical holdingWeeks to months; longer in a strong trend
At the close of 1 Oct 2026, among NSE's 500 most-traded stocks. A screen, not a recommendation: in the backtest, a trade opened at the next day's open.
1 Jan 2016 to 1 Oct 2026: a 10-stock portfolio following these rules 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 79 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 1 Oct 2026: ₹7.70 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 published10 stocks at a time, 0.2% costs on each side | +20.9% | −56.1% | 31.5% | 1.7 | 845 |
| With the market filterNew trades only while the Nifty 500 is above its 200-day average | +21.8% | −53.1% | 33.9% | 1.8 | 673 |
| Costs doubled0.4% on each side, as slippage in thinner stocks can be | +18.0% | −59.0% | 30.3% | 1.58 | 844 |
| 5 stocks at a timeA bigger share of the money in each trade | +19.3% | −68.0% | 31.9% | 1.71 | 439 |
| 20 stocks at a timeA smaller share in each trade | +20.1% | −46.8% | 30.6% | 1.64 | 1,658 |
Ahead of the index by 18.8 points a year.
Ahead of the index by 0.8 points a year.
The last 12 trades the rules closed, with 10 still open.
| Stock | Opened | Closed | Days | Return | Why it closed |
|---|---|---|---|---|---|
| Diamond Power InfrastructureDIACABS | 16 Sep 2026 | 29 Sep 2026 | 9 | −12.6% | Closed below the 50-day average |
| Ather EnergyATHERENERG | 9 Jul 2026 | 29 Sep 2026 | 57 | +20.0% | Closed below the 50-day average |
| Anand Rathi WealthANANDRATHI | 6 Jul 2026 | 28 Sep 2026 | 59 | +2.7% | Closed below the 50-day average |
| Avalon TechnologiesAVALON | 21 Sep 2026 | 25 Sep 2026 | 4 | −8.2% | 8% below the opening price |
| CupidCUPID | 9 Jun 2026 | 22 Sep 2026 | 73 | +76.9% | Closed below the 50-day average |
| Vodafone IdeaIDEA | 26 Aug 2026 | 21 Sep 2026 | 17 | −8.5% | 8% below the opening price |
| Netweb Technologies IndiaNETWEB | 3 Aug 2026 | 16 Sep 2026 | 31 | +1.1% | Closed below the 50-day average |
| Granules IndiaGRANULES | 14 Jul 2026 | 27 Aug 2026 | 32 | −7.4% | Closed below the 50-day average |
| Rashi PeripheralsRPTECH | 31 Jul 2026 | 26 Aug 2026 | 18 | −4.5% | Closed below the 50-day average |
| Thangamayil JewelleryTHANGAMAYL | 5 Jun 2026 | 3 Aug 2026 | 40 | −5.8% | Closed below the 50-day average |
| Bliss GVS PharmaBLISSGVS | 25 May 2026 | 31 Jul 2026 | 47 | +40.7% | Closed below the 50-day average |
| Acutaas ChemicalsACUTAAS | 3 Feb 2026 | 27 Jul 2026 | 116 | +58.3% | Closed below the 50-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 is not a recommendation to trade it, and past results do not predict future ones. Do your own research.