Strasmore Research
Marktrückblicke Matt ConnorVon Matt Connor · Aktualisiert 2026-07-23 · data as of July 23, 2026 · refreshed weekly

Aktien bei 52-Wochen-Hochs und -Tiefs

Überblick über Aktien an 52-Wochen-Hochs und -Tiefs. Die Liste zeigt Kursentwicklungen als Indikator für die Marktbreite basierend auf aktuellen Börsendaten.

Ein 52-Wochen-Hoch ist der höchste Schlusskurs einer Aktie im vergangenen Jahr; ein 52-Wochen-Tief ist der niedrigste. In der letzten abgeschlossenen Sitzung am Jul 21, 2026 schlossen 26 Aktien auf diesem Bildschirm auf einem 52-Wochen-Hoch oder innerhalb von 1 % davon, während 7 auf einem 52-Wochen-Tief oder innerhalb von 1 % davon schlossen. Der Screen umfasst große, liquide US-Unternehmen und basiert auf den Börsendaten.

Aktien bei 52-Wochen-Hochs

Die stärksten Kursgewinner des bisherigen Jahres sind unten aufgeführt, bis zu zwölf Titel. Jeder Wert schloss die Sitzung bei oder innerhalb von 1 % seines höchsten Schlusskurses der letzten 52 Wochen ab.

AbfrageAktien bei 52-Wochen-Hochs, sortiert nach YTD-Rendite
Das exakte SQL hinter jeder Zahl
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 steht mit 99.6% für das Jahr an der Spitze und schloss bei $439.18. In dieser Liste entspricht der Schlusskurs aufgrund der Definition dem 52-Wochen-Hoch innerhalb einer Spanne von 1 %, sodass die Spalte für den Schlusskurs gleichzeitig das getestete Niveau darstellt. DINO folgt mit 99%, und MPC mit 96.6%. Am Ende der Tabelle liegt ROKU bei 33% für das Jahr.

Dieser spread ist der entscheidende Punkt. Ein 52-Wochen-Hoch beschreibt lediglich, wo sich ein Preis innerhalb seiner eigenen Einjahresspanne befindet. Eine Aktie, die im letzten Sommer stark gefallen ist und sich zurückgekämpft hat, trägt dasselbe Label wie eine Aktie, die nie aufgehört hat zu steigen.

Aktien bei 52-Wochen-Tiefs

Die gleiche Auswahl, jedoch umgekehrt. Diese Titel schlossen auf oder innerhalb von 1 % ihres niedrigsten Schlusskurses der letzten 52 Wochen. Die Liste umfasst zwölf Werte, sortiert nach der schwächsten Performance seit Jahresbeginn.

AbfrageAktien bei 52-Wochen-Tiefs, sortiert nach YTD-Rendite
Das exakte SQL hinter jeder Zahl
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 weist mit -41% die schwächste Performance seit Jahresbeginn auf. Der Kurs schloss bei $61.48, was innerhalb von 1 % des 52-Wochen-Tiefs liegt. CPRT folgt mit -30.6%.

Ein 52-Wochen-Tief beschreibt eine Position innerhalb einer Preisspanne und ist kein Urteil über die Geschäftstätigkeit. Profitable Unternehmen landen durch lange Phasen ohne Kurssteigerungen auf dieser Liste, ebenso wie Unternehmen in ernsthaften Schwierigkeiten. Der Schlusskurs allein unterscheidet sie nicht voneinander. Informationen zur marktweiten Perspektive finden Sie unter wie Märkte sich von Crashs erholen.

Was die Anzahl der Höchst- und Tiefststände über die Marktdurchdringung aussagt

Die Marktdurchdringung (Breadth) misst, wie viele Aktien an einer Bewegung teilnehmen, anstatt nur die Kursentwicklung des Index zu betrachten. Das Verhältnis von neuen Höchstständen zu neuen Tiefstständen ist eines der ältesten Indikatoren für die Marktdurchdringung und ist auf dieser Seite die entscheidende Kennzahl.

AbfrageNeue 52-Wochen-Hochs gegenüber neuen Tiefs, täglich, über die letzten sechs Wochen
Das exakte SQL hinter jeder Zahl
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

Am Jul 21, 2026 wiesen 26 Titel ein 52-Wochen-Hoch oder standen diesem nahe, während 7 ein 52-Wochen-Tief oder dessen nahe lagen, was einem Netto-Wert von 19 entspricht. Sechs Wochen zuvor, am Jun 9, 2026, ergab dieselbe Auswertung 35 Höchststände und 3 Tiefststände.

Über die 29 aufgezeichneten Sitzungen schwankten beide Werte täglich stark. Daher ist der Wert eines einzelnen Tages weniger wichtig als der Trend über mehrere Wochen. Wenn ein Index stabil bleibt, während die Anzahl der Höchststände abnimmt, ist der Markt weniger breit aufgestellt, als es der Index allein vermuten lässt. Ein Markt, in dem die Anzahl der Tiefststände ansteigt, ist der Hintergrund für Käufe, wenn andere Angst haben, was wir im Vergleich zur Nachrichten-Stimmung getestet haben.

