Akcje na 52-tygodniowych szczytach i dołkach
Zestawienie spółek osiągających 52-tygodniowe maksima oraz minima. Analiza szerokości rynku na podstawie kursów zamknięcia największych amerykańskich podmiotów.
Maksimum z 52 tygodni to najwyższa cena zamknięcia akcji w ciągu ostatniego roku, natomiast minimum z 52 tygodni to najniższa cena. Podczas ostatniej zakończonej sesji, Jul 21, 2026, 26 akcji na tym zestawieniu zamknęło się na poziomie maksimum z 52 tygodni lub w granicach 1% od tej wartości, a 7 zamknęło się na poziomie minimum z 52 tygodni lub w granicach 1% od tej wartości. Zestawienie obejmuje duże, płynne amerykańskie spółki operacyjne, a dane są pobierane bezpośrednio z rejestru giełdowego.
Akcje na 52-tygodniowych szczytach
Poniżej wymieniono najsilniejsze wzrosty od początku roku, obejmujące do dwunastu spółek. Każda z nich zamknęła sesję na poziomie szczytowego zamknięcia z ostatnich 52 tygodni lub w granicach 1% od tego poziomu.
Dokładny kod SQL dla każdej liczby
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 12DAVE zajmuje pierwsze miejsce z wynikiem 99.6% w skali roku, z zamknięciem na poziomie $439.18. Na tej liście, ze względu na sposób zestawienia, kurs zamknięcia stanowi szczyt z ostatnich 52 tygodni w granicach 1%, zatem kolumna cenowa pełni jednocześnie funkcję testowanego poziomu. DINO znajduje się na pozycji 99%, a MPC na 96.6%. Na końcu tabeli ROKU odnotowuje 33% w skali roku.
Kluczowe jest rozróżnienie tych wartości. Szczyt z 52 tygodni określa jedynie pozycję ceny w obrębie jej własnego rocznego zakresu. Akcja, która gwałtownie spadła latem ubiegłego roku, a następnie odrobiła straty, otrzymuje tę samą etykietę co spółka, która nieprzerwanie rośnie.
Akcje na 52-tygodniowych minimach
Zastosowano ten sam filtr, ale w odwrotnej kolejności. Poniższa lista obejmuje dwanaście spółek, których kursy zamknęły się na poziomie 52-tygodniowego minimum lub w granicach 1% od tego poziomu. Spółki zostały uszeregowane według najsłabszych wyników YoY.
Dokładny kod SQL dla każdej liczby
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 12Najsłabszy wynik YoY w zestawieniu odnotowuje PNR na poziomie -41%. Kurs zamknął się na poziomie $61.48, co stanowi wartość w granicach 1% od 52-tygodniowego minimum. Kolejną spółką jest CPRT z wynikiem -30.6%.
52-tygodniowe minimum określa pozycję w zakresie cenowym, a nie kondycję przedsiębiorstwa. Na listę tę mogą trafiać zarówno spółki generujące zyski, które znajdują się w długich okresach stagnacji, jak i podmioty w rzeczywistych problemach. Sama cena zamknięcia nie pozwala na ich rozróżnienie. W przypadku szerszej analizy rynkowej należy zapoznać się z artykułem jak rynki podnoszą się po krachach.
Co wskaźniki liczby rekordowych wzrostów i spadków mówią o szerokości rynku
Szerokość rynku mierzy liczbę akcji uczestniczących w trendzie, a nie samą wielkość zmiany indeksu. Liczba nowych rekordowych wzrostów w stosunku do nowych rekordowych spadków to jeden z najstarszych wskaźników szerokości rynku; na tej stronie jest to kluczowa wartość.
Dokładny kod SQL dla każdej liczby
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 dtW dniu Jul 21, 2026 wskaźnik wskazywał 26 spółek na poziomie lub blisko 52-tygodniowego maksimum wobec 7 na poziomie lub blisko 52-tygodniowego minimum, co daje wynik netto wynoszący 19. Sześć tygodni wcześniej, Jun 9, 2026, ten sam wskaźnik wykazywał 35 wzrostów i 3 spadków.
W ciągu 29 sesji obie wartości wykazują dużą zmienność dzienną, dlatego poziom z pojedynczej sesji ma mniejsze znaczenie niż trend wielotygodniowy. Jeśli indeks utrzymuje stabilność, podczas gdy liczba spółek osiągających wzrosty maleje, rynek jest węższy, niż sugeruje sam indeks. Sytuacja, w której liczba spółek osiągających spadki rośnie, stanowi tło dla strategii kupowania, gdy inni odczuwają strach, którą przetestowano w odniesieniu do nastrojów rynkowych.
Odległość pozostałej części rynku od własnych szczytów
Szczyty i dołki stanowią dwa krańce rozkładu; większość akcji znajduje się w środku. Poniższa tabela sortuje wszystkie instrumenty według odległości poniżej 52-tygodniowego szczytu i podaje medianę stopy zwrotu od początku roku w każdym przedziale.
Dokładny kod SQL dla każdej liczby
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 ord5.3% wszystkich instrumentów, czyli 26 nazw, zamknęło się w granicach 1% od 52-tygodniowego szczytu. Z kolei 17% zamknęło się poniżej tego poziomu o ponad 35%. Mediana stopy zwrotu od początku roku w górnym przedziale wynosi 32.8%; w dolnym przedziale wynosi ona -28.9%, a wykres obrazuje kształt między nimi.
Ten gradient wynika bardziej z arytmetyki niż z odkrycia: akcja znajdująca się blisko swojego 52-tygodniowego szczytu, ze względu na swoją konstrukcję, spędziła większość roku na wzrostach. Tabela ma znaczenie w kontekście skali: jak nietypowe są wartości ekstremalne oraz jak duża część rynku znajduje się daleko od swoich własnych najwyższych cen. Posiadanie dużej pozycji w jednym z tych instrumentów stanowi ekspozycję mierzoną przez realne ryzyko pojedynczej akcji.
Położenie rynku w zakresie 52-tygodniowym
Pozycja pojedynczej akcji w pobliżu jej szczytu wygląda inaczej w zestawieniu z rynkiem znajdującym się blisko własnego maksimum, a inaczej w zestawieniu z rynkiem oddalonym od szczytu. Poniżej przedstawiono pięć szerokich funduszy ETF, które są mierzone w ten sam sposób co akcje powyżej.
Dokładny kod SQL dla każdej liczby
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 ASCS&P 500 equal weight (RSP) zamknął się 1.08% poniżej swojego 52-tygodniowego szczytu, co stanowi najbliższy wynik spośród pięciu, oraz 17.2% powyżej swojego 52-tygodniowego dołka. Nasdaq 100 (QQQ) znajduje się najdalej od swojego szczytu na poziomie 4.98%. Wskaźniki od początku roku wynoszą odpowiednio 11.1% oraz 15.4%.
Różnica między wersją indeksu o równej wadze a wersją o wadze rynkowej stanowi samodzielny wskaźnik szerokości rynku. Gdy linia indeksu o równej wadze znajduje się bliżej szczytu, średni komponent wyprzedza największe spółki. Gdy bliżej szczytu znajduje się linia indeksu o wadze rynkowej, za wynik indeksu odpowiada kilka bardzo dużych przedsiębiorstw. Żaden z tych układów nie służy jako prognoza, a wycofanie się z rynku w niewłaściwym momencie wiąże się z kosztem opisanym w utracie najlepszych dni rynku.
Metodologia pomiaru
Wszystkie dane na tej stronie pochodzą z minutowych słupków obrotu na amerykańskich giełdach, zagregowanych do dziennych cen zamknięcia. Pełne zasady:
- Zbiór danych. Wyłącznie spółki operacyjne notowane w USA, zidentyfikowane na podstawie rachunku zysków i strat złożonego do SEC za okres kończący się w ciągu ostatnich 400 dni. Fundusze i ETF nie są uwzględniane w żadnej z list. Dodatkowo wyklucza się z dźwignią finansową oraz fundusze typu inverse.
- Próg płynności. Akcje muszą mieć obrót na poziomie co najmniej 2 mld USD w ciągu ostatnich 20 dni kalendarzowych. Po wyłączeniu weekendów i dni wolnych pozostaje około dwunastu sesji, co daje średnio około 150 mln USD na sesję. Zapobiega to uwzględnianiu w zestawieniach spółek o niskiej płynności, które mogłyby sztucznie generować ekstremalne wyniki.
- Split nie jest korygowany, lecz wykluczany. Każdy ticker, który przeszedł split akcji w ciągu ostatnich 460 dni, jest usuwany z zestawienia. Okres ten celowo wykracza poza pełny rok, aby pokryć najstarsze ceny widoczne na poniższym wykresie szerokiego rynku. Jest to najczęstsza przyczyna błędnych danych: reverse split w stosunku jeden do dwudziestu zwiększa cytowaną cenę dwudziestokrotnie bez realnego obrotu, co niekorygowany system błędnie odczytałby jako spektakularne 52-tygodniowe maksimum. Forward split działa odwrotnie, tworząc sztuczne 52-tygodniowe minimum.
- Ceny zamknięcia, a nie ekstremalne wartości intraday. Maksimum i minimum są mierzone na podstawie cen zamknięcia. Akcja może osiągnąć 52-tygodniowe maksimum w trakcie dnia, zamknąć się poniżej tej wartości i nie pojawić w zestawieniu. Systemy oparte na danych intraday wykazują większą liczbę przypadków.
- Sesja musi być zakończona. Zamknięcie dnia to ostatni słupek minutowy między godziną 15:30 a 16:00 czasu nowojorskiego. Sesja w trakcie trwania nie posiada słupków w tym półgodzinnym oknie, więc nie może zostać uwzględniona w obliczeniach. Sesje skrócone w dni świąteczne są wykluczane z tego samego powodu. Data widoczna powyżej to data ostatniej sesji, która spełniła test, dlatego może ona odbiegać od daty kalendarzowej o jeden lub dwa dni.
- Pełny rok historii. Akcja musi posiadać co najmniej 200 sesji w oknie 52 tygodni, a pierwsza sesja musi pochodzić sprzed co najmniej 350 dni. Spółka, która zadebiutowała trzy miesiące temu, nie może osiągnąć tutaj 52-tygodniowego maksimum.
- Pasmo 1%. Status „na poziomie 52-tygodniowego maksimum” oznacza, że cena zamknięcia znajduje się na tym poziomie lub w granicach 1% najwyższego zamknięcia z ostatnich 52 tygodni; lista minimów odzwierciedla tę samą zasadę. Stopy zwrotu Year-to-date są mierzone od ostatniego zamknięcia w 2025 roku.
FAQ
Czy zakup akcji na poziomie 52-tygodniowego maksimum jest dobrym pomysłem?
Nie ma jednej ogólnej odpowiedzi, a powyższe informacje nie stanowią porady inwestycyjnej. Przedstawione dane mają charakter historyczny: akcje znajdujące się w granicach 1% od 52-tygodniowego maksimum osiągnęły medianę stopy zwrotu YoY na poziomie 32.8%, podczas gdy dla akcji wycenianych o ponad 35% poniżej ich maksimum wyniosła ona -28.9%. Dane te opisują wyniki z ubiegłego roku, a nie prognozy na przyszłość. Wskaźnik ten określa pozycję w zakresie cenowym, a nie wycenę spółki.
Co oznacza osiągnięcie przez akcje 52-tygodniowego minimum?
Oznacza to, że cena zamknięcia akcji była niższa niż w dowolnym momencie w ciągu ostatnich 52 tygodni. W dniu Jul 21, 2026 dotyczyło to 7 spółek prezentowanych na tym ekranie. Minimum może wynikać z pogarszającej się kondycji przedsiębiorstwa lub długotrwałego spadku kursu w spółce rentownej; sama cena nie pozwala rozstrzygnąć, która z tych przyczyn wystąpiła.
Ile akcji znajduje się obecnie na poziomie 52-tygodniowych maximów?
Według stanu na zamknięciu w dniu Jul 21, 2026, 26 spółek na tym ekranie zamknęło się na poziomie 52-tygodniowego maksimum lub w granicach 1% od tego poziomu, podczas gdy 7 spółek zamknęło się na poziomie 52-tygodniowego minimum lub w granicach 1% od tego poziomu. Zestawienie obejmuje duże, płynne amerykańskie spółki operacyjne o obrocie przekraczającym 2 miliardy USD w ciągu ostatnich 20 dni kalendarzowych, dlatego liczby te są niższe niż w przypadku zestawień obejmujących wszystkie spółki giełdowe.
Jak obliczane jest 52-tygodniowe maksimum?
Należy zestawić wszystkie ceny zamknięcia z ostatnich 52 tygodni i wybrać najwyższą wartość. Jeśli ostatnia cena zamknięcia jest jej równa, akcja ustanowiła 52-tygodniowe maksimum zamknięcia. Strona uwzględnia również wszystkie akcje znajdujące się w granicach 1% od tego poziomu. Z zestawienia wykluczane są spółki, które dokonały podziału akcji w ciągu ostatnich 460 dni, ponieważ podział zmienia kurs cytowany, nie zmieniając przy tym wartości posiadanych aktywów.
Każdy powyższy panel zawiera kod SQL. Można otworzyć zapytanie pod dowolną tabelą w celu weryfikacji danych lub uruchomić je w terminalu Strasmore. Aby sprawdzić największe tygodniowe zmiany zamiast rocznych ekstremów, zobacz największe wzrosty i spadki akcji w tym tygodniu.