Strasmore Research
বাজারের সারসংক্ষেপ Matt Connorদ্বারা Matt Connor · আপডেট করা হয়েছে 2026-07-23 · data as of July 23, 2026 · refreshed weekly

৫২-সপ্তাহের সর্বোচ্চ ও সর্বনিম্ন মূল্যের স্টক

কোন স্টকগুলো ৫২-সপ্তাহের সর্বোচ্চ এবং কোনগুলো সর্বনিম্ন মূল্যে ক্লোজ করেছে তা দেখুন। এক্সচেঞ্জ টেপ থেকে প্রাপ্ত এই তথ্যগুলো বাজারের প্রবণতা বুঝতে সাহায্য করে।

৫২-সপ্তাহের উচ্চ মূল্য (52-week high) হলো গত এক বছরে একটি স্টকের সর্বোচ্চ ক্লোজিং প্রাইস, এবং ৫২-সপ্তাহের নিম্ন মূল্য (52-week low) হলো সর্বনিম্ন মূল্য। গত সম্পন্ন হওয়া অধিবেশনে, Jul 21, 2026, 26টি স্টক এই স্ক্রিনে ৫২-সপ্তাহের উচ্চ মূল্যের সমান বা তার ১% সীমার মধ্যে ক্লোজ হয়েছে এবং 7টি ৫২-সপ্তাহের নিম্ন মূল্যের সমান বা তার ১% সীমার মধ্যে ক্লোজ হয়েছে। এই স্ক্রিনটি মার্কিন যুক্তরাষ্ট্রের বড় এবং লিকুইড অপারেটিং কোম্পানিগুলোকে কভার করে এবং এক্সচেঞ্জ টেপ থেকে তথ্য সংগ্রহ করে তৈরি করা হয়।

৫২-সপ্তাহের সর্বোচ্চ শিখরে থাকা স্টকসমূহ

বছরের শুরু থেকে এখন পর্যন্ত সবচেয়ে বেশি লাভ করা স্টকগুলোর তালিকা নিচে দেওয়া হলো, যার মধ্যে সর্বোচ্চ বারোটি রয়েছে। প্রতিটি স্টক গত ৫২ সপ্তাহের সর্বোচ্চ ক্লোজিং প্রাইস বা সমমূল্যের ১% সীমার মধ্যে আজকের সেশন শেষ করেছে।

কুয়েরি52-week উচ্চতায় থাকা স্টকসমূহ, YTD রিটার্ন অনুযায়ী
প্রতিটি সংখ্যার পেছনের সঠিক 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। এই তালিকার নিয়ম অনুযায়ী, প্রতিটি ক্লোজিং প্রাইস গত ৫২ সপ্তাহের সর্বোচ্চ শিখরের ১% সীমার মধ্যে থাকে, তাই প্রাইস কলামটি একই সাথে পরীক্ষিত স্তর হিসেবে কাজ করে। এর পরে রয়েছে DINO যা 99% এবং MPC যা 96.6% অবস্থানে রয়েছে। তালিকার একদম শেষে ROKU এর বার্ষিক লাভ হলো 33%।

এই ব্যবধানটিই হলো মূল বিষয়। ৫২-সপ্তাহের সর্বোচ্চ শিখর বলতে কেবল একটি স্টকের এক বছরের রেঞ্জের মধ্যে তার বর্তমান অবস্থান বোঝায়, এর বেশি কিছু নয়। গত গ্রীষ্মে যে স্টকের দাম অনেক কমে গিয়েছিল এবং পরে তা পুনরুদ্ধার করেছে, তার ক্ষেত্রেও একই লেবেল ব্যবহৃত হয় যা একটি নিরবচ্ছিন্নভাবে ঊর্ধ্বমুখী স্টকের ক্ষেত্রে ব্যবহৃত হয়।

৫২-সপ্তাহের সর্বনিম্ন মূল্যে থাকা স্টকসমূহ

