Strasmore Research
మార్కెట్ విశ్లేషణలు Matt Connorద్వారా Matt Connor · అప్‌డేట్ చేయబడింది 2026-07-24 · data as of July 24, 2026 · refreshed weekly

52-వట్ల గరిష్ట మరియు కనిష్ట ధరల స్టాక్స్

గత 52 వారాల గరిష్ట మరియు కనిష్ట ధరల వద్ద మూసివేత ధరలను నమోదు చేసిన స్టాక్స్ జాబితాను ఇక్కడ చూడండి. మార్కెట్ బ్రెడ్త్ విశ్లేషణ కోసం ఈ వివరాలు ఉపయోగపడతాయి.

52-week high అంటే గత ఏడాది కాలంలో ఒక స్టాక్ యొక్క అత్యధిక మూసివేత ధర. 52-week low అంటే అత్యల్ప ధర. గత పూర్తి సెషన్‌లో, అంటే Jul 21, 2026, ఈ స్క్రీన్‌లోని 26 స్టాక్‌లు 52-week high వద్ద లేదా దాని నుండి 1% పరిధిలో మూసివేత ధరలను నమోదు చేశాయి మరియు 7 స్టాక్‌లు 52-week low వద్ద లేదా దాని నుండి 1% పరిధిలో మూసివేత ధరలను నమోదు చేశాయి. ఈ స్క్రీన్ అమెరికాలోని పెద్ద మరియు లిక్విడ్ ఆపరేటింగ్ కంపెనీలను కవర్ చేస్తుంది మరియు ఎక్స్ఛేంజ్ టేప్ నుండి డేటాను సేకరిస్తుంది.

52-వట్ల గరిష్ట స్థాయిలలో ఉన్న స్టాక్స్

గత ఏడాదిలో అత్యధిక లాభాలను ఆర్జించిన స్టాక్స్ జాబితా కింద ఇవ్వబడింది, ఇందులో పన్నెండు వరకు స్టాక్స్ ఉండవచ్చు. ఇవి ప్రతిదీ గత 52 వారాల గరిష్ట క్లోజింగ్ ధరలో లేదా 1% లోపు పరిధిలో సెషన్‌ను ముగించాయి.

క్వెరీ52-week highs వద్ద ఉన్న స్టాక్స్, year-to-date రిటర్న్ ఆధారంగా
ప్రతి సంఖ్య వెనుక ఉన్న ఖచ్చితమైన SQL
WITH universe AS (
    SELECT ticker
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE window_start >= now() - INTERVAL 20 DAY
      AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) >= 570
      AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) < 960
      AND ticker IN (SELECT arrayJoin(tickers) FROM global_markets.stocks_income_statements
                     WHERE period_end >= today() - 400)
      AND ticker NOT IN ('SPCX','KORU','SOXL','SOXS','TQQQ','SQQQ','NVDL','NVDS','NVD','TSLL','TSLQ','TSLZ','SPXL','SPXS','UPRO','SPXU','LABU','LABD','FAS','FAZ','TNA','TZA','YINN','YANG','UDOW','SDOW','BOIL','KOLD','UCO','SCO','USD','SSO','SDS','QLD','QID','ERX','ERY','DRN','DRV','CURE','SOXY','MUU','SNXX','UVXY','SVXY','UVIX','SVIX','BULZ','WEBL','WEBS','DPST','DRIP','GUSH','AGQ','ZSL','BITX','ETHU','MSTX','MSTU','CONL','DUST','JNUG','JDST','NUGT')
      AND ticker NOT IN (SELECT ticker FROM global_markets.stocks_splits
                         WHERE execution_date BETWEEN today() - 460 AND today())
    GROUP BY ticker
    HAVING sum(toFloat64(close) * toFloat64(volume)) >= 2000000000
),
last_session AS (
    SELECT max(toDate(et)) AS d
    FROM (
        SELECT toTimeZone(window_start, 'America/New_York') AS et
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPY' AND window_start >= now() - INTERVAL 12 DAY
          AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) >= 955
          AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) < 960
    )
),
daily AS (
    SELECT ticker, toDate(et) AS dt, argMax(c, et) AS c, count() AS nbars
    FROM (
        SELECT ticker, toTimeZone(window_start, 'America/New_York') AS et, toFloat64(close) AS c
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE window_start >= now() - INTERVAL 375 DAY
          AND ticker IN (SELECT ticker FROM universe)
          AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) >= 930
          AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) < 960
    )
    GROUP BY ticker, dt
    HAVING nbars >= 20 AND dt > (SELECT d FROM last_session) - 365
),
ranged AS (
    SELECT ticker,
           argMax(c, dt) AS last_close,
           max(c) AS hi,
           min(c) AS lo,
           argMaxIf(c, dt, dt <= toDate('2025-12-31')) AS base_close,
           count() AS n_sessions,
           min(dt) AS first_dt,
           max(dt) AS last_dt
    FROM daily
    GROUP BY ticker
    HAVING n_sessions >= 200
       AND countIf(dt <= toDate('2025-12-31')) > 0
       AND last_dt = (SELECT d FROM last_session)
       AND first_dt <= (SELECT d FROM last_session) - 350
)
SELECT ticker,
       round(last_close, 2) AS close,
       round((last_close / base_close - 1) * 100, 1) AS ytd_return_pct
