Strasmore Research
Muhtasari wa soko Matt ConnorNa Matt Connor · Imeboreshwa 2026-07-24 · data as of July 24, 2026 · refreshed weekly

Hisa katika viwango vya juu na chini vya wiki 52

Angalia hisa zilizo fika katika kiwango cha juu cha wiki 52 au kiwango cha chini cha wiki 52 kupitia rekodi za soko ili upate picha kamili ya soko.

Kiwango cha juu cha wiki 52 ni bei ya juu zaidi ambayo hisa imefunga katika kipindi cha mwaka uliopita, na kiwango cha chini cha wiki 52 ni bei ya chini kabisa. Katika kikao kilichopita, Jul 21, 2026, 26 hisa kwenye skrini hii zilifunga katika kiwango cha juu cha wiki 52 au ndani ya 1% ya kiwango hicho, na 7 zilifunga katika kiwango cha chini cha wiki 52 au ndani ya 1% ya kiwango hicho. Skrini hii inajumuisha kampuni kubwa za Marekani zenye ukwasi na inajengwa upya kutokana na rekodi za soko (exchange tape).

Hisa katika viwango vya juu vya wiki 52

Orodha ya wenye faida kubwa zaidi tangu mwanzo wa mwaka inaonekana hapa chini, ikiwa na hadi dweli kumi na mbili. Kila moja ilimaliza kikao ikiwa katika kiwango cha juu au ndani ya 1% ya bei yake ya juu zaidi ya wiki 52 zilizopita.

UlizaHisa katika viwango vya juu vya wiki 52, kwa mpangilio wa return ya year-to-date
SQL halisi nyuma ya kila namba
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 iko juu zaidi kwa 99.6% kwa mwaka huu, ikifunga kwa $439.18. Katika orodha hii, bei ya kufunga ni kiwango cha juu cha wiki 52 ndani ya 1%, kwa muundo huu, hivyo safu ya bei pia inawakilisha kiwango kinachojaribiwa. DINO inafuata kwa 99% na MPC kwa 96.6%. Katika mwisho wa jedwali, ROKU inasoma 33% kwa mwaka huu.

Mtawanyiko huo ndio hoja kuu. Kiwango cha juu cha wiki 52 kinaelezea mahali bei ilipo ndani ya kiwango chake cha mwaka mmoja, zaidi ya hapo hakuna. Hisa iliyoshuka sana msimu uliopita wa kiangazi na kurejea juu inapewa lebo sawa na ile ambayo haikuacha kupanda.

Hisa katika viwango vya chini vya wiki 52

Skrini ile ile, ikiwa imerekebishwa. Majina haya yamefunga katika kiwango au ndani ya 1% ya bei yake ya chini kabisa ya wiki 52 zilizopita, yakipangwa kuanzia mwenye ufaulu duni zaidi tangu mwanzo wa mwaka, hadi kumi na mbili.

UlizaHisa katika viwango vya chini vya wiki 52, kwa mpangilio wa return ya year-to-date
SQL halisi nyuma ya kila namba
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 ndiye mwenye ufaulu duni zaidi tangu mwanzo wa mwaka kwenye orodha hii kwa -41%, akifunga kwa $61.48, ikiwa ndani ya 1% ya bei yake ya chini kabisa ya wiki 52. CPRT inafuata kwa -30.6%.

Kiwango cha chini cha wiki 52 ni nafasi katika mfululizo wa bei, si hukumu kuhusu biashara. Kampuni zinazopata faida huingia kwenye orodha hii kupitia vipindi virefu vya utulivu, na vivyo hivyo kampuni zilizo katika hali ngumu. Bei ya kufunga pekee haziwezi kuzitofautisha. Kwa toleo la soko zima la swali hili, angalia jinsi masoko yanavyopata nafuu baada ya kuzorota.

Maana ya idadi ya bei za juu na chini kuhusu upana wa soko

Upana unapima idadi ya hisa zinazoshiriki katika mabadiliko badala ya umbali ambao kielezo (index) umesafiri. Idadi ya bei mpya za juu dhidi ya bei mpya za chini ni moja ya viashiria vya zamani zaidi vya upana, na kwenye ukurasa huu ndiyo namba inayopaswa kufuatiliwa.

UlizaViwango vipya vya wiki 52 dhidi ya viwango chini vipya, kila siku, kwa wiki sita zilizopita
SQL halisi nyuma ya kila namba
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

Katika Jul 21, 2026, skrini ilionyesha majina 26 katika au karibu na kiwango cha juu cha wiki 52 dhidi ya 7 katika au karibu na kiwango cha chini, ikiwa na thamani halisi ya 19. Wiki sita zilizopita, mnamo Jun 9, 2026, skrini hiyo hiyo ilionyesha 35 bei za juu na 3 bei za chini.