একই স্ক্রিন, উল্টোভাবে। এই নামগুলো গত ৫২ সপ্তাহে তাদের সর্বনিম্ন ক্লোজিং প্রাইস বা তার ১% এর মধ্যে ক্লোজ হয়েছে। এগুলোকে বছরের শুরু থেকে এখন পর্যন্ত সবচেয়ে দুর্বল পারফরম্যান্সের ভিত্তিতে সাজানো হয়েছে, যেখানে মোট বারোটি নাম রয়েছে।

কুয়েরি52-week নিম্নতায় থাকা স্টকসমূহ, YTD রিটার্ন অনুযায়ী
প্রতিটি সংখ্যার পেছনের সঠিক 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

তালিকার সবচেয়ে দুর্বল পারফরম্যান্সের নাম হলো PNR, যার পারফরম্যান্স -41%। এটি $61.48 মূল্যে ক্লোজ করেছে, যা এর ৫২-সপ্তাহের সর্বনিম্ন ক্লোজিং প্রাইসের ১% এর মধ্যে। এর পরে -30.6% অবস্থানে রয়েছে CPRT

৫২-সপ্তাহের সর্বনিম্ন মূল্য হলো একটি প্রাইস রেঞ্জের অবস্থান মাত্র, এটি কোনো ব্যবসার অবস্থা সম্পর্কে চূড়ান্ত রায় নয়। লাভজনক কোম্পানিগুলোও দীর্ঘ সময় ধরে স্থবির থাকার কারণে এই তালিকায় আসতে পারে, ঠিক তেমনি প্রকৃত সংকটে থাকা কোম্পানিগুলোও এখানে আসতে পারে। শুধুমাত্র ক্লোজিং প্রাইস দিয়ে এদের আলাদা করা সম্ভব নয়। বাজারের এই ধরনের পরিস্থিতির পুনরুদ্ধার সম্পর্কে জানতে দেখুন বাজার কীভাবে ধস থেকে পুনরুদ্ধার করে

উচ্চ এবং নিম্ন সংখ্যার মাধ্যমে বাজারের বিস্তৃতি সম্পর্কে ধারণা

বাজারের বিস্তৃতি বা breadth নির্দেশ করে যে একটি মুভমেন্টে কতগুলো স্টক অংশ নিচ্ছে, সূচকটি কতটুকু দূরত্ব অতিক্রম করল তা নয়। নতুন উচ্চতা (new highs) এবং নতুন নিম্নতার (new lows) অনুপাত হলো বাজারের বিস্তৃতি পরিমাপের অন্যতম প্রাচীন পদ্ধতি। এই পৃষ্ঠায় এটিই সবচেয়ে গুরুত্বপূর্ণ তথ্য।

কুয়েরিগত ছয় সপ্তাহে দৈনিক নতুন 52-week হাই বনাম লো
প্রতিটি সংখ্যার পেছনের সঠিক 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 তারিখে, ৫২-সপ্তাহের উচ্চতার কাছাকাছি থাকা স্টকের সংখ্যা ছিল 26 এবং নিম্নতার কাছাকাছি থাকা স্টকের সংখ্যা ছিল 7, যার নিট মান হলো 19। ছয় সপ্তাহ আগে, Jun 9, 2026 তারিখে, একই স্ক্রিনে 35টি উচ্চতা এবং 3টি নিম্নতা দেখা গিয়েছিল।

চিত্রিত 29টি সেশনের মধ্যে, উভয় সংখ্যাই প্রতিদিন বড় ধরনের পরিবর্তন দেখায়। তাই কোনো একটি নির্দিষ্ট দিনের মানের চেয়ে কয়েক সপ্তাহের প্রবণতা বেশি গুরুত্বপূর্ণ। যদি সূচক স্থির থাকে কিন্তু উচ্চতার সংখ্যা কমতে থাকে, তবে বাজারের বিস্তৃতি সূচকের তুলনায় কম। যখন নিম্নতার সংখ্যা বৃদ্ধি পায়, তখন অন্যদের ভয়ের সময়ে কেনার পরিস্থিতি তৈরি হয়, যা আমরা সংবাদ বা সেন্টিমেন্টের বিপরীতে পরীক্ষা করেছি।