FROM ranged
WHERE last_close >= hi * 0.99
ORDER BY ytd_return_pct DESC, ticker ASC
LIMIT 12

ఈ ఏడాదికి సంబంధించి DAVE అత్యధికంగా 99.6% వద్ద, $439.18 క్లోజింగ్‌తో అగ్రస్థానంలో ఉంది. ఈ జాబితాలో, ప్రతి స్టాక్ క్లోజింగ్ ధర 52-వట్ల గరిష్ట ధరలో 1% లోపు పరిధిలో ఉంటుంది, కాబట్టి ధర కాలమ్ మరియు పరీక్షించబడుతున్న స్థాయి రెండూ ఒకటే. దీని తర్వాత DINO 99% వద్ద, మరియు MPC 96.6% వద్ద ఉన్నాయి. పట్టిక చివరిలో ROKU ఈ ఏడాదికి సంబంధించి 33% గా ఉంది.

ఆ వ్యత్యాసమే ఇక్కడ ముఖ్యమైనది. 52-వట్ల గరిష్ట స్థాయి అనేది ఒక ధర దాని స్వంత ఒక సంవత్సరపు పరిధిలో ఎక్కడ ఉందో మాత్రమే తెలియజేస్తుంది, అంతకంటే ఎక్కువ కాదు. గత వేసవిలో భారీగా పడిపోయి, తిరిగి కోలుకున్న స్టాక్ మరియు ఎప్పుడూ పెరుగుతూనే ఉన్న స్టాక్ రెండూ ఒకే రకమైన లేబుల్‌ను కలిగి ఉంటాయి.

52-వ deekhi (52-week) కనిష్ట స్థాయిల్లో ఉన్న స్టాక్స్

అదే స్క్రీనింగ్, రివర్స్‌లో. ఈ పేర్లు గత 52 వారాల్లోని వాటి కనిష్ట ధరల వద్ద లేదా వాటి నుండి 1% లోపు ధర వద్ద ముగిశాయి. వీటిని సంవత్సరంలో ఇప్పటివరకు (year-to-date) అత్యంత బలహీనమైన పనితీరు నుండి క్రమబద్ధీకరించారు, మొత్తం పన్నెండు స్టాక్స్ ఉన్నాయి.

క్వెరీ52-week lows వద్ద ఉన్న స్టాక్స్, year-to-date రిటర్న్ ఆధారంగా
ప్రతి సంఖ్య వెనుక ఉన్న ఖచ్చితమైన SQL
WITH universe AS (
    SELECT ticker
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE window_start >= now() - INTERVAL 20 DAY
      AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) >= 570
      AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) < 960
      AND ticker IN (SELECT arrayJoin(tickers) FROM global_markets.stocks_income_statements
                     WHERE period_end >= today() - 400)
      AND ticker NOT IN ('SPCX','KORU','SOXL','SOXS','TQQQ','SQQQ','NVDL','NVDS','NVD','TSLL','TSLQ','TSLZ','SPXL','SPXS','UPRO','SPXU','LABU','LABD','FAS','FAZ','TNA','TZA','YINN','YANG','UDOW','SDOW','BOIL','KOLD','UCO','SCO','USD','SSO','SDS','QLD','QID','ERX','ERY','DRN','DRV','CURE','SOXY','MUU','SNXX','UVXY','SVXY','UVIX','SVIX','BULZ','WEBL','WEBS','DPST','DRIP','GUSH','AGQ','ZSL','BITX','ETHU','MSTX','MSTU','CONL','DUST','JNUG','JDST','NUGT')
      AND ticker NOT IN (SELECT ticker FROM global_markets.stocks_splits
                         WHERE execution_date BETWEEN today() - 460 AND today())
    GROUP BY ticker
    HAVING sum(toFloat64(close) * toFloat64(volume)) >= 2000000000
),
last_session AS (
    SELECT max(toDate(et)) AS d
    FROM (
        SELECT toTimeZone(window_start, 'America/New_York') AS et
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPY' AND window_start >= now() - INTERVAL 12 DAY
          AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) >= 955
          AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) < 960
    )
),
daily AS (
    SELECT ticker, toDate(et) AS dt, argMax(c, et) AS c, count() AS nbars
    FROM (
        SELECT ticker, toTimeZone(window_start, 'America/New_York') AS et, toFloat64(close) AS c
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE window_start >= now() - INTERVAL 375 DAY
          AND ticker IN (SELECT ticker FROM universe)
          AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) >= 930
          AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) < 960
    )
    GROUP BY ticker, dt
    HAVING nbars >= 20 AND dt > (SELECT d FROM last_session) - 365
),
ranged AS (
    SELECT ticker,
           argMax(c, dt) AS last_close,
           max(c) AS hi,
           min(c) AS lo,
           argMaxIf(c, dt, dt <= toDate('2025-12-31')) AS base_close,
           count() AS n_sessions,
           min(dt) AS first_dt,
           max(dt) AS last_dt
    FROM daily
    GROUP BY ticker
    HAVING n_sessions >= 200
       AND countIf(dt <= toDate('2025-12-31')) > 0
       AND last_dt = (SELECT d FROM last_session)
       AND first_dt <= (SELECT d FROM last_session) - 350
)
SELECT ticker,
       round(last_close, 2) AS close,
       round((last_close / base_close - 1) * 100, 1) AS ytd_return_pct