Katika vikao vya 29 vilivyoonyeshwa, idadi zote mbili hubadilika kwa kasi kutoka siku hadi siku, hivyo kiwango cha kikao chochote kimoja kina umuhimu mdogo kuliko mwelekeo wa wiki kadhaa. Kielezo kinachodumu huku idadi ya bei za juu ikipungua ni soko lenye upana mdogo kuliko kile kinachoonekana na kielezo pekee. Hali ambapo idadi ya bei za chini inaongezeka ndiyo mazingira yanayochochea kununua wakati wengine wanaogopa, hali tuliyojitahidi kuijadili dhidi ya hisia za habari.

Jinsi soko lilivyo mbali na kiwango chake cha juu

Viwango vya juu na vya chini ni ncha mbili za mgawanyo; hisa nyingi zipo katikati. Paneli hii inapanga skrini nzima kulingana na umbali chini ya kiwango cha juu cha wiki 52 na kutoa wastani wa faida ya mwaka hadi sasa katika kila kundi.

UlizaJinsi screen nzima ilivyo chini ya kiwango chake cha juu cha wiki 52
SQL halisi nyuma ya kila namba
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% ya skrini, yenye 26 majina, ilifunga ndani ya 1% ya kiwango cha juu cha wiki 52. Katika upande wa pili, 17% ilifunga chini zaidi ya 35% ya kiwango hicho. Wastani wa faida ya mwaka hadi sasa katika kundi la juu ni 32.8%; katika kundi la chini ni -28.9%, na chati inaonyesha mwelekeo kati yake.

Mwelekeo huo unafanana zaidi na hesabu kuliko ugunduzi: hisa iliyo karibu na kiwango chake cha juu cha wiki 52, kwa asili, imetumia sehemu kubwa ya mwaka ikipanda. Paneli hii ni muhimu kwa sababu inaonyesha jinsi mambo ya kupitiliza yalivyo ya kipekee, na jinsi sehemu kubwa ya soko ilivyo mbali na bei yake bora zaidi. Kumiliki hisa moja kati ya hizo kwa kiasi kikubwa ni hatari inayopimwa katika hatari halisi ya hisa moja.

Hali ya soko katika kiwango chake cha wiki 52

Hali ya hisa moja iliyo juu inatofautiana kulingana na soko lililo karibu na kiwango chake cha juu kuliko soko lililo mbali na kiwango hicho. Mifano mitano ya ETF ya soko pana hapa chini imepimwa kwa njia sawa na hisa zilizotajwa hapo juu.

UlizaMahali ETFs tano za soko pana zilipo ndani ya range yao ya wiki 52
SQL halisi nyuma ya kila namba
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) ilifunga 1.08% chini ya kiwango chake cha juu cha wiki 52, ikiwa karibu zaidi kati ya tano, na 17.2% juu ya kiwango chake cha chini cha wiki 52. Nasdaq 100 (QQQ) iko mbali zaidi na kiwango chake cha juu ikiwa kwenye 4.98%. Kuanzia mwanzo wa mwaka hadi sasa, zote mbili zinasoma 11.1% na 15.4%.

Tofauti kati ya toleo la equal-weighted na toleo la cap-weighted la indeksi hiyo hiyo ni kipimo cha upana wa soko (breadth). Wakati mstari wa equal-weighted ukiwa karibu na kiwango chake cha juu, wastani wa wanachama unazidi kasi ya wanachama wakubwa zaidi. Wakati mstari wa cap-weighted ukiwa karibu zaidi, kampuni chache kubwa sana ndizo zinazobeba indeksi hiyo. Hakuna mpangilio wowote unaotabiri matokeo, na kutoka nje ya soko wakati wa kipindi kisicho sahihi kuna gharama kama ilivyoainishwa katika kukosa siku bora za soko.

Jinsi hii inavyopimwa

