All screens

Technical & Price Action

Minervini Trend Template (Stage 2)

Minervini Trend Template (Stage 2) is a Technical & Price Action screen. It checks every NSE-listed stock against 5 conditions computed from nightly data, after excluding heavily pledged promoters and very small market caps. This page explains the rule, each figure and its source. It lists no stocks and is not advice.

What it does and why

Mark Minervini's Trend Template defines the precise conditions for a stock to be in Stage 2 — the institutional accumulation phase where the best risk-reward setups occur. Stage 2 begins after a stock has built a price base (Stage 1 consolidation) and is characterised by the stock trading above all its major moving averages, with those averages properly stacked in bullish order. The eight criteria collectively ensure: (1) the long-term trend is up, (2) all time-frames of moving averages are aligned, (3) the stock is not so extended below its lows that all the easy money has been made, and (4) the stock is not so extended above its prior high that downside risk is elevated. Only stocks meeting all eight simultaneously qualify — which in practice creates a highly selective list.

The rule, step by step

A stock must satisfy every condition below. Conditions are grouped under the pillar they test.

Stage 2 Uptrend Configuration

  • Close Price > 50-Day SMA
  • 50-Day SMA > 150-Day SMA
  • 150-Day SMA > 200-Day SMA
  • Close Price ≥ 52-Week High × 0.75
  • (52-Week Low = 0) or (Close Price ≥ 52-Week Low × 1.3)

Hard excludes

  • Promoter pledge above 30% of the promoter's holding
  • Market cap below ₹500 crore
Passes the screen

Ranked by Close Price, highest first.

The figures it uses

Close Price

Used in a condition
Formula
Closing price of the latest daily bar, adjusted for splits, bonuses and other corporate actions
Input fields
close
Source of record
Upstox · public historical candles, NSE_EQ|{ISIN} (no auth)FinEdge · /api/v1/daily-quotes/{symbol} (fallback)
Corporate actions
Adjusted for corporate actions before use
Refresh
Recomputed nightly (06:30 IST job); rows older than 3 days are excluded from screens

50-Day SMA

Used in a condition
Formula
Simple average of the last 50 daily closes
Input fields
close
Source of record
Upstox · public historical candles, NSE_EQ|{ISIN} (no auth)FinEdge · /api/v1/daily-quotes/{symbol} (fallback)
Corporate actions
Adjusted for corporate actions before use
Refresh
Recomputed nightly (06:30 IST job); rows older than 3 days are excluded from screens

150-Day SMA

Used in a condition
Formula
Simple average of the last 150 daily closes
Input fields
close
Source of record
Upstox · public historical candles, NSE_EQ|{ISIN} (no auth)FinEdge · /api/v1/daily-quotes/{symbol} (fallback)
Corporate actions
Adjusted for corporate actions before use
Refresh
Recomputed nightly (06:30 IST job); rows older than 3 days are excluded from screens

200-Day SMA

Used in a condition
Formula
Simple average of the last 200 daily closes
Input fields
close
Source of record
Upstox · public historical candles, NSE_EQ|{ISIN} (no auth)FinEdge · /api/v1/daily-quotes/{symbol} (fallback)
Corporate actions
Adjusted for corporate actions before use
Refresh
Recomputed nightly (06:30 IST job); rows older than 3 days are excluded from screens

52-Week High

Used in a condition
Formula
Highest daily high over the latest 252 bars, or all bars if fewer (at least 60 are required)
Input fields
high
Source of record
Upstox · public historical candles, NSE_EQ|{ISIN} (no auth)FinEdge · /api/v1/daily-quotes/{symbol} (fallback)
Corporate actions
Adjusted for corporate actions before use
Refresh
Recomputed nightly (06:30 IST job); rows older than 3 days are excluded from screens

52-Week Low