FROM ranged
WHERE last_close <= lo * 1.01
ORDER BY ytd_return_pct ASC, ticker ASC
LIMIT 12

జాబితాలో అత్యంత బలహీనమైన year-to-date రీడింగ్ PNR కి ఉంది, ఇది -41% వద్ద ముగిసింది. దీని ధర $61.48 గా ఉంది, ఇది దాని 52-week ముగింపు కనిష్ట ధర నుండి 1% లోపు పరిధిలో ఉంది. తదుపరి స్థానంలో -30.6% వద్ద CPRT ఉంది.

52-week low అనేది కేవలం ధరల పరిధిలోని ఒక స్థితి మాత్రమే, ఇది వ్యాపార సామర్థ్యంపై తీర్పు కాదు. లాభాల్లో ఉన్న కంపెనీలు కూడా సుదీర్ఘ కాలం పాటు ధరలు తగ్గడం వల్ల ఈ జాబితాలోకి రావచ్చు, అలాగే తీవ్రమైన ఇబ్బందుల్లో ఉన్న కంపెనీలు కూడా రావచ్చు. కేవలం ముగింపు ధర (closing price) ద్వారా వీటి మధ్య తేడాను గుర్తించలేము. మార్కెట్ మొత్తంపై ఇదే ప్రశ్న గురించి తెలుసుకోవడానికి, మార్కెట్లు crashes నుండి ఎలా కోలుకుంటాయి చూడండి.

హై మరియు లో కౌంట్లు మార్కెట్ బ్రెడ్త్ గురించి ఏమి చెబుతున్నాయి

మార్కెట్ బ్రెడ్త్ అనేది ఇండెక్స్ ఎంత దూరం ప్రయాణించింది అనే దానికంటే, మార్కెట్ కదలికలో ఎన్ని స్టాక్స్ పాల్గొంటున్నాయో కొలుస్తుంది. కొత్త హైస్ (highs) మరియు కొత్త లోస్ (lows) ల మధ్య ఉన్న నిష్పత్తి అత్యంత పాత బ్రెడ్త్ రీడింగ్‌లలో ఒకటి. ఈ పేజీలో మనం గమనించవలసిన ముఖ్యమైన సంఖ్య ఇదే.

క్వెరీగత ఆరు వారాల్లో రోజువారీ కొత్త 52-week highs మరియు lows
ప్రతి సంఖ్య వెనుక ఉన్న ఖచ్చితమైన SQL
WITH universe AS (
    SELECT ticker
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE window_start >= now() - INTERVAL 20 DAY
      AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) >= 570
      AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) < 960
      AND ticker IN (SELECT arrayJoin(tickers) FROM global_markets.stocks_income_statements
                     WHERE period_end >= today() - 400)
      AND ticker NOT IN ('SPCX','KORU','SOXL','SOXS','TQQQ','SQQQ','NVDL','NVDS','NVD','TSLL','TSLQ','TSLZ','SPXL','SPXS','UPRO','SPXU','LABU','LABD','FAS','FAZ','TNA','TZA','YINN','YANG','UDOW','SDOW','BOIL','KOLD','UCO','SCO','USD','SSO','SDS','QLD','QID','ERX','ERY','DRN','DRV','CURE','SOXY','MUU','SNXX','UVXY','SVXY','UVIX','SVIX','BULZ','WEBL','WEBS','DPST','DRIP','GUSH','AGQ','ZSL','BITX','ETHU','MSTX','MSTU','CONL','DUST','JNUG','JDST','NUGT')
      AND ticker NOT IN (SELECT ticker FROM global_markets.stocks_splits
                         WHERE execution_date BETWEEN today() - 460 AND today())
    GROUP BY ticker
    HAVING sum(toFloat64(close) * toFloat64(volume)) >= 2000000000
),
last_session AS (
    SELECT max(toDate(et)) AS d
    FROM (
        SELECT toTimeZone(window_start, 'America/New_York') AS et
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPY' AND window_start >= now() - INTERVAL 12 DAY
          AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) >= 955
          AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) < 960
    )
),
daily AS (
    SELECT ticker, toDate(et) AS dt, argMax(c, et) AS c, count() AS nbars
    FROM (
        SELECT ticker, toTimeZone(window_start, 'America/New_York') AS et, toFloat64(close) AS c
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE window_start >= now() - INTERVAL 425 DAY
          AND ticker IN (SELECT ticker FROM universe)
          AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) >= 930
          AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) < 960
    )
    GROUP BY ticker, dt
    HAVING nbars >= 20 AND dt <= (SELECT d FROM last_session)
),
rolled AS (
    SELECT ticker, dt, c,
           max(c) OVER w AS hi,
           min(c) OVER w AS lo,
           count() OVER w AS n_sessions,
           min(dt) OVER (PARTITION BY ticker) AS first_dt
    FROM daily
    WINDOW w AS (PARTITION BY ticker ORDER BY dt RANGE BETWEEN 364 PRECEDING AND CURRENT ROW)
)
SELECT formatDateTime(dt, '%b %e, %Y') AS date,
       countIf(c >= hi * 0.99) AS at_52w_high,
       countIf(c <= lo * 1.01) AS at_52w_low,
       countIf(c >= hi * 0.99) - countIf(c <= lo * 1.01) AS net_highs