বাজারের বাকি অংশ তাদের সর্বোচ্চ শিখর থেকে কতটা দূরে রয়েছে

উচ্চ এবং নিম্ন স্তর হলো একটি বণ্টনের দুই প্রান্ত; অধিকাংশ স্টক এর মধ্যবর্তী অবস্থানে থাকে। এই প্যানেলটি পুরো স্ক্রিনকে ৫২-সপ্তাহের সর্বোচ্চ শিখর থেকে দূরত্বের ভিত্তিতে সাজায় এবং প্রতিটি ব্যান্ডের জন্য বার্ষিক রিটার্নের মধ্যমা (median) রিপোর্ট করে।

কুয়েরিপুরো স্ক্রিনটি 52-week হাই থেকে কত নিচে অবস্থিত
প্রতিটি সংখ্যার পেছনের সঠিক 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টি নাম ৫২-সপ্তাহের সর্বোচ্চ শিখরের ১% সীমার মধ্যে বন্ধ হয়েছে। অন্য প্রান্তে, 17%টি শিখর থেকে ৩৫% এর বেশি নিচে বন্ধ হয়েছে। শীর্ষ ব্যান্ডের বার্ষিক রিটার্নের মধ্যমা হলো 32.8%; নিচের ব্যান্ডের ক্ষেত্রে এটি -28.9%, এবং চার্টটি তাদের মধ্যবর্তী আকৃতি প্রদর্শন করে।

এই ঢালটি কোনো আবিষ্কারের চেয়ে গাণিতিক হিসাবের কাছাকাছি: একটি স্টক তার ৫২-সপ্তাহের সর্বোচ্চ শিখরের কাছাকাছি থাকা মানে হলো, গঠনগতভাবে সেটি বছরের বেশিরভাগ সময় ধরে বৃদ্ধি পেয়েছে। এই প্যানেলটি স্কেল অনুযায়ী গুরুত্ব পায়: চরম প্রান্তিক অবস্থাগুলো কতটা অস্বাভাবিক এবং বাজারের কত বড় অংশ তাদের নিজস্ব সেরা দাম থেকে অনেক দূরে অবস্থান করছে। বড় আকারে এই ধরণের স্টকগুলো ধরে রাখা হলো একটি স্টকের প্রকৃত ঝুঁকি হিসেবে পরিমাপ করা হয়।

৫২-সপ্তাহের রেঞ্জের তুলনায় বাজারের বর্তমান অবস্থান

একটি শেয়ার যখন তার সর্বোচ্চ শিখরে থাকে, তখন বাজারের অবস্থানের ওপর ভিত্তি করে তার গুরুত্ব ভিন্ন হয়। বাজার যখন তার নিজস্ব উচ্চ শিখরের কাছাকাছি থাকে, তখন একটি শেয়ারের উচ্চ শিখরে থাকা ভিন্ন অর্থ বহন করে; কিন্তু বাজার যখন উচ্চ শিখর থেকে অনেক দূরে থাকে, তখন এর অর্থ ভিন্ন হয়। নিচে দেওয়া পাঁচটি ব্রড-মার্কেট ETF-এর পরিমাপ উপরের শেয়ারগুলোর মতোই করা হয়েছে।

কুয়েরিপাঁচটি ব্রড-মার্কেট ETF তাদের নিজস্ব 52-week রেঞ্জের কোথায় অবস্থিত
প্রতিটি সংখ্যার পেছনের সঠিক 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) তার ৫২-সপ্তাহের উচ্চ শিখরের 1.08% নিচে এবং 17.2% উপরে বন্ধ হয়েছে, যা এই পাঁচটি সূচকের মধ্যে উচ্চ শিখরের সবচেয়ে কাছাকাছি। Nasdaq 100 (QQQ) তার উচ্চ শিখর থেকে সবচেয়ে দূরে 4.98% অবস্থানে রয়েছে। বছরের শুরু থেকে এখন পর্যন্ত এই দুটির অবস্থান হলো 11.1% এবং 15.4%।