Used in a condition
Formula
Lowest daily low over the latest 252 bars, or all bars if fewer (at least 60 are required)
Input fields
low
Source of record
Upstox · public historical candles, NSE_EQ|{ISIN} (no auth)FinEdge · /api/v1/daily-quotes/{symbol} (fallback)
Corporate actions
Adjusted for corporate actions before use
Refresh
Recomputed nightly (06:30 IST job); rows older than 3 days are excluded from screens

Promoter Pledge

Hard exclude input
Formula
Pledged shares as a share of the promoter's own holding: pledgedSharesPct ÷ promoter holding × 100; blank when the quarter is not listed
Input fields
pledgedSharesPct, promoter holding
Source of record
FinEdge · /api/v1/shareholdings/summary/{symbol}?period=quarterlyFinEdge · /api/v1/shareholdings/pattern/{symbol}?period=quarterly
Refresh
Recomputed nightly (06:30 IST job); rows older than 3 days are excluded from screens

Market Cap

Hard exclude input
Formula
Close × paid-up equity shares ÷ 10,000,000 (₹ crore)
Input fields
close, paidUpEquityShares
Source of record
Upstox · public historical candles, NSE_EQ|{ISIN} (no auth)FinEdge · /api/v1/daily-quotes/{symbol} (fallback)FinEdge · /api/v1/shareholdings/summary/{symbol}?period=quarterly
Corporate actions
Adjusted for corporate actions before use
Refresh
Recomputed nightly (06:30 IST job); rows older than 3 days are excluded from screens

What each figure means

Price vs 200-Day MA (%)

Percentage by which the current price exceeds the 200-day moving average. Must be positive — price above 200MA is the most basic Stage 2 requirement.

High is better

150-Day MA vs 200-Day MA (%)

The percentage by which the 150-day moving average exceeds the 200-day moving average. Must be positive — the 150MA must be above the 200MA.

This ensures the intermediate trend (150-day) is also bullish relative to the long-term trend (200-day). If the 150MA is below the 200MA, the intermediate trend has not yet confirmed the Stage 2 thesis.

High is better

Price Premium vs 52-Week Low (%)

The percentage by which the current price exceeds the 52-week low. Minervini requires this to be at least 30% — meaning the stock has recovered at least 30% from its yearly low.

This ensures the stock has already shown upward momentum from its base. A stock at 5% above its 52-week low has barely recovered — not yet a confirmed Stage 2. At 30%+ above the low, a meaningful base has been built.

High is better

Price Discount vs 52-Week High (%)

The percentage by which the current price is below the 52-week high. Minervini requires this to be within 25% — meaning the stock is no more than 25% below its yearly high.

Low is better

Try the rule

Type hypothetical values to see which conditions they satisfy. These are not real stocks and nothing here is stored.

  • Close Price > 50-Day SMA—
  • 50-Day SMA > 150-Day SMA—
  • 150-Day SMA > 200-Day SMA—
  • Close Price ≥ 52-Week High × 0.75—
  • (52-Week Low = 0) or (Close Price ≥ 52-Week Low × 1.3)—

Enter values to begin

A worked example

Loading the worked example…

Sign in with a completed risk profile to check any stock against this rule.

Evidence

What the harness measured

Early signal

In the past data we checked, the stocks this screen picked did better than the ones it left out, but a cost-aware, out-of-sample portfolio built from them did not hold up well against our deflated-Sharpe bar.

AI-generated plain-language explanation

In the past data we checked, the stocks this screen picked did better than the ones it left out, but a portfolio built from them did not clear our test after trading costs. Each month across the whole period we have data for, we checked whether the stocks this screen picked did better, over the following month (21 trading days), than the stocks it didn't pick. We score that from -1 (the picks always did worse) to +1 (always did better); 0 means no pattern. This screen scored 0.0492. As a measurement, the score is small, but clearly above zero. If the screen had no real edge, a score at least this far from zero would show up less than 1 in 1,000 by luck alone. We also tested a portfolio of the screen's picks over 64 months, using only what was known at the time and after estimated trading costs: it earned 0.40 for each unit of ups and downs, per year. Because this screen has been tested 2 times, we mark down results that could be flukes. After that, the chance that it truly beats simply holding the index is about 32 in 100. A pattern can exist and still not be worth trading after costs. This is a record of the past, not a prediction. A screen is still a way to narrow a list by your own rules, whatever the measurement says.