FROM rolled
WHERE n_sessions >= 200
  AND first_dt <= dt - 350
  AND dt > (SELECT d FROM last_session) - 43
GROUP BY dt
ORDER BY dt

Jul 21, 2026 న, 52-వారాల హై వద్ద లేదా దాని సమీపంలో ఉన్న పేర్ల సంఖ్య 26 గా ఉండగా, లో వద్ద లేదా దాని సమీపంలో ఉన్న పేర్ల సంఖ్య 7 గా ఉంది. దీని నికర రీడింగ్ 19. ఆరు వారాల క్రితం, అంటే Jun 9, 2026 న, ఇదే స్క్రీన్ 35 హైస్ మరియు 3 లోస్ ని నమోదు చేసింది.

గ్రాఫ్ చేయబడిన 29 సెషన్ల కాలంలో, రెండు కౌంట్లు రోజువారీగా తీవ్రంగా మారుతుంటాయి. కాబట్టి ఏదైనా ఒకే సెషన్‌లోని స్థాయి కంటే, వారాల వారీగా వచ్చే మార్పులు (drift) ఎక్కువ ప్రాముఖ్యతను కలిగి ఉంటాయి. హై కౌంట్ తగ్గుతున్నప్పుడు ఇండెక్స్ స్థిరంగా ఉంటే, ఆ మార్కెట్ ఇండెక్స్ సూచిస్తున్న దానికంటే తక్కువ బ్రెడ్త్ కలిగి ఉందని అర్థం. లో కౌంట్ పెరుగుతున్న మార్కెట్ ఇతరులు భయపడుతున్నప్పుడు కొనుగోలు చేయడం అనే సూత్రానికి కారణమవుతుంది, దీనిని మేము వార్తల సెంటిమెంట్ తో పరీక్షించాము.

మార్కెట్ తన గరిష్ట స్థాయి నుండి ఎంత దూరంలో ఉంది

డిస్ట్రిబ్యూషన్ యొక్క రెండు చివరలు హైస్ (highs) మరియు లోస్ (lows); చాలా స్టాక్స్ మధ్యలో ఉంటాయి. ఈ ప్యానెల్ స్క్రీన్‌లోని అన్ని స్టాక్స్‌ను వాటి 52-week high నుండి ఎంత దూరంలో ఉన్నాయనే దాని ఆధారంగా క్రమబద్ధీకరిస్తుంది మరియు ప్రతి బ్యాండ్‌లో భాగంగా సంవత్సర ప్రారంభం నుండి (year-to-date) మధ్యస్థ రిటర్న్‌ను (median return) తెలియజేస్తుంది.