একই সূচকের ইকুয়াল-ওয়েটেড (equal-weighted) এবং ক্যাপ-ওয়েটেড (cap-weighted) সংস্করণের মধ্যকার ব্যবধান নিজেই বাজারের বিস্তৃতি বা breadth নির্দেশ করে। যখন ইকুয়াল-ওয়েটেড লাইনটি উচ্চ শিখরের কাছাকাছি থাকে, তখন বুঝতে হবে গড় সদস্যগুলো বড় সদস্যগুলোর তুলনায় দ্রুত গতিতে বাড়ছে। যখন ক্যাপ-ওয়েটেড লাইনটি উচ্চ শিখরের কাছাকাছি থাকে, তখন বোঝা যায় যে মাত্র কয়েকটি বিশাল কোম্পানি সূচকটিকে টেনে নিয়ে যাচ্ছে। কোনোটিই ভবিষ্যৎবাণী করতে পারে না, এবং ভুল সময়ে বাজার থেকে সরে আসা বাজারের সেরা দিনগুলো হারিয়ে ফেলার মতো ক্ষতির কারণ হতে পারে।

এটি যেভাবে পরিমাপ করা হয়

এই পৃষ্ঠার প্রতিটি তথ্য US এক্সচেঞ্জ টেপের মিনিট বার (minute bars) থেকে নেওয়া হয়েছে, যা দৈনিক ক্লোজিং প্রাইস হিসেবে একত্রিত করা হয়েছে। এর নিয়মাবলি নিচে বিস্তারিত দেওয়া হলো:

  • ইউনিভার্স। শুধুমাত্র US-তালিকাভুক্ত অপারেটিং কোম্পানিগুলো অন্তর্ভুক্ত করা হয়। কোম্পানিটিকে গত ৪০০ দিনের মধ্যে শেষ হওয়া কোনো সময়ের জন্য SEC-তে ইনকাম স্টেটমেন্ট জমা দিতে হয়। ফলে ETF এবং ফান্ড উভয় তালিকা থেকেই বাদ রাখা হয়েছে। অতিরিক্ত সতর্কতা হিসেবে লেভারেজড এবং ইনভার্স ETF-কেও সরাসরি বাদ দেওয়া হয়েছে।
  • তারল্যের সর্বনিম্ন সীমা (Liquidity floor)। একটি স্টকের গত ২০ ক্যালেন্ডার দিনে অন্তত ২ বিলিয়ন ডলার লেনদেন হতে হবে। সপ্তাহান্ত এবং ছুটির দিন বাদ দিলে এই সময়সীমা প্রায় এক ডজন সেশনের সমান, যার ফলে প্রতি সেশনে লেনদেনের পরিমাণ প্রায় ১৫০ মিলিয়ন ডলার হতে হয়। এটি তালিকার নামগুলোকে এমন পর্যায়ে রাখে যেখানে একজন পাঠক প্রকৃতপক্ষে লেনদেন করতে পারেন এবং কম লেনদেনের কারণে কোনো ভুল তথ্য তৈরি হওয়া রোধ করে।
  • স্প্লিট অন্তর্ভুক্ত করা হয় না, অ্যাডজাস্ট করা হয় না। গত ৪৬০ দিনের মধ্যে কোনো স্টক স্প্লিট সম্পন্ন হলে সেই টিকারটি তালিকা থেকে বাদ দেওয়া হয়। এই সময়সীমাটি ইচ্ছাকৃতভাবে এক বছরের বেশি রাখা হয়েছে, যাতে নিচের চার্টে থাকা সবচেয়ে পুরনো প্রাইসগুলোও এর আওতায় থাকে। এই ধরনের পৃষ্ঠায় ভুল তথ্য আসার সবচেয়ে বড় কারণ হলো স্প্লিট। উদাহরণস্বরূপ, একটি ১-ফর-২০ রিভার্স স্প্লিট কোনো লেনদেন ছাড়াই উদ্ধৃত মূল্যকে বিশ গুণ বাড়িয়ে দেয়, যা একটি আন-অ্যাডজাস্টেড স্ক্রিনে চমৎকার নতুন ৫২-সপ্তাহের উচ্চ মূল্য (52-week high) হিসেবে প্রদর্শিত হতে পারে। ফরোয়ার্ড স্প্লিট এর ঠিক উল্টো ফলাফল দেয় এবং একটি ভুয়া ৫২-সপ্তাহের নিম্ন মূল্য (52-week low) তৈরি করে।
  • ক্লোজিং প্রাইস, ইন্ট্রাডে এক্সট্রিম নয়। উচ্চ এবং নিম্ন মূল্য ক্লোজিং প্রাইসের ভিত্তিতে পরিমাপ করা হয়। একটি স্টক দিনের মধ্যে তার ৫২-সপ্তাহের উচ্চ মূল্য অতিক্রম করতে পারে, কিন্তু ক্লোজিং যদি তার নিচে হয়, তবে তা এখানে প্রদর্শিত হবে না। ইন্ট্রাডে প্রিন্টের ওপর ভিত্তি করে তৈরি স্ক্রিনগুলোতে অনেক বেশি সংখ্যা দেখা যায়।
  • সেশনটি সম্পূর্ণ হতে হবে। দিনের ক্লোজিং হলো নিউ ইয়র্ক সময় ১৫:৩০ থেকে ১৬:০০ এর মধ্যে শেষ মিনিট বার। একটি চলমান সেশনে ওই আধা ঘণ্টায় কোনো বার থাকে না, তাই এটি গণনায় অন্তর্ভুক্ত হতে পারে না। ছুটির দিনে দ্রুত বন্ধ হওয়া সেশনগুলোও একই কারণে বাদ পড়ে যায়। উপরে উল্লিখিত তারিখটি হলো সেই শেষ সেশন যা এই পরীক্ষাটি পাস করেছে, তাই এটি ক্যালেন্ডারের চেয়ে এক বা দুই দিন পিছিয়ে থাকতে পারে।
  • এক বছরের পূর্ণ ইতিহাস। একটি স্টকের জন্য ৫২-সপ্তাহের উইন্ডোর মধ্যে অন্তত ২০০টি সেশন এবং প্রথম সেশনটি অন্তত ৩৫০ দিন আগের হতে হবে। কোনো কোম্পানি যদি তিন মাস আগে তালিকাভুক্ত হয়, তবে তারা এখানে ৫২-সপ্তাহের উচ্চ মূল্য দেখাতে পারবে না।
  • ১% ব্যান্ড। "At a 52-week high" মানে হলো ক্লোজিং প্রাইস গত ৫২ সপ্তাহের সর্বোচ্চ ক্লোজিং প্রাইসের সমান বা তার ১% সীমার মধ্যে অবস্থিত, এবং লো (low) তালিকাটি এর ঠিক বিপরীত চিত্র দেখায়। Year-to-date রিটার্ন ২০২৫ সালের শেষ ক্লোজিং প্রাইস থেকে পরিমাপ করা হয়।

