52-Week High but Still 30%+ Below All-Time High is a Technical & Price Action screen. It checks every NSE-listed stock against 3 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
A stock hitting a new 52-week high while remaining more than 30% below its all-time high is a stock in recovery mode — momentum is building again after a significant drawdown, but the return journey to the ATH still offers substantial upside if the fundamental case supports it. This screen occupies a different space from the all_time_high_breakout screen, which captures stocks breaking new ATH territory. Here, the investor premise is: the worst is likely over (evidenced by the 52-week high), but the recovery is not complete (30%+ gap to ATH remains), creating a window for investors who missed the ATH phase but want to capture the continuation. The 30% gap threshold is meaningful — it is large enough to represent genuine return potential rather than noise around the ATH, and requires that the stock has genuinely not recovered its peak valuation.
The rule, step by step
A stock must satisfy every condition below. Conditions are grouped under the pillar they test.
Recent Momentum
Close Price ≥ 52-Week High × 0.98
Recovery Room to ATH
All-Time High > 0
(All-Time High − Close Price) ÷ All-Time High ≥ 0.3
Hard excludes
Promoter pledge above 30% of the promoter's holding
Market cap below ₹500 crore
Passes the screen
Ranked by (All-Time High − Close Price) ÷ All-Time High, 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
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
All-Time High
Used in a condition
Formula
Highest daily high across every cached bar (about two years of history) except the latest bar
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
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
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
At 52-Week High (Boolean)
Binary indicator (1 or 0) set to 1 if the current closing price is within 1% of the 52-week rolling high closing price, computed from daily OHLCV data over the trailing 252 trading days.
High is better
% Below All-Time High
Percentage gap between the all-time high closing price and the current price, computed as (all_time_high_price - current_price) / all_time_high_price * 100. A positive value means the stock is below its ATH.
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 ≥ 52-Week High × 0.98—
All-Time High > 0—
(All-Time High − Close Price) ÷ All-Time High ≥ 0.3—
Enter values to begin
How sensitive is it?
How many stocks pass if this threshold were set differently. Counts only; no stocks are named.
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
Some evidence
In the past data we checked, the stocks this screen picked did better than the ones it left out, and a cost-aware, out-of-sample portfolio built from them came close to our deflated-Sharpe bar without clearing it.
AI-generated plain-language explanation
The stocks this screen picked did better than the stocks it left out in the past data we checked, but a portfolio built from them did not clear our test after trading costs.
Each month across the 64 months 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.0142. As a measurement, the score is very small, but clearly above zero. If the screen had no real edge, a score at least this far from zero would show up about 6 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 1.08 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.940, about 94 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.0142. As a measurement, the score is very small, but clearly above zero. If the screen had no real edge, a score at least this far from zero would show up about 6 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 1.08 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.940, about 94 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.0142-1 to +1; 0 means no pattern
IC p-value0.006how often luck alone would do this
Net Sharpe (out-of-sample)1.08per year, after estimated trading costs
Deflated Sharpe probability0.940Deflated against 2 trialsthe chance it truly beats holding the index, after marking down for flukes
Annual turnover11.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:
5778c877-f01
Live monitoring
Not yet testable — 4 of 6 points needed to chart a rolling information coefficient.
5-day IC 0.022 · signal date 2026-10-07 · n 4480
22-day IC 0.020 · signal date 2026-09-09 · n 3886
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.
1.0.0 · 2026-10-20 — First versioned rule: every screen's conditions, ordering and hard exclude were transcribed from the served definitions into one specification. No behaviour change.
Questions
How is this screen calculated?
Each stock is tested against 3 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.