క్వెరీమొత్తం స్క్రీన్ 52-week high కంటే ఎంత దూరంలో ఉంది
ప్రతి సంఖ్య వెనుక ఉన్న ఖచ్చితమైన SQL
WITH universe AS (
    SELECT ticker
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE window_start >= now() - INTERVAL 20 DAY
      AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) >= 570
      AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) < 960
      AND ticker IN (SELECT arrayJoin(tickers) FROM global_markets.stocks_income_statements
                     WHERE period_end >= today() - 400)
      AND ticker NOT IN ('SPCX','KORU','SOXL','SOXS','TQQQ','SQQQ','NVDL','NVDS','NVD','TSLL','TSLQ','TSLZ','SPXL','SPXS','UPRO','SPXU','LABU','LABD','FAS','FAZ','TNA','TZA','YINN','YANG','UDOW','SDOW','BOIL','KOLD','UCO','SCO','USD','SSO','SDS','QLD','QID','ERX','ERY','DRN','DRV','CURE','SOXY','MUU','SNXX','UVXY','SVXY','UVIX','SVIX','BULZ','WEBL','WEBS','DPST','DRIP','GUSH','AGQ','ZSL','BITX','ETHU','MSTX','MSTU','CONL','DUST','JNUG','JDST','NUGT')
      AND ticker NOT IN (SELECT ticker FROM global_markets.stocks_splits
                         WHERE execution_date BETWEEN today() - 460 AND today())
    GROUP BY ticker
    HAVING sum(toFloat64(close) * toFloat64(volume)) >= 2000000000
),
last_session AS (
    SELECT max(toDate(et)) AS d
    FROM (
        SELECT toTimeZone(window_start, 'America/New_York') AS et
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPY' AND window_start >= now() - INTERVAL 12 DAY
          AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) >= 955
          AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) < 960
    )
),
daily AS (
    SELECT ticker, toDate(et) AS dt, argMax(c, et) AS c, count() AS nbars
    FROM (
        SELECT ticker, toTimeZone(window_start, 'America/New_York') AS et, toFloat64(close) AS c
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE window_start >= now() - INTERVAL 375 DAY
          AND ticker IN (SELECT ticker FROM universe)
          AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) >= 930
          AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) < 960
    )
    GROUP BY ticker, dt
    HAVING nbars >= 20 AND dt > (SELECT d FROM last_session) - 365
),
ranged AS (
    SELECT ticker,
           argMax(c, dt) AS last_close,
           max(c) AS hi,
           min(c) AS lo,
           argMaxIf(c, dt, dt <= toDate('2025-12-31')) AS base_close,
           count() AS n_sessions,
           min(dt) AS first_dt,
           max(dt) AS last_dt
    FROM daily
    GROUP BY ticker
    HAVING n_sessions >= 200
       AND countIf(dt <= toDate('2025-12-31')) > 0
       AND last_dt = (SELECT d FROM last_session)
       AND first_dt <= (SELECT d FROM last_session) - 350
)
SELECT multiIf(p < 1, 'At the high (under 1%)',
               p < 5, '1% to 5% below',
               p < 10, '5% to 10% below',
               p < 20, '10% to 20% below',
               p < 35, '20% to 35% below',
               'More than 35% below') AS bucket,
       count() AS stocks,
       round(100.0 * count() / sum(count()) OVER (), 1) AS share_pct,
       round(quantileExact(0.5)(ytd), 1) AS median_ytd_pct
FROM (
    SELECT (1 - last_close / hi) * 100 AS p,
           (last_close / base_close - 1) * 100 AS ytd,
           multiIf(p < 1, 0, p < 5, 1, p < 10, 2, p < 20, 3, p < 35, 4, 5) AS ord
    FROM ranged
)
GROUP BY bucket, ord
ORDER BY ord

స్క్రీన్‌లోని 5.3% శాతం స్టాక్స్, 26 పేర్లు, 52-week high కి 1% లోపు మూసివేతను (closed) నమోదు చేశాయి. మరోవైపు, 17% స్టాక్స్ గరిష్ట స్థాయి కంటే 35% కంటే ఎక్కువ తక్కువగా మూసివేతను నమోదు చేశాయి. టాప్ బ్యాండ్‌లో సంవత్సర ప్రారంభం నుండి మధ్యస్థ రిటర్న్ 32.8%; బాటమ్ బ్యాండ్‌లో అది -28.9%, మరియు చార్ట్ వాటి మధ్య ఉన్న ఆకారాన్ని చూపుతుంది.

ఆ గ్రేడియంట్ అనేది కేవలం ఒక ఆవిష్కరణ కంటే గణితశాస్త్రానికి దగ్గరగా ఉంటుంది: 52-week high కి సమీపంలో ఉన్న స్టాక్, నిర్మాణాత్మకంగా సంవత్సరంలో ఎక్కువ సమయం పెరుగుతూనే ఉంటుంది. ఈ ప్యానెల్ యొక్క ప్రాముఖ్యత దాని స్కేల్ మీద ఆధారపడి ఉంది: అంచెల స్థాయిలు (extremes) ఎంత అసాధారణంగా ఉన్నాయి, మరియు మార్కెట్ లోని ఎంత శాతం స్టాక్స్ తమ గరిష్ట ధర నుండి చాలా దూరంలో ఉన్నాయి అనే దానిపై ఇది ఆధారపడి ఉంటుంది. అటువంటి స్టాక్స్‌లో ఎక్కువ మొత్తంలో పెట్టుబడి పెట్టడం అనేది ఒక స్టాక్ వల్ల కలిగే అసలైన రిస్క్ కి గురికావడమే.

మార్కెట్ తన 52-వారాల పరిధిలో ఏ స్థితిలో ఉంది

ఒక స్టాక్ తన గరిష్ట స్థాయి వద్ద ఉన్నప్పుడు, మార్కెట్ కూడా గరిష్ట స్థాయికి సమీపంలో ఉంటే దాని ప్రభావం వేరుగా ఉంటుంది; అదే మార్కెట్ గరిష్ట స్థాయికి దూరంగా ఉంటే ప్రభావం వేరుగా ఉంటుంది. పైన పేర్కొన్న స్టాక్‌ల మాదిరిగానే, కింద ఉన్న ఐదు విస్తృత మార్కెట్ ETFలను కూడా కొలవడమైనది.