Abstand des restlichen Marktes zu seinen Höchstständen

Höchststände und Tiefststände bilden die beiden Enden einer Verteilung; die meisten Aktien bewegen sich im mittleren Bereich. Diese Übersicht sortiert alle Werte nach ihrem Abstand zum 52-Wochen-Hoch und gibt die mediane Rendite seit Jahresbeginn für jede Gruppe an.

AbfrageAbstand des gesamten Screens zum 52-Wochen-Hoch
Das exakte SQL hinter jeder Zahl
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% des Marktes und 26 Titel schlossen innerhalb von 1 % eines 52-Wochen-Hochs. Am anderen Ende schlossen 17% mehr als 35 % unter einem solchen Hoch. Die mediane Rendite seit Jahresbeginn liegt in der obersten Gruppe bei 32.8%; in der untersten Gruppe beträgt sie -28.9%. Das Diagramm zeigt den Verlauf zwischen diesen Werten.

Dieser Gradient ist eher ein mathematisches Ergebnis als eine Entdeckung: Eine Aktie nahe ihrem 52-Wochen-Hoch ist konstruktionsbedingt über weite Teile des Jahres gestiegen. Die Übersicht ist deshalb wichtig, um die Ausreißer zu bewerten und zu sehen, wie viele Marktwerte weit von ihrem jeweiligen Bestpreis entfernt liegen. Eine hohe Gewichtung solcher Titel entspricht dem realen Risiko einer einzelnen Aktie.

Die Position des Marktes innerhalb seiner 52-Wochen-Spanne

Der Kurs einer einzelnen Aktie wird anders bewertet, wenn der Markt nahe seinem Höchststand steht, als wenn er weit davon entfernt ist. Die folgenden fünf breiten Markt-ETFs werden exakt wie die oben genannten Aktien gemessen.

AbfragePosition von fünf breiten Markt-ETFs innerhalb ihrer 52-Wochen-Range
Das exakte SQL hinter jeder Zahl
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) schloss 1.08% unter seinem 52-Wochen-Hoch, was der niedrigste Abstand der fünf Werte ist, und 17.2% über seinem 52-Wochen-Tief. Nasdaq 100 (QQQ) ist mit 4.98% am weitesten von seinem Hoch entfernt. Seit Jahresbeginn liegen die beiden bei 11.1% und 15.4%.

Die Differenz zwischen einer gleichgewichteten und einer kapitalgewichteten Version desselben Index ist ein eigenständiger Indikator für die Marktdurchdringung. Wenn die gleichgewichtete Linie näher an ihrem Hoch liegt, übertreffen die durchschnittlichen Titel die größten Unternehmen. Wenn die kapitalgewichtete Linie näher am Hoch liegt, stützen einige wenige sehr große Unternehmen den Index. Keine dieser Konstellationen ist eine Vorhersage; den Markt zur falschen Zeit zu verlassen, führt zu den Kosten, die unter dem Verpassen der besten Markttage beschrieben werden.

So wird dies gemessen