This content has been generated with the assistance of artificial intelligence tools by FINOME TECHNOLOGIES PVT LTD. It is for educational purposes only and does not constitute investment advice, a research report, or a recommendation under SEBI (Research Analysts) Regulations, 2014 or SEBI (Investment Advisers) Regulations, 2013. Not investment advice. Issued in compliance with SEBI circular SEBI/HO/MIRSD/MIRSD-SEC-5/P/CIR/2024/149.

Show the exact wording we approved

In the past data we checked, the stocks this screen picked did better than the ones it left out, but a portfolio built from them did not clear our test after trading costs. Each month, across the whole period we have data for, we checked whether the stocks this screen picked did better, over the following month (21 trading days), than the stocks it didn't pick. We score that from -1 (the picks always did worse) to +1 (always did better); 0 means no pattern. This screen scored 0.0492. As a measurement, the score is small, but clearly above zero. If the screen had no real edge, a score at least this far from zero would show up less than 1 in 1,000 by luck alone.

We also tested a portfolio of the screen's picks over 64 months, using only what was known at the time and after estimated trading costs: it earned 0.40 for each unit of ups and downs, per year. Because this screen has been tested 2 times, we mark down results that could be flukes. After that, the chance that it truly beats simply holding the index is 0.324, about 32 in 100.

A pattern can exist and still not be worth trading after costs. This is a record of the past, not a prediction. A screen is still a way to narrow a list by your own rules, whatever the measurement says.

Information coefficient0.0492-1 to +1; 0 means no pattern
IC p-value<0.001how often luck alone would do this
Net Sharpe (out-of-sample)0.40per year, after estimated trading costs
Deflated Sharpe probability0.324Deflated against 2 trialsthe chance it truly beats holding the index, after marking down for flukes
Annual turnover6.3how much of the portfolio is replaced each year
Out-of-sample months64months of portfolio testing, using only what was known at the time
Universe:
Today's Nifty 500 constituents (survivorship-biased: delisted names are absent)
Data window:
2019-04-01 → 2026-09-25
IC basis:
Pattern score: measured across the full period
Portfolio:
Portfolio test: out-of-sample months only; rebalanced monthly, 21 trading days, net of estimated costs, for a fixed position size per stock
Versions:
qp21f-nifty500-2.0.0 / 0.1.0 / 2.0.0
Record:
11c859dc-913

Live monitoring

  • 5-day IC -0.143 · signal date 2026-10-14 · n 4447
  • 22-day IC -0.034 · signal date 2026-09-12 · n 3840

This is a historical, statistical measurement produced by FINOME TECHNOLOGIES PVT LTD's research harness on past data. It is not a prediction, and past results do not indicate future results. The universe is today's Nifty 500 constituents, so the sample is affected by survivorship bias. It describes how a screen's selections behaved in the past and does not constitute investment advice or a recommendation.

Run this screen

Run this screen

Rule version 1.0.0

Questions

How is this screen calculated?
Each stock is tested against 5 conditions using figures computed from exchange prices and company filings, adjusted for corporate actions. The rule is versioned; this page shows version 1.0.0.
How often does the screen update?
The figures are recomputed once each trading day after the nightly compute. A stock whose figures are more than three days old is left out rather than shown stale.
Is this investment advice?
No. This is educational material describing a screening method. It does not recommend any security and does not consider your circumstances.
Educational use only — GoQuant is a research tool. This page explains a screening method and is not a recommendation. Investment advice is provided by FINOME TECHNOLOGIES PVT LTD (AltQube), SEBI-registered Investment Adviser, registration no. INA000018373, under a signed advisory agreement and after a risk profile. Past performance is not indicative of future results.