క్వెరీఐదు బ్రాడ్-మార్కెట్ ETFలు వాటి 52-week range లో ఎక్కడ ఉన్నాయి
ప్రతి సంఖ్య వెనుక ఉన్న ఖచ్చితమైన SQL
WITH last_session AS (
    SELECT max(toDate(et)) AS d
    FROM (
        SELECT toTimeZone(window_start, 'America/New_York') AS et
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPY' AND window_start >= now() - INTERVAL 12 DAY
          AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) >= 955
          AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) < 960
    )
),
daily AS (
    SELECT ticker, toDate(et) AS dt, argMax(c, et) AS c, count() AS nbars
    FROM (
        SELECT ticker, toTimeZone(window_start, 'America/New_York') AS et, toFloat64(close) AS c
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE window_start >= now() - INTERVAL 375 DAY
          AND ticker IN ('SPY', 'QQQ', 'DIA', 'IWM', 'RSP')
          AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) >= 930
          AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) < 960
    )
    GROUP BY ticker, dt
    HAVING nbars >= 20
       AND dt > (SELECT d FROM last_session) - 365
       AND dt <= (SELECT d FROM last_session)
),
ranged AS (
    SELECT ticker,
           argMax(c, dt) AS last_close,
           max(c) AS hi,
           min(c) AS lo,
           argMaxIf(c, dt, dt <= toDate('2025-12-31')) AS base_close,
           count() AS n_sessions,
           min(dt) AS first_dt,
           max(dt) AS last_dt
    FROM daily
    GROUP BY ticker
    HAVING n_sessions >= 200
       AND countIf(dt <= toDate('2025-12-31')) > 0
       AND last_dt = (SELECT d FROM last_session)
       AND first_dt <= (SELECT d FROM last_session) - 350
)
SELECT multiIf(ticker = 'SPY', 'S&P 500 (SPY)',
               ticker = 'QQQ', 'Nasdaq 100 (QQQ)',
               ticker = 'DIA', 'Dow 30 (DIA)',
               ticker = 'RSP', 'S&P 500 equal weight (RSP)',
               'Russell 2000 (IWM)') AS label,
       round((1 - last_close / hi) * 100, 2) AS pct_below_high,
       round((last_close / lo - 1) * 100, 1) AS pct_above_low,
       round((last_close / base_close - 1) * 100, 1) AS ytd_return_pct
FROM ranged
ORDER BY pct_below_high ASC

S&P 500 equal weight (RSP) తన 52-వారాల గరిష్ట స్థాయి కంటే 1.08% తక్కువగా, మరియు 17.2% ఎక్కువగా ముగిసింది. ఈ ఐదు వాటిలో ఇది గరిష్ట స్థాయికి అత్యంత సమీపంలో ఉంది. Nasdaq 100 (QQQ) తన గరిష్ట స్థాయి నుండి 4.98% దూరంలో ఉంది. ఈ సంవత్సరం ఇప్పటివరకు (year to date) ఈ రెండింటి విలువలు 11.1% మరియు 15.4% గా ఉన్నాయి.

ఒకే ఇండెక్స్‌లోని ఈక్వల్-వెయిటెడ్ మరియు క్యాప్-వెయిటెడ్ వెర్షన్ల మధ్య ఉన్న వ్యత్యాసం మార్కెట్ బ్రెడ్త్ (breadth) యొక్క సూచికగా పనిచేస్తుంది. ఈక్వల్-వెయిటెడ్ లైన్ గరిష్ట స్థాయికి సమీపంలో ఉన్నప్పుడు, సగటు సభ్యులు అతిపెద్ద సభ్యుల కంటే వేగంగా వృద్ధి చెందుతున్నారని అర్థం. క్యాప్-వెయిటెడ్ లైన్ గరిష్ట స్థాయికి సమీపంలో ఉన్నప్పుడు, కొద్దిపాటి అతిపెద్ద కంపెనీలే ఇండెక్స్‌ను నడిపిస్తున్నాయని అర్థం. ఈ రెండింటిలో ఏదీ భవిష్యత్తును అంచనా వేయదు, మరియు తప్పుడు సమయంలో మార్కెట్ నుండి బయటకు రావడం వల్ల మార్కెట్ యొక్క ఉత్తమ రోజులను కోల్పోయే నష్టం వాటిల్లుతుంది.

దీనిని ఎలా కొలుస్తారు