FAQ

৫২-সপ্তাহের উচ্চতম মূল্যে (52-week high) কেনা কি সঠিক সিদ্ধান্ত?

এর কোনো সাধারণ উত্তর নেই এবং এখানে কোনো পরামর্শ দেওয়া হয়নি। এই পৃষ্ঠাটি কেবল অতীতের তথ্য প্রদর্শন করে: ৫২-সপ্তাহের উচ্চতম মূল্যের ১% সীমার মধ্যে থাকা স্টকগুলোর বার্ষিক রিটার্ন (year-to-date return) হলো 32.8%, যেখানে উচ্চতম মূল্যের চেয়ে ৩৫% এর বেশি নিচে থাকা স্টকগুলোর রিটার্ন হলো -28.9%। এটি স্টকগুলোর বিগত বছরের অবস্থা বর্ণনা করে, আগামী বছরের নয়। এই লেবেলটি একটি নির্দিষ্ট প্রাইস রেঞ্জ নির্দেশ করে, ভ্যালুয়েশন নয়।

একটি স্টকের ৫২-সপ্তাহের সর্বনিম্ন মূল্য (52-week low) হওয়া মানে কী?

এর মানে হলো স্টকটি গত ৫২ সপ্তাহের যেকোনো সময়ের তুলনায় কম মূল্যে বন্ধ হয়েছে। 7 সংখ্যক স্টকের ক্ষেত্রে Jul 21, 2026 তারিখে এটি প্রযোজ্য ছিল। একটি নিম্নমুখী দাম ব্যবসার অবনতি বা লাভজনক ব্যবসায় দীর্ঘস্থায়ী মন্দার কারণে হতে পারে; শুধুমাত্র দাম দেখে এর কারণ বোঝা সম্ভব নয়।