Jeder Wert auf dieser Seite basiert auf Minutendaten der US-Börsen, die zu täglichen Schlusskursen aggregiert wurden. Die vollständigen Regeln lauten:

  • Der Anlageuniversum. Nur US-börsennotierte operative Unternehmen, identifiziert durch eine bei der SEC eingereichte Gewinn-und-Verlustrechnung für einen Zeitraum, der innerhalb der letzten 400 Tage endet. Daher bleiben ETFs und Fonds in beiden Listen ausgeschlossen. Leveraged und Inverse ETFs sind zusätzlich explizit ausgeschlossen.
  • Liquiditätsuntergrenze. Eine Aktie muss in den letzten 20 Kalendertagen mit einem Handelsvolumen von mindestens 2 Milliarden $ gehandelt worden sein. Nach Abzug von Wochenenden und Feiertagen umfasst dieser Zeitraum etwa ein Dutzend Sitzungen, sodass der Wert bei etwa 150 Millionen $ pro Sitzung liegt. Dies stellt sicher, dass die Listen nur Namen enthalten, mit denen ein Leser tatsächlich handeln kann, und verhindert, dass geringe Handelsvolumina extreme Werte erzeugen.
  • Splits werden ausgeschlossen, nicht angepasst. Jeder Ticker, der in den letzten 460 Tagen einen Aktiensplit vollzogen hat, wird aus der Anzeige entfernt. Dieser Zeitraum umfasst absichtlich mehr als ein ganzes Jahr, um die ältesten Preise abzudecken, die das untenstehende Chart erreichen. Dies ist die häufigste Ursache für fehlerhafte Daten auf einer solchen Seite: Ein 1-zu-20 Reverse Split vervielfacht den angezeigten Preis zwanzigfach ohne entsprechendes Handelsvolumen, und ein unkorrigierter Screen würde ein spektakuläres neues 52-Wochen-Hoch melden. Ein Forward Split bewirkt das Gegenteil und simuliert ein 52-Wochen-Tief.
  • Schlusskurse, keine Intraday-Extrema. Hoch- und Tiefstkurse werden anhand der Schlusskurse gemessen. Eine Aktie kann während des Tages über ihr 52-Wochen-Hoch handeln, unter diesem Kurs schließen und taucht hier niemals auf. Screens, die auf Intraday-Werten basieren, melden höhere Zahlen.
  • Die Sitzung muss abgeschlossen sein. Der Tageschluss ist der letzte Minutendatensatz zwischen 15:30 und 16:00 Uhr New Yorker Zeit. Eine Sitzung, die noch geladen wird, hat in dieser halben Stunde keine Daten und kann daher nicht in die Berechnung einfließen; eine laufende Sitzung wird ebenfalls nicht berücksichtigt. Börsensitzungen mit früherem Schluss aufgrund von Feiertagen fallen aus demselben Grund weg. Das oben angegebene Datum ist die letzte Sitzung, die den Test bestanden hat, weshalb es ein oder zwei Tage hinter dem Kalender liegen kann.
  • Ein volles Jahr Historie. Eine Aktie benötigt mindestens 200 Sitzungen innerhalb des 52-Wochen-Fensters und eine erste Sitzung, die mindestens 350 Tage zurückliegt. Ein Unternehmen, das erst vor drei Monaten an die Börse gegangen ist, kann hier kein 52-Wochen-Hoch ausweisen.
  • Die 1%-Bandbreite. „Bei einem 52-Wochen-Hoch“ bedeutet, dass der Schlusskurs auf oder innerhalb von 1 % des höchsten Schlusskurses der letzten 52 Wochen liegt; die Liste der Tiefstkurse spiegelt dies wider. Die Year-to-date-Renditen werden ab dem letzten Schlusskurs von 2025 gemessen.

FAQ

Ist ein Kauf bei einem 52-Wochen-Hoch eine gute Idee?

Es gibt keine allgemeine Antwort, und dies stellt keine Anlageberatung dar. Diese Seite zeigt lediglich historische Daten auf: Aktien, die innerhalb von 1 % eines 52-Wochen-Hochs liegen, erzielten eine mediane Rendite seit Jahresbeginn von 32.8%, verglichen mit -28.9% für Aktien, die mehr als 35 % unter ihrem Hoch liegen. Dies beschreibt die Performance der vergangenen zwölf Monate, nicht die der kommenden zwölf Monate. Die Kennzahl markiert eine Position innerhalb einer Preisspanne, keine Bewertung.

Was bedeutet es, wenn eine Aktie ein 52-Wochen-Tief erreicht?

Es bedeutet, dass die Aktie niedriger schloss als zu jedem anderen Zeitpunkt in den letzten 52 Wochen. Am Jul 21, 2026 traf dies auf 7 Titel in dieser Übersicht zu. Ein Tiefstand kann mit einem schlechter werdenden Geschäft oder einem langfristigen Kursverlauf bei einem profitablen Unternehmen einhergehen; der Preis allein gibt keinen Aufschluss über die Ursache.

Wie viele Aktien befinden sich derzeit bei einem 52-Wochen-Hoch?

Zum Börsenschluss am Jul 21, 2026 schlossen 26 Aktien in dieser Übersicht bei oder innerhalb von 1 % eines 52-Wochen-Hochs, verglichen mit 7 bei oder innerhalb von 1 % eines 52-Wochen-Tiefs. Die Übersicht enthält große, liquide US-Unternehmen mit einem Mindestumsatz von zwei Milliarden US-Dollar über die letzten 20 Kalendertage. Daher sind diese Zahlen geringer als bei einer Übersicht über alle Börsennotierungen.

Wie wird ein 52-Wochen-Hoch berechnet?

Nehmen Sie jeden Schlusskurs der letzten 52 Wochen und ermitteln Sie den höchsten Wert. Wenn der letzte Schlusskurs diesem Wert entspricht, hat die Aktie ein 52-Wochen-Schlusskurs-Hoch erreicht. Diese Seite zählt auch alle Aktien, die innerhalb von 1 % dieses Niveaus liegen. Ticker mit einem Aktiensplit in den letzten 460 Tagen werden ausgeschlossen, da ein Split den angezeigten Kurs ändert, ohne den Wert der Position zu verändern.


Jedes obenstehende Panel speichert die zugrunde liegende SQL-Abfrage. Öffnen Sie die Abfrage unter einer beliebigen Tabelle zur Überprüfung oder führen Sie sie im Strasmore-Terminal aus. Für die größten Kursbewegungen der Woche statt der Extremwerte des Jahres siehe die größten Kursgewinner und -verlierer dieser Woche.

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