ఈ పేజీలోని ప్రతి గణాంకం US ఎక్స్ఛేంజ్ టేప్ యొక్క మినట్ బార్ల నుండి సేకరించబడింది, ఇవి రోజువారీ క్లోజింగ్ ధరలుగా సమీకరించబడ్డాయి. పూర్తి నిబంధనలు ఇక్కడ ఉన్నాయి:

  • యూనివర్స్. గత 400 రోజులలోపు ముగిసిన కాలానికి సంబంధించి SEC వద్ద దాఖలు చేసిన కంపెనీ ఆదాయ ప్రకటన (income statement) ఆధారంగా గుర్తించబడిన US-లిస్టెడ్ ఆపరేటింగ్ కంపెనీలు మాత్రమే ఇందులో ఉంటాయి. అందువల్ల ETFలు మరియు ఫండ్స్ ఈ రెండు జాబితాల నుండి దూరంగా ఉంటాయి. అదనపు భద్రత కోసం, లెవరేజ్డ్ మరియు ఇన్వర్స్ ETFలను కూడా పేరు ద్వారానే మినహాయించాము.
  • లిక్విడిటీ ఫ్లోర్. గత 20 క్యాలెండర్ రోజులలో ఒక స్టాక్ కనీసం $2 బిలియన్ల విలువైన ట్రేడింగ్‌ను కలిగి ఉండాలి. వీకెండ్స్ మరియు సెలవులను తీసివేస్తే, ఆ కాలపరిమితి సుమారు పన్నెండు సెషన్ల వరకు ఉంటుంది, కాబట్టి ప్రతి సెషన్‌కు సగటున $150 మిలియన్ల ట్రేడింగ్ అవసరం. ఇది పాఠకులు నిజంగా ట్రేడింగ్ చేయగల కంపెనీలను మాత్రమే జాబితాలో ఉంచుతుంది మరియు తక్కువ ట్రేడింగ్ వాల్యూమ్ వల్ల తప్పుడు గణాంకాలు రాకుండా నిరోధిస్తుంది.
  • స్ప్లిట్లు మినహాయించబడ్డాయి, సర్దుబాటు చేయబడలేదు. గత 460 రోజులలో స్టాక్ స్ప్లిట్ చేసిన ఏ టిక్కర్ అయినా ఈ స్క్రీన్‌ నుండి తొలగించబడుతుంది. కింద ఉన్న బ్రెడ్త్ చార్ట్ ఎంత పాత ధరల వరకు వెళ్తుందో, అంతవరకు కవర్ చేయడానికి ఈ కాలపరిమితి కావాలనే ఒక సంవత్సరానికి మించి ఉంచబడింది. ఇటువంటి పేజీలు తప్పుడు సమాచారాన్ని ఇచ్చే అవకాశం ఉన్న ఏకైక మార్గం ఇదే: 1-for-20 రివర్స్ స్ప్లిట్ వల్ల ట్రేడింగ్ లేకుండానే కోట్ చేయబడిన ధర ఇరవై రెట్లు పెరుగుతుంది, అప్పుడు అన్‌అడ్జస్టెడ్ స్క్రీన్ అద్భుతమైన కొత్త 52-week high ని చూపిస్తుంది. ఫార్వర్డ్ స్ప్లిట్ దీనికి విరుద్ధంగా పనిచేసి, నకిలీ 52-week low ని చూపిస్తుంది.
  • క్లోజింగ్ ధరలు, ఇంట్రాడే ఎక్స్‌ట్రీమ్స్ కాదు. హై మరియు లో విలువలను క్లోజింగ్ ధరల ఆధారంగా కొలుస్తారు. ఒక స్టాక్ పగటిపూట తన 52-week high కంటే ఎక్కువ వద్ద ట్రేడ్ అయ్యి, క్లోజింగ్ సమయంలో దాని కంటే తక్కువ వద్ద ముగిసితే, అది ఇక్కడ కనిపించదు. ఇంట్రాడే ధరల ఆధారంగా రూపొందించబడిన స్క్రీన్‌లు ఎక్కువ సంఖ్యలను చూపిస్తాయి.
  • సెషన్ పూర్తయి ఉండాలి. రోజువారీ క్లోజింగ్ అనేది న్యూయార్క్ సమయం ప్రకారం 15:30 మరియు 16:00 మధ్య ఉండే చివరి మినట్ బార్. ఇంకా లోడ్ అవుతున్న సెషన్‌లో ఆ అర గంటలో బార్‌లు ఉండవు, కాబట్టి అది గణనలోకి రాదు మరియు కొనసాగుతున్న సెషన్ ఎప్పుడూ రాదు. సెలవు రోజుల్లో త్వరగా ముగిసే సెషన్లు కూడా ఇదే కారణంతో మినహాయించబడతాయి. పైన ఉన్న తేదీ పరీక్షలో ఉత్తీర్ణత సాధించిన చివరి సెషన్‌ను సూచిస్తుంది, కాబట్టి అది క్యాలెండర్ కంటే ఒకటి లేదా రెండు రోజులు వెనుక ఉండవచ్చు.
  • పూర్తి ఏడాది చరిత్ర. 52-week విండోలో ఒక స్టాక్‌కు కనీసం 200 సెషన్లు ఉండాలి మరియు మొదటి సెషన్ కనీసం 350 రోజులు వెనుక ఉండాలి. మూడు నెలల క్రితమే లిస్ట్ అయిన కంపెనీ ఇక్కడ 52-week high ని చూపించలేదు.
  • 1% బ్యాండ్. "At a 52-week high" అంటే క్లోజింగ్ ధర గత 52 వారాల్లోని అత్యధిక క్లోజింగ్ ధర వద్ద లేదా దాని నుండి 1% పరిధిలో ఉండటం అని అర్థం, మరియు లో లిస్ట్ కూడా అదే విధంగా ఉంటుంది. Year-to-date రిటర్న్‌లను 2025 యొక్క చివరి క్లోజింగ్ నుండి కొలుస్తారు.