বর্তমানে কতটি স্টক ৫২-সপ্তাহের উচ্চতম মূল্যে রয়েছে?

Jul 21, 2026 তারিখের বাজার বন্ধ হওয়ার তথ্য অনুযায়ী, এই স্ক্রিনে থাকা 26টি স্টক ৫২-সপ্তাহের উচ্চতম মূল্যের সমান বা তার ১% সীমার মধ্যে বন্ধ হয়েছে, যেখানে 7টি ৫২-সপ্তাহের সর্বনিম্ন মূল্যের সমান বা তার ১% সীমার মধ্যে ছিল। এই স্ক্রিনে শুধুমাত্র বড় এবং লিকুইড মার্কিন অপারেটিং কোম্পানিগুলো রয়েছে যাদের গত ২০ ক্যালেন্ডার দিনে ২ বিলিয়ন ডলারের বেশি টার্নওভার হয়েছে, তাই এই সংখ্যাটি সমস্ত লিস্টিংয়ের তুলনায় কম হতে পারে।

৫২-সপ্তাহের উচ্চতম মূল্য কীভাবে গণনা করা হয়?

গত ৫২ সপ্তাহের প্রতিটি ক্লোজিং প্রাইস বা সমাপনী মূল্য বিবেচনা করুন এবং এর মধ্যে সবচেয়ে বড়টি খুঁজে বের করুন। যদি সাম্প্রতিক ক্লোজিং প্রাইস এর সমান হয়, তবে স্টকটি একটি ৫২-সপ্তাহের ক্লোজিং হাই সেট করেছে। এই পৃষ্ঠাটি সেই লেভেলের ১% সীমার মধ্যে থাকা স্টকগুলোকেও গণনা করে। তবে গত ৪৬০ দিনের মধ্যে কোনো স্টক যদি স্প্লিট (split) হয়ে থাকে, তবে তাকে তালিকা থেকে বাদ দেওয়া হয়, কারণ স্প্লিট স্টকের মূল্য পরিবর্তন না করেই উদ্ধৃত মূল্য পরিবর্তন করে দেয়।


উপরের প্রতিটি প্যানেলে এর পেছনের SQL কোড সংরক্ষিত আছে। স্ক্রিনটি যাচাই করতে যেকোনো টেবিলের নিচের কুয়েরিটি ওপেন করুন অথবা Strasmore টার্মিনালে এটি চালান। বছরের চরম পরিবর্তনের পরিবর্তে এই সপ্তাহের বড় পরিবর্তনগুলো দেখতে এই সপ্তাহের সবচেয়ে বেশি লাভ ও ক্ষতি করা স্টকগুলো দেখুন।

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