Kila takwimu kwenye ukurasa huu inatokana na minute bars kwenye US exchange tape, ambazo zimekusanywa kuwa bei za kufunga za kila siku. Sheria kamili ni:

  • Ulimwengu wa data. Kampuni zinazofanya kazi zilizoorodheshwa Marekani pekee, zinazotambulika kwa ripoti ya mapato ya kampuni iliyowasilishwa kwa SEC kwa kipindi kinachoishia ndani ya siku 400 zilizopita. Hivyo, ETFs na mifuko haipo kwenye orodha zote mbili. ETFs za leveraged na inverse pia zimeondolewa kwa makusudi.
  • Kiwango cha ukwasi. Hisa lazima iwe imefanyiwa biashara kwa angalau $2 billion katika siku 20 za kalenda zilizopita. Baada ya kuondoa wikendi na siku za mapumziko, kipindi hicho kinabaki na karibu vikao kumi na viwili, hivyo kiwango kinakuwa karibu $150 million kwa kila kikao. Hii inahakikisha orodha inajumuisha majina ambayo msomaji anaweza kuyafanyia biashara na inazuia tape nyembamba kutengeneza takwimu zisizo za kawaida.
  • Mgawanyo wa hisa (splits) haujarekebishwa, bali umeondolewa. Ticker yoyote iliyofanya stock split katika siku 460 zilizopita inaondolewa kwenye skrini. Kipindi hiki kimepanuliwa zaidi ya mwaka mmoja kwa makusudi, ili kuingia bei za zamani zaidi ambazo chati ya upana hapa chini inazifikia. Hii ndiyo njia kuu inayoweza kusababisha ukurasa kama huu kutoa taarifa zisizo sahihi: reverse split ya 1-for-20 huongeza bei inayonukuliwa mara ishirini bila kuwa na biashara nyuma yake, na skrini isiyorekebishwa ingetoa ripoti ya juu mpya ya 52-week high. Forward split hufanya kinyume chake na kuleta 52-week low ya bandia.
  • Bei za kufunga, si kiwango cha ndani ya siku (intraday extremes). Juu na chini zinapimwa kwa bei za kufunga. Hisa inaweza kufanya biashara kupitia 52-week high yake wakati wa mchana, ikifunga chini yake, na isionekane hapa. Skrini zinazojengwa kwenye data za intraday hutoa idadi kubwa zaidi ya takwimu.
  • Kikao lazima kiwe kimekamilika. Bei ya kufunga ya siku ni minute bar ya mwisho kati ya saa 15:30 na 16:00 wakati wa New York. Kikao kinachopakia bado hakina minute bars katika nusu saa hiyo, hivyo hakiwezi kuingia kwenye hesabu, na kikao kinachoendelea hakitaingia kamwe. Vikao vya mapumziko vya mapema vinaondoka kwa sababu hiyo hiyo. Tarehe iliyoandikwa juu ni kikao cha mwisho kilichopita majaribio, hivyo inaweza kuwa nyuma kwa siku moja au mbili za kalenda.
  • Historia ya mwaka mzima. Hisa inahitaji angalau vikao 200 ndani ya kipindi cha 52-week na kikao cha kwanza kiwe angalau siku 350 nyuma. Kampuni iliyoorodheshwa miezi mitatu iliyopita haiwezi kuonyesha 52-week high hapa.
  • Band ya 1%. "Katika 52-week high" inamaanisha bei ya kufunga iko kwenye au ndani ya 1% ya bei ya juu zaidi ya kufunga katika wiki 52 zilizopita, na orodha ya chini inafuatilia hivyo hivyo. Returns za year-to-date zinapimwa kutoka bei ya mwisho ya kufunga ya 2025.

Maswali ya Mara kwa Mara

Je, kununua wakati bei imefika juu zaidi ya wiki 52 ni wazo zuri?

Hakuna jibu la jumla, na hakuna ushauri hapa. Ukurasa huu unaonyesha matokeo ya nyuma tu: hisa zilizo ndani ya 1% ya juu zaidi ya wiki 52 zina wastani wa faida ya mwaka huu hadi sasa wa 32.8%, dhidi ya -28.9% kwa hisa zilizo chini zaidi ya 35% ya kiwango chake cha juu. Hii inaelezea mwaka uliopita kwa hisa hizo, si mwaka ujao. Alama hii inaonyesha nafasi katika kiwango cha bei, si thamani (valuation).

Inamaanisha nini hisa inapofikia chini zaidi ya wiki 52?

Inamaanisha kuwa hisa imefunga kwa bei ya chini kuliko wakati wowote katika wiki 52 zilizopita. Katika Jul 21, 2026, hali hiyo ilihusika kwa 7 majina kwenye skrini hii. Bei ya chini inaweza kusindikizwa na biashara inayozororeka au mkengeko wa muda mrefu katika biashara inayopata faida, na bei pekee haikuambii ipi kati ya hizo.

Kuna hisa ngapi ambazo ziko kwenye juu zaidi ya wiki 52 sasa hivi?

Kufunga kwa Jul 21, 2026, hisa 26 kwenye skrini hii zilifunga kwenye au ndani ya 1% ya juu zaidi ya wiki 52, dhidi ya 7 kwenye au ndani ya 1% ya chini zaidi ya wiki 52. Skrini hii inahifadhi kampuni kubwa za uendeshaji za US zenye ukwasi zinazozingatia kilingo cha mzunguko wa fedha (turnover) wa $2 billion katika siku 20 zilizopita, hivyo idadi hizi ni ndogo kuliko idadi itakayotolewa na skrini ya orodha zote.

Jinsi gani juu zaidi ya wiki 52 inavyopigiwa hesabu?

Chukua kila bei ya kufunga katika wiki 52 zilizopita na utafute ile kubwa zaidi. Ikiwa bei ya kufunga ya hivi karibuni ni sawa na hiyo, hisa imeweka juu zaidi ya wiki 52 ya kufunga. Ukurasa huu pia unahesabu hisa yoyote iliyo ndani ya 1% ya kiwango hicho, na kuondoa ticker yoyote iliyofanya split katika siku 460 zilizopita, kwa sababu split hubadilisha bei inayonukuliwa bila kubadilisha thamani ya mali inayomilikiwa.


Kila jalada hapo juu linahifadhi SQL yake. Fungua swali (query) chini ya jedwali lolote ili kukagua skrini, au uendeshe kwenye terminal ya Strasmore. Kwa mienendo mikubwa zaidi ya wiki badala ya mienendo ya ulimwenguni ya mwaka, tazama hisa zinazopata faida na hasara kubwa zaidi wiki hii.

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