FAQ

52-week high వద్ద కొనుగోలు చేయడం మంచి ఆలోపనేనా?

దీనికి సాధారణ సమాధానం లేదు, మరియు ఇక్కడ ఉన్నది ఎటువంటి సలహా కాదు. ఈ పేజీ గతంలో జరిగిన పరిణామాలను మాత్రమే చూపుతుంది: 52-week high కి 1% పరిధిలో ఉన్న స్టాక్స్ యొక్క మధ్యస్థ (median) year-to-date రిటర్న్ 32.8% గా ఉంది, అదే విధంగా వాటి గరిష్ట ధర కంటే 35% కంటే ఎక్కువ తగ్గితే రిటర్న్ -28.9% గా ఉంది. ఇది ఆ స్టాక్స్ యొక్క గత ఏడాది పనితీరును తెలియజేస్తుంది తప్ప, రాబోయే ఏడాదిని కాదు. ఈ లేబుల్ కేవలం ధర యొక్క పరిధిని సూచిస్తుంది, వాల్యుయేషన్‌ను కాదు.

ఒక స్టాక్ 52-week low కి చేరుకుంటే దాని అర్థం ఏమిటి?

అంటే గత 52 వారాల్లో ఏ సమయంలోనైనా నమోదైన ధర కంటే తక్కువ ధర వద్ద ఆ స్టాక్ క్లోజ్ అయిందని అర్థం. Jul 21, 2026 నాటికి, ఈ స్క్రీన్‌లోని 7 స్టాక్స్‌కు ఇది వర్తించింది. ధర తగ్గడం అనేది వ్యాపారం క్షీణించడం వల్ల కావచ్చు లేదా లాభాల్లో ఉన్న కంపెనీ ధర క్రమంగా తగ్గడం వల్ల కావచ్చు; కేవలం ధర ద్వారా మాత్రమే దీనిని నిర్ణయించలేము.

ప్రస్తుతం ఎన్ని స్టాక్స్ 52-week highs వద్ద ఉన్నాయి?

Jul 21, 2026 క్లోజింగ్ నాటికి, ఈ స్క్రీన్‌లోని 26 స్టాక్స్ 52-week high కి సమానంగా లేదా 1% పరిధిలో క్లోజ్ అయ్యాయి, అదే సమయంలో 7 స్టాక్స్ 52-week low కి సమానంగా లేదా 1% పరిధిలో క్లోజ్ అయ్యాయి. ఈ స్క్రీన్‌లో గత 20 క్యాలెండర్ రోజుల్లో $2 billion టర్నోవర్ కంటే ఎక్కువ ఉన్న పెద్ద మరియు లిక్విడ్ US కంపెనీలు మాత్రమే ఉన్నాయి, కాబట్టి ఈ సంఖ్యలు అన్ని లిస్టింగ్స్ ఉన్న స్క్రీన్‌తో పోలిస్తే తక్కువగా ఉంటాయి.

52-week high ఎలా లెక్కిస్తారు?

గత 52 వారాల్లోని ప్రతి క్లోజింగ్ ధరను తీసుకుని, అందులో అత్యధిక ధరను గుర్తించాలి. తాజా క్లోజింగ్ ధర ఆ అత్యధిక ధరకు సమానమైతే, ఆ స్టాక్ 52-week క్లోజింగ్ హైని నమోదించినట్లు లెక్క. ఈ పేజీ ఆ స్థాయికి 1% పరిధిలో ఉన్న స్టాక్స్‌ను కూడా లెక్కిస్తుంది. అయితే, గత 460 రోజుల్లో స్టాక్ స్ప్లిట్ (split) జరిగిన ఏ టిక్కర్‌నైనా ఇది పరిగణనలోకి తీసుకోదు, ఎందుకంటే స్ప్లిట్ వల్ల హోల్డింగ్ విలువ మారకపోయినా, కోట్ చేయబడిన ధర మారుతుంది.


పైన ఉన్న ప్రతి ప్యానెల్ వెనుక ఉన్న SQL డేటా నిక్షిప్తమై ఉంది. స్క్రీన్‌ను తనిఖీ చేయడానికి ఏదైనా టేబుల్ కింద ఉన్న క్వరీని ఓపెన్ చేయండి, లేదా Strasmore టెర్మినల్‌లో రన్ చేయండి. ఏడాది గరిష్ట ధరల కంటే వారం యొక్క అతిపెద్ద మార్పుల కోసం, ఈ వారం అత్యధిక లాభాలు మరియు నష్టాలు సాధించిన స్టాక్స్ చూడండి.

#52-week high#52-week low#market breadth#stock screener#market data