Loading the next view
Pulling the latest page data and restoring the context around your last step.
Still working on it — slow network or a cold server. You can wait, or refresh.
Pulling the latest page data and restoring the context around your last step.
Still working on it — slow network or a cold server. You can wait, or refresh.
2,254 NSE stocks. 795 in Stage 2. 377 scoring 6 or better on the setup_score. 52 at 8+ (the prime band), against a 30-day average of 55.1. The prop scan shipped 293 names this morning. Every filter on this page is justified by what it eliminates.
Compare that to the average Indian retail screen. Chartink's “52-week high + breakout + RSI > 70” returns ~80 names on a strong day. Trendlyne's “Stocks above 200 DMA” returns over 1,200 right now. A list of that length forces shallow checks per name — and shallow checks per name are how a trader ends up running three correlated PSU Bank longs on Wednesday without noticing they all rhyme.
The setup pipeline runs four filters in order. Stage 2 first (35.6% of NSE today). Recognisable family second — pullback, base-breakout, or trend-continuation. setup_score ≥ 6 third (excludes structures too messy to trade). Leading sector plus high relative strength last. Prop scan publishes the survivors.
Stage 2 does not produce one chart pattern. It produces three families, and the families differ less in how they look on the chart than in how they break when they fail. A trader who treats them all the same eventually averages down on the wrong one.
The pullback hunter waits for a Stage 2 stock to revisit its rising 150-day MA on contracted volume — the prior advance had volume; the pullback should not. The base breakout is the freshest Stage 2 — a stock leaving Stage 1 by clearing a multi-week range on expanding volume. Trend-continuation is the oldest — a stock already many weeks above its rising 150-day MA that briefly consolidates and resumes. Each looks like a buy. They are not the same buy.
| Pullback | Base breakout | Trend continuation | |
|---|---|---|---|
| Structure | Tag of rising 150-DMA on weak volume | Cross above multi-week range on 2x+ volume | Step-up after a tight flag inside a maturing trend |
| Typical weeks in Stage 2 | 8 – 20 | 0 – 4 | 20+ |
| T+30 hit rate (approx) | 55 – 60% | 50 – 55% | 60 – 65% |
| Avg R-multiple on winners | 2.0 – 3.0x | 2.5 – 4.0x | 1.2 – 1.8x |
| Failure signature | Pullback resolves to a lower low — supply at the 150-DMA | Loses breakout level inside 5 sessions on widening volume | Closes below the flag low on results / news gap |
The structural sweet spot lives between roughly 5 and 25 weeks in stage. Today's Stage 2 cohort has a median weeks-in-stage of 5 weeks; the p25 is 3, the p75 is 9. Fresh-base names sit at the bottom of that range; trend-continuation names sit at the top. Volume confirms — 8.5% of NSE traded at 2x or higher the 50-day average today, a useful read for whether breakout volume is in the room.
One ZOMATO comparison worth carrying into every base-breakout decision: the November 2021 attempt that failed and the July 2023 attempt that worked looked similar on the daily chart. They differed in volume profile (the failed one had selling into strength; the successful one had absorption), in 150-DMA slope (declining vs flat-turning-up), and in regime context (NEUTRAL_DOWN vs early Recovery). The base-breakout family is the freshest of the three families and structurally the cleanest — but it is also the one most punished by entering the right pattern in the wrong regime.
The setup_score is a 0-to-10 blend of four sub-scores computed daily for every Stage 2 stock. It is a structural quality measure, not a return forecast. A 9 means the chart looks the way successful Stage 2 setups historically looked. It does not mean this one will be successful.
The four sub-scores are pullback depth, sector strength, uptrend maturity, and price stability. They are deliberately blended rather than gated — a stock scoring 9 on three and 5 on one is more interesting than a stock scoring 7 across the board, even though the composite is similar.
| Weight | What it reads | |
|---|---|---|
| Pullback depth | 30% | Distance of recent pullback from rising 150-DMA, normalised by ATR |
| Sector strength | 25% | Parent sector S2-delta-20d and pct_accelerating_s2 |
| Uptrend maturity | 25% | Weeks in Stage 2 vs the 5 – 25 week sweet spot |
| Price stability | 20% | 20-day ATR, gap frequency, intraday range |
Early prototypes weighted sector at 50%. The result: the setup list became a list of names from one sector. When that sector rotated, the entire list failed at once. Dropping sector to 25% keeps the read intact (a leading sector still moves the score meaningfully) while letting strong structures in lagging sectors qualify — useful because the next sector leader often emerges before it shows up in the sector ranking. The 30/25/25/20 split was settled after walking forward on 2019 – 2022 NSE data and comparing T+30 hit-rate across permutations.
ATR normalisation matters because raw pullback depth in rupees is meaningless across the universe. A ₹50 pullback in TATAMOTORS is a different event than ₹50 in TITAN. The pullback sub-score divides the move by the stock's 20-day ATR, so a “1.5x ATR pullback” reads the same on a ₹100 stock as on a ₹3,000 stock.
The median (p50) live setup_score across the Stage 2 cohort today is 6.0, the p90 is 7.8. Read the gap. When p90 contracts toward the median — usually inside a 5-day window after the Nifty rolls — scarce-quality is leaking from the universe before breadth even registers it. The prop_scan tightens with it, often by 20-30%.
The setup_score either earns its place in the workflow or it does not. The argument for either case lives in the setup_history table — every setup the scanner has ever produced, with the realised T+10, T+30, T+60 return tagged. 3,75,528 samples spanning 2024–2026.
The interesting cut is by score band and regime. Score alone tells you the structure was clean. Regime alone tells you the wind was at your back. The product of the two is the band that earns the spot in the workflow — and the one that emphatically does not.
| BULL | NEUTRAL UP | NEUTRAL DOWN | BEAR | |
|---|---|---|---|---|
| 5 – 6n=70,964 | 44.9% | 33.1% | 43.7% | 51.7% |
| 6 – 7n=77,606 | 48.2% | 36.4% | 47.1% | 53% |
| 7 – 8n=68,497 | 50.5% | 40.7% | 51.5% | 49.9% |
| 8 – 9n=25,771 | 50.9% | 43.6% | 55.6% | 51% |
Three things to read off the matrix. First: the BULL column climbs as the score climbs — the structural filter is doing real work. Second: the BEAR column is flat across bands — a Stage 2 setup in a falling market is mostly a coin flip with extra steps, regardless of how clean the chart looks. Third: the NEUTRAL_DOWN column sits between BEAR and NEUTRAL_UP, which is why regime upgrades from NEUTRAL_DOWN are tradable on the qualified bands but not on the rest.
The 7 – 8 band earns the most attention. It sits where structural quality is high enough to be selective and the sample size is large enough to argue from. The 9 – 10 band reads better but is too thin to bet rent money on; many cells have n < 50 and the BULL win-rate jitter is real. Now look at the 5 – 6 row in the matrix above. In BULL the win-rate is 44.9% — a few points above even money. The 7 – 8 BULL cell sits at 50.5%. The 5 – 6 band is not random — but a trader who works it ungated is buying a 2 – 3 percentage-point edge while paying full brokerage, slippage, and attention cost.
Live regime today: BULL_RISING (26 sessions). Flags firing: early bear exit · watch bear exit. The takeaway above is binding regardless of regime, but the actionable column shifts: in BULL or NEUTRAL_UP, qualified bands trade at full conviction. In BEAR or NEUTRAL_DOWN, the matrix has not stopped working — the regime has muted what it pays for. The single rule that comes off this page: in BULL or NEUTRAL_UP, qualified bands trade at full conviction; in BEAR or NEUTRAL_DOWN, the bar rises to 8+ and the size drops. Trade smaller, fewer, higher-quality, or not at all.
Win rate is not return. A band can win 65% of the time and lose money if the average loser is twice the average winner. The headline numbers above are paired with average T+30 returns on the full backtest page — the win-rate makes the more memorable claim, the average-return column carries the actual edge. The two move together for the qualified bands; they diverge in a useful way for the 5 – 6 band, where wins are common but small and losses are rarer but large. The signature of a noisy filter.
A clean setup_score does not mean a clean trade. The structural filter is honest about what the chart did; it has nothing to say about what the company is about to do. These four are the failures that recur across every backtest cohort. Learning to skip them is most of the edge.
A Stage 2 stock that has run for years occasionally gives back 30 – 40% inside a few months without any of its structural conditions actually breaking. The 150-day MA stays sloped up; the stock holds it on the deepest day; relative strength remains in the top quartile of NSE. To the eye it looks like distribution. To a trader reading the structural conditions, it is a pullback.
A famous, freshly listed name slides for months and never produces an actual base. Volume drifts down; the 150-day MA is flat only because the stock has not yet existed long enough to build a real slope. The setup-score reads “base breakout” every time the price ticks up — and resolves to a lower low every time the bounce gives back.
A clean pullback to the 150-day MA two trading days before quarterly results is not a setup. The structural filter does not know about the upcoming earnings; the trader does. Holding through the gap is a coin flip with the setup_score muted at best — historical T+30 win-rate on setups entered within 3 trading sessions of a results date drops roughly 10 percentage points across every score band. The fix is operational: filter the prop_scan against the results calendar and defer the entry until after the print, even if it costs a clean entry.
A stock under ASM, T2T, or in the F&O ban list trades on rails that violate the framework's liquidity assumptions. ASM raises margin requirements mid-trade; T2T forces full delivery so intraday support tests do not happen the way the chart implies; the F&O ban removes the hedging path institutions use to add risk. The setup pipeline already excludes these — but a trader screening manually on Chartink will not. If a setup looks too clean to be true and the symbol is in any of these segments, the answer is to skip and revisit when it exits the segment.
The score reads price and volume. That is its scope and its limit. Five categories of event sit outside it, and every one of them has ended a clean-looking Stage 2 trade.
| What it sees | What it cannot see | NSE example | |
|---|---|---|---|
| Quarterly results | Pre-results chart structure | The earnings number itself | DIVISLAB Q4FY22 — −10% in one session on the Mar 2022 print |
| ASM / T2T move | Pre-announcement liquidity and slope | Post-announcement margin reset | Mid-trade ASM Stage II promotions raise haircut to 100% overnight |
| Takeover / merger | Pre-announcement price action | The bid, the swap ratio, the record date | HDFC twin merger (Jul 2023) repriced the post-entity overnight |
| Regulatory shock | Sector tailwind in place at entry | The rule change itself | IRCTC, Oct 2021 — convenience-fee revenue-share announcement |
| Short-seller report | Promoter pledging, thin FII share visible | The report and its timing | ADANIENT, 24 Jan 2023 Hindenburg report |
The fix for all five is upstream of the setup. The structural filter is honest about what the chart did; it has nothing to say about what the company is about to do. The trader filters the prop_scan against the results calendar, skips names with surveillance flags inside the holding window, and sizes for the possibility that any one of the five repriceable events lands tomorrow. See ADANIENT in late January 2023 for what skipping that discipline costs.
Today's scan returned 293 names on the prop_scan. Roughly 261 per day across the last 30 sessions — the count trend tells you whether structural opportunity is expanding or compressing.
When the count compresses below the 30-day average for more than a week, the regime is usually doing the talking — the qualified universe is shrinking because Stage 2 share is contracting, sector leadership is rotating, or both. When it expands above the average, two things are usually true at once: breadth has rebuilt and pullback opportunities are setting up on names that ran in the previous month.
The daily list lives on prop scan. To build a custom filter — by sector, by industry, by setup_score band, by weeks-in-stage — use the screener. To see how prior days' setups have actually resolved over the following T+10 / T+30 / T+60 windows, the scan archive stores the closure for every setup the pipeline has ever produced.
The setup_score is a filter, not a recommendation. The matrix in Chapter 04 says a 7 – 8 setup in BULL is well above coin flip; the same setup in BEAR is closer to even money. A trader who treats the daily list as a buy-list ignores half the data on this page. A trader who treats it as a research-list and reads it against the live regime is using the framework the way it was designed. Today's prop_scan count of 293 against the 30-day average of 261 is the first read of the morning — it tells the trader whether the universe is recruiting or compressing before any individual chart gets opened.