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

Short Squeeze Kandidaten diese Woche

Analyse von Aktien mit hohem Short Interest und steigenden Kursen. Wir filtern nach Days to Cover und dem Volumen der Short-Positionen für potenzielle Squeezes.

Short-Squeeze-Aktien werden nach zwei Mechanismen gefiltert: eine Short-Position, die im Verhältnis zum Handelsvolumen groß ist, und ein bereits steigender Kurs. Diese Seite wendet diesen Filter auf die neuesten von der Börse gemeldeten Short-Interest-Daten an, die am Jun 30, 2026 abgerechnet wurden, und misst die Kursentwicklung über die fünf Sitzungen bis zum Jul 21, 2026. Diese Mechanismen ähneln vergangenen Squeezes. Dies stellt keine Prognose dar, und die am stärksten leerverkauften Aktien erfahren nie einen Squeeze.

Lesen Sie die Daten vor den Namen. Die Short-Interest-Daten auf dieser Seite sind aufgrund regulatorischer Vorgaben Wochen alt, nicht aufgrund eines Fehlers im Feed: Broker melden ihre Short-Positionen zweimal im Monat zu festgelegten Abrechnungsdaten an die FINRA, und die zusammengestellte Datei wird etwa acht Geschäftstage später veröffentlicht. Der aktuellste verfügbare Wert ist vom Jun 30, 2026, also vor 23 Tagen, während die Kursentwicklung bis zum Jul 21, 2026 reicht. Was die Short-Seite innerhalb dieser Lücke getan hat, ist für jeden Screener unsichtbar, einschließlich diesem hier. Warum Short-Interest-Daten immer zwei Wochen alt sind erklärt den Meldezyklus Schritt für Schritt.

AbfrageAlle Eingaben und deren Alter in Tagen
Das exakte SQL hinter jeder Zahl
WITH prints AS (
    SELECT DISTINCT settlement_date AS d
    FROM global_markets.stocks_short_interest
    ORDER BY d DESC
    LIMIT 2
),
loaded AS (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS session
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND 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
    GROUP BY session
    HAVING count() >= 380
),
legs AS (
    SELECT arrayJoin([
        ('Short interest, previous settlement', (SELECT min(d) FROM prints)),
        ('Short interest, latest settlement', (SELECT max(d) FROM prints)),
        ('Price tape, last fully loaded session', (SELECT max(session) FROM loaded))]) AS row
)
SELECT formatDateTime(row.2, '%b %e, %Y') AS as_of_date,
       row.1 AS leg,
       dateDiff('day', row.2, today()) AS age_days
FROM legs

Die beiden Abrechnungsdaten liegen 38 und 23 Tage zurück, was dem zweimal monatlichen Abrechnungszyklus plus der Verzögerung bei der Zusammenstellung entspricht. Der Kurshistorien-Feed liegt 2 Tage zurück; diese Verzögerung ist auf die Datenverarbeitung zurückzuführen und nicht auf regulatorische Vorgaben. Beide Zeiträume haben Obergrenzen, sodass ein Feed, der stockt, diese Seite beibehält, anstatt ein altes Datum unter einer neuen Überschrift zu veröffentlichen.

Liste der Short-Squeeze-Aktien: Die aktuelle Übersicht

Jeder unten aufgeführte Name hat dieselben Kriterien erfüllt: ein durchschnittliches tägliches Handelsvolumen von fünf Millionen Aktien, fünf oder mehr Tage zur Deckung (days to cover) und eine positive Kursentwicklung über die fünf Sitzungen bis zum Jul 21, 2026. 36 Namen haben diese Kriterien erfüllt, und die 12 am stärksten umkämpften unter ihnen sind hier aufgeführt. Days to cover ist das Verhältnis von leerverkauften Aktien zum durchschnittlichen täglichen Handelsvolumen: es gibt an, wie viele volle Handelstage das gesamte Volumen der Aktie benötigt würden, damit die Short-Seite ihre Position zurückkaufen kann.

AbfrageSqueeze-Mechanik: hohe Short-Konzentration bei liquiden Werten bei steigendem Kurs
Das exakte SQL hinter jeder Zahl
WITH latest AS (
    SELECT max(settlement_date) AS d FROM global_markets.stocks_short_interest
),
sessions AS (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS session
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND 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
    GROUP BY session
    HAVING count() >= 380
    ORDER BY session DESC
    LIMIT 6
),
crowded AS (
    SELECT ticker, days_to_cover, short_interest
    FROM global_markets.stocks_short_interest
    WHERE settlement_date = (SELECT d FROM latest)
      AND avg_daily_volume >= 5000000
      AND days_to_cover >= 5
      AND ticker NOT IN ('SPCX')
      AND ticker NOT IN ('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() - 60 AND today())
),
tape AS (
    SELECT ticker,
           toDate(toTimeZone(window_start, 'America/New_York')) AS session,
           argMax(close, window_start) AS rth_close
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN (SELECT ticker FROM crowded)
      AND toDate(toTimeZone(window_start, 'America/New_York')) IN (SELECT session FROM sessions)
      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
    GROUP BY ticker, session
),
moves AS (
    SELECT ticker,
           round((argMax(rth_close, session) / argMin(rth_close, session) - 1) * 100, 1) AS return_5d_pct
    FROM tape
    GROUP BY ticker
    HAVING count() = 6 AND return_5d_pct > 0
)
SELECT c.ticker AS ticker,
       round(c.days_to_cover, 1) AS days_to_cover,
       round(c.short_interest / 1e6, 1) AS shares_short_m,
       m.return_5d_pct AS return_5d_pct
FROM crowded c
INNER JOIN moves m ON m.ticker = c.ticker
ORDER BY c.days_to_cover DESC, c.ticker
LIMIT 12

Der am stärksten umkämpfte Name in dieser Liste, MPT, weist 16.9 Tage zur Deckung bei 138.1 Millionen leerverkauften Aktien auf und stieg über die fünf Sitzungen bis zum Jul 21, 2026 um 5.4%. Die letzte angezeigte Zeile zeigt 6.5 Tage zur Deckung; dies ist der Punkt, an dem die Anzeige endet, nicht das Ende der Liste. Die Rangfolge richtet sich nach der Dichte der Short-Positionen und nicht nach der Größe, sodass eine moderate Position bei geringem Handelsvolumen höher eingestuft wird als eine viel größere Position bei hohem Handelsvolumen. Für die Rangliste nach Größe bietet die aktuell am stärksten leerverkauften Aktien beide Bestenlisten nebeneinander an.

Das Kriterium des steigenden Preises hat einen mechanischen Grund. Ein Squeeze entsteht durch Zwangs Käufe, wenn Short-Seller ihre Positionen glattstellen. Das Schließen einer Short-Position bedeutet den Rückkauf der Aktie, was erst beginnt, wenn sich der Preis gegen die Position bewegt. Wie ein Short Squeeze funktioniert, anhand der Daten von GameStop aus dem Jahr 2021 nachvollzogen, zeigt diese Abfolge in Zahlen.

Die Regeln und was sie jeweils ausschließen

Ein Screen ist eine Meinung, die mit Zahlen untermauert wird; hier wird das Feld definiert.

AbfrageVom Settlement-File zur gefilterten Liste, Schritt für Schritt
Das exakte SQL hinter jeder Zahl
WITH latest AS (
    SELECT max(settlement_date) AS d FROM global_markets.stocks_short_interest
),
sessions AS (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS session
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND 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
    GROUP BY session
    HAVING count() >= 380
    ORDER BY session DESC
    LIMIT 6
),
reported AS (
    SELECT ticker, days_to_cover, avg_daily_volume
    FROM global_markets.stocks_short_interest
    WHERE settlement_date = (SELECT d FROM latest)
),
liquid AS (
    SELECT ticker, days_to_cover
    FROM reported
    WHERE avg_daily_volume >= 5000000
      AND days_to_cover IS NOT NULL
      AND ticker NOT IN ('SPCX')
      AND ticker NOT IN ('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() - 60 AND today())
),
crowded AS (
    SELECT ticker FROM liquid WHERE days_to_cover >= 5
),
tape AS (
    SELECT ticker,
           toDate(toTimeZone(window_start, 'America/New_York')) AS session,
           argMax(close, window_start) AS rth_close
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN (SELECT ticker FROM crowded)
      AND toDate(toTimeZone(window_start, 'America/New_York')) IN (SELECT session FROM sessions)
      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
    GROUP BY ticker, session
),
rising AS (
    SELECT ticker,
           round((argMax(rth_close, session) / argMin(rth_close, session) - 1) * 100, 1) AS return_5d_pct
    FROM tape
    GROUP BY ticker
    HAVING count() = 6 AND return_5d_pct > 0
),
tally AS (
    SELECT (SELECT count() FROM reported) AS all_names,
           (SELECT count() FROM liquid) AS liquid_names,
           (SELECT count() FROM crowded) AS crowded_names,
           (SELECT count() FROM rising) AS rising_names
)
SELECT step.1 AS label, step.2 AS names
FROM (
    SELECT arrayJoin([
        ('Every name in the settlement file', all_names),
        ('Liquid: five million shares a day, no leveraged funds', liquid_names),
        ('Crowded: five or more days to cover', crowded_names),
        ('Rising: a positive move over the price window', rising_names)]) AS step
    FROM tally
)

Die Jun 30, 2026-Datei enthält 22207 Wertpapiere. Die Liquiditätsuntergrenze und die Ausschlussliste lassen 885 übrig, die Crowding-Schwelle reduziert dies auf 96, und die Preissteigerungs-Bedingung lässt 36 übrig. Jede Schwelle ist eine Entscheidung, und eine andere Entscheidung führt zu einer anderen Liste. Deshalb stehen die Regeln im Haupttext und nicht in einer Fußnote.

Wie hoch ist der Short-Anteil an jedem Unternehmen

Die meistgesuchte Kennzahl ist das Short Interest als Prozentsatz des Floats, welche in diesen Daten nicht enthalten ist. Die Börsenberichte geben die Anzahl der Short-Positionen und das durchschnittliche tägliche Handelsvolumen an, jedoch keine Gesamtzahl der Aktien. Ableitbar ist die Position im Verhältnis zu den gesamten ausstehenden Aktien, indem der Marktwert eines Unternehmens durch seinen Aktienkurs geteilt wird.

AbfrageGefilterte Werte nach Short Interest im Verhältnis zu Shares Outstanding (nicht Float)
Das exakte SQL hinter jeder Zahl
WITH latest AS (
    SELECT max(settlement_date) AS d FROM global_markets.stocks_short_interest
),
sessions AS (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS session
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND 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
    GROUP BY session
    HAVING count() >= 380
    ORDER BY session DESC
    LIMIT 6
),
crowded AS (
    SELECT ticker, days_to_cover, short_interest
    FROM global_markets.stocks_short_interest
    WHERE settlement_date = (SELECT d FROM latest)
      AND avg_daily_volume >= 5000000
      AND days_to_cover >= 5
      AND ticker NOT IN ('SPCX')
      AND ticker NOT IN ('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() - 60 AND today())
),
tape AS (
    SELECT ticker,
           toDate(toTimeZone(window_start, 'America/New_York')) AS session,
           argMax(close, window_start) AS rth_close
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN (SELECT ticker FROM crowded)
      AND toDate(toTimeZone(window_start, 'America/New_York')) IN (SELECT session FROM sessions)
      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
    GROUP BY ticker, session
),
rising AS (
    SELECT ticker,
           round((argMax(rth_close, session) / argMin(rth_close, session) - 1) * 100, 1) AS return_5d_pct
    FROM tape
    GROUP BY ticker
    HAVING count() = 6 AND return_5d_pct > 0
),
share_count AS (
    SELECT ticker, market_cap / price AS shares_out
    FROM global_markets.stocks_ratios
    WHERE date = (SELECT max(date) FROM global_markets.stocks_ratios)
      AND market_cap > 0
      AND price > 0
)
SELECT c.ticker AS ticker,
       round(100.0 * c.short_interest / s.shares_out, 1) AS si_pct_shares_out,
       round(c.short_interest / 1e6, 1) AS shares_short_m,
       round(s.shares_out / 1e6, 0) AS shares_out_m,
       round(c.days_to_cover, 1) AS days_to_cover
FROM crowded c
INNER JOIN rising r ON r.ticker = c.ticker
INNER JOIN share_count s ON s.ticker = c.ticker
ORDER BY si_pct_shares_out DESC, c.ticker
LIMIT 10

KSS führt die Liste mit einem Anteil von 26.3% an den ausstehenden Short-Aktien an: 29.9 Millionen Aktien gegenüber 113 Millionen existierenden Aktien. Die 10 Zeilen zeigen die höchsten Werte unter den gefilterten Namen mit veröffentlichten Aktienzahlen; der letzte Wert liegt bei 15.5%. Betrachten Sie diese Spalte als Untergrenze und niemals als Float-Zahl. Float umfasst nur die Aktien, die tatsächlich den Besitzer wechseln, wobei Insideranteile und andere gesperrte Bestände ausgeschlossen werden. Der Float ist der kleinere Nenner, weshalb der tatsächliche Prozentsatz der Short-Positionen am Float höher ist als jeder angezeigte Wert. Wie viel höher dieser Wert ist, hängt von der jeweiligen Eigentümerstruktur des Unternehmens ab, welche in dieser Datenbank nicht enthalten ist.

Nimmt das Short-Crowding zu oder nimmt es ab?

Ein einzelner Datenpunkt ist nur eine Momentaufnahme. Da die zugrunde liegenden Daten über Jahre hinweg vorliegen, lässt sich die marktweite Frage datenbasiert beantworten.

AbfrageLiquide Werte mit 5+ und 10+ Tagen Days to Cover, nach Settlement
Das exakte SQL hinter jeder Zahl
WITH dates AS (
    SELECT DISTINCT settlement_date AS d
    FROM global_markets.stocks_short_interest
    ORDER BY d DESC
    LIMIT 12
)
SELECT toString(settlement_date) AS settlement_date,
       countIf(days_to_cover >= 5) AS names_5plus_dtc,
       countIf(days_to_cover >= 10) AS names_10plus_dtc,
       round(quantileExact(0.5)(days_to_cover), 2) AS median_dtc_liquid
FROM global_markets.stocks_short_interest
WHERE settlement_date IN (SELECT d FROM dates)
  AND avg_daily_volume >= 5000000
  AND days_to_cover IS NOT NULL
  AND ticker NOT IN ('SPCX')
  AND ticker NOT IN ('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')
GROUP BY settlement_date
ORDER BY settlement_date

Über die 12 gezeigten Abrechnungen hinweg stieg die Anzahl der liquiden Titel mit einer Days-to-Cover-Quote von fünf oder mehr Tagen von 58 auf 96. Das seltene Ende der Verteilung bleibt deutlich dünner: 5 Titel wiesen beim letzten Datenpunkt eine Days-to-Cover-Quote von zehn oder mehr Tagen auf. Der Median der liquiden Titel liegt bei 1.87 Tagen, was die Schwelle von fünf Tagen aussagekräftig statt willkürlich macht. Die Seite Aktien mit der höchsten Days-to-Cover-Quote verfolgt diesen extremen Ausläufer separat.

Was üblicherweise als Nächstes geschah

Solche Ansichten sind leicht zu erstellen, aber auch leicht falsch zu interpretieren. Daher wird hier dieselbe Ansicht rückwärts gerechnet, mit demselben Versatz zum Datensatz. Nehmen Sie für jede Settlement-Meldung des vergangenen Jahres die Namen, die das Crowding-Gate bei diesem Print überschritten haben und in den sechs Sitzungen bis zwanzig Kalendertagen nach dem Print stiegen. Dies entspricht dem heutigen Stand dieser Seite. Messen Sie dann die Kursentwicklung jedes dieser Namen über die folgenden 30 Kalendertage.

AbfragePerformance aller vergangenen gefilterten Werte über die nächsten 30 Tage
Das exakte SQL hinter jeder Zahl
WITH screened AS (
    SELECT settlement_date, ticker
    FROM global_markets.stocks_short_interest
    WHERE settlement_date >= today() - 400
      AND settlement_date <= today() - 55
      AND avg_daily_volume >= 5000000
      AND days_to_cover >= 5
      AND ticker NOT IN ('SPCX')
      AND ticker NOT IN ('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')
),
split_hits AS (
    SELECT s.settlement_date AS sd, s.ticker AS tkr
    FROM screened s
    INNER JOIN global_markets.stocks_splits sp ON sp.ticker = s.ticker
    WHERE sp.execution_date > s.settlement_date + 11
      AND sp.execution_date <= s.settlement_date + 50
),
daily AS (
    SELECT ticker,
           toDate(toTimeZone(window_start, 'America/New_York')) AS session,
           argMax(close, window_start) AS rth_close
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN (SELECT DISTINCT ticker FROM screened)
      AND window_start >= now() - INTERVAL 400 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
    GROUP BY ticker, session
),
paired AS (
    SELECT s.settlement_date AS sd,
           s.ticker AS tkr,
           (argMaxIf(d.rth_close, d.session, d.session <= s.settlement_date + 20)
            / argMinIf(d.rth_close, d.session, d.session <= s.settlement_date + 20) - 1) * 100 AS prior_pct,
           (argMaxIf(d.rth_close, d.session, d.session >= s.settlement_date + 20)
            / argMinIf(d.rth_close, d.session, d.session >= s.settlement_date + 20) - 1) * 100 AS next_pct
    FROM screened s
    INNER JOIN daily d ON d.ticker = s.ticker
    WHERE d.session > s.settlement_date + 11
      AND d.session <= s.settlement_date + 50
    GROUP BY sd, tkr
    HAVING countIf(d.session <= s.settlement_date + 20) >= 4
       AND countIf(d.session >= s.settlement_date + 20) >= 15
),
outcomes AS (
    SELECT multiIf(next_pct < -20, 1,
                   next_pct < -10, 2,
                   next_pct < 0, 3,
                   next_pct < 10, 4,
                   next_pct < 20, 5, 6) AS bucket,
           multiIf(next_pct < -20, 'Fell more than 20%',
                   next_pct < -10, 'Fell 10% to 20%',
                   next_pct < 0, 'Fell 0% to 10%',
                   next_pct < 10, 'Rose 0% to 10%',
                   next_pct < 20, 'Rose 10% to 20%', 'Rose more than 20%') AS move_over_30_days
    FROM paired
    WHERE prior_pct > 0
      AND (sd, tkr) NOT IN (SELECT sd, tkr FROM split_hits)
),
tallied AS (
    SELECT bucket, move_over_30_days, count() AS name_count
    FROM outcomes
    GROUP BY bucket, move_over_30_days
)
SELECT move_over_30_days,
       name_count,
       round(100.0 * sum(name_count) OVER (ORDER BY bucket) / sum(name_count) OVER (), 1) AS cumulative_share_pct
FROM tallied
ORDER BY bucket

51.7% dieser Name-und-Settlement-Beobachtungen handelten 30 Tage später niedriger. Das entspricht fast einem Münzwurf. Dies ist die ehrliche Kernbotschaft dieser Seite: Leerverkäufer liegen häufig richtig. Die Kombination aus „crowded“ und „rising“ beschreibt eher ein Setup als einen statistischen Vorteil. Ein Squeeze würde sich in den Ausläufern der Verteilung zeigen, doch beide sind dünn besetzt. 87.8% der Stichproben erreichten dieses Niveau nie. 73 stiegen um mehr als ein Fünftel, was der Bereich für einen echten Squeeze wäre. 68 Beobachtungen fielen um mehr als ein Fünftel.

Betrachten Sie diese Darstellung als Verteilung und nicht als Handelsresultat. Kosten, Leihgebühren und die Positionsgröße werden nicht berücksichtigt. Zudem wird jeder markierte Name identisch gewichtet. Beide Zeiträume sind auf zwanzig Kalendertage nach jedem Settlement-Datum fixiert, derselbe Versatz, den auch diese Seite verwendet. Daher basieren alle markierten Namen auf Preisen, die ein Leser hätte sehen können. Ein Jahr an Settlements stellt eine kurze Stichprobe dar.

So wird dies gemessen

Jede Regel und jeder Ausschluss hinter den obigen Zahlen.

  • Das Short-Interest-File wird von der Börse gemeldet und erscheint zweimal monatlich. Der hier verwendete Wert wurde vor Jun 30, 2026, 23 Tagen abgerechnet. In den USA gibt es keine täglich offengelegte Short-Interest-Zahl, sondern nur Schätzungen von Anbietern, die auf Wertpapier-Verleihdaten basieren.
  • Liquiditätsuntergrenze: fünf Millionen Aktien des durchschnittlichen täglichen Handelsvolumens, wie im selben File gemeldet. Ohne diese Grenze wäre die Liste voll mit Microcaps, deren enormer Days-to-Cover-Wert lediglich ein Artefakt eines nahezu bei null liegenden Volumens ist.
  • Crowding-Schwellenwert: fünf oder mehr Tage bis zur Abwicklung (days to cover), deutlich über dem oben gezeigten liquiden Median.
  • Momentum-Komponente: die Veränderung zwischen den Schlusskursen der letzten sechs vollständigen regulären Handelssitzungen, was einer Rendite über fünf Sitzungen entspricht. Eine Sitzung wird erst in das Zeitfenster aufgenommen, wenn der Benchmark-Tape einen vollständigen Tag mit Minutendaten für sie enthält. Eine Sitzung, die noch in den Feed geladen wird, wird zurückgehalten, anstatt sie halb fertig gemessen zu präsentieren. Daher kann das Zeitfenster eine Sitzung hinter dem Kalender liegen, selbst wenn diese Sitzung bereits geschlossen ist. Die Preise sind Schlusskurse der regulären Sitzungen.
  • Beide Daten sind begrenzt. Das Panel oben speichert das Alter jeder Eingabe in Tagen, und diese Alterswerte unterliegen Plausibilitätsgrenzen. Ein Abrechnungswert, der älter als ein Monat ist, oder ein Preistape, das weiter hinterherhinkt als die übliche Ingest-Verzögerung, führt dazu, dass diese Seite zur Überprüfung zurückgehalten wird, anstatt ein veraltetes Datum unter einer aktuellen Schlagzeile zu veröffentlichen.
  • Ausschlüsse. Hebelprodukte und inverse ETFs werden aus jedem Panel entfernt (ihr Short-Interest ist größtenteils ein Hedging-Artefakt), zusammen mit einem zweideutigen Symbol, das von Anbieter-Feeds für zwei verschiedene Unternehmen wiederverwendet wurde. Panels, die eine Preisbewegung messen, schließen auch einen Namen aus, dessen Aktiensplit innerhalb des Messfensters des jeweiligen Panels liegt, da ein Split eine große Bewegung vortäuscht. Im Backtest läuft dieser Test pro Abrechnung, sodass ein Split in einem Monat die Beobachtungen eines Namens in anderen Monaten niemals entfernt.
  • Fonds stehen zusammen mit operativen Unternehmen in diesem File. Ein Anleihen- oder Index-ETF kann eine große Short-Position aufweisen, die aus den Mechanismen von Creation und Redemption resultiert und nicht daraus, dass jemand gegen ihn wettet.
  • Kein Float und keine Anzahl der ausstehenden Aktien in diesem File, und kein Open Interest bei Optionen im gesamten Warehouse. Die Spalte der ausstehenden Aktien oben stammt aus einer separaten Fundamentaldaten-Tabelle; daher fällt ein Name aus dem Panel, wenn er keinen veröffentlichten Marktwert hat.
  • Nichts hier ist eine Vorhersage oder eine Empfehlung. Es beschreibt messbare Bedingungen, zusammen mit dem angehängten Ergebnis-Panel.

FAQ

Wie findet man Kandidaten für einen Short Squeeze?

Suchen Sie in den von der Börse gemeldeten Short-Interest-Listen nach Positionen, die im Verhältnis zum täglichen Handelsvolumen groß sind. Berücksichtigen Sie nur liquide Titel, die handelbar sind, und prüfen Sie, ob der Kurs bereits steigt. Dieser Filter des Jun 30, 2026 Short-Interest-Files nutzt Kriterien wie fünf oder mehr Tagen zur Deckung, ein durchschnittliches tägliches Handelsvolumen von fünf Millionen Aktien und eine positive Kursentwicklung über fünf Sitzungen, was zu 36 Titeln führte.

Welcher Short-Interest-Prozentsatz löst einen Squeeze aus?

Es gibt keine magische Zahl; jede Angabe hierzu ist bloße Schätzung. Squeezes können bei unterschiedlichen Werten beginnen, aber meistens passiert gar nichts: Basierend auf den Abrechnungsdaten des letzten Jahres lagen 51.7% der durch diesen Filter identifizierten Titel 30 Tage später im Minus. Ein hoher short interest ist eine Voraussetzung, aber niemals der Auslöser.

Wie aktuell sind die Short-Interest-Daten?

Die neueste hier vorliegende Abrechnung stammt vom Jun 30, 2026, also vor 23 Tagen. Die Kursdaten reichen bis zum Jul 21, 2026. Diese Differenz ist auf den Meldezyklus zurückzuführen und kein veralteter Feed: Positionen werden zweimal im Monat gezählt und etwa acht Geschäftstage nach jedem Abrechnungsdatum veröffentlicht. Daher sind alle Short-Interest-Werte bei Erhalt bereits Wochen alt.

Welche Aktien sind derzeit am stärksten leerverkauft?

Die ungefilterten Ranglisten, eine nach Tagen zur Deckung und eine nach der Anzahl der leerverkauften Aktien, finden Sie auf der Seite für die am stärksten leerverkauften Aktien. Diese Seite beantwortet eine spezifischere Frage: Unter den Titeln im Jun 30, 2026-File, deren Kurs ebenfalls steigt, ist der am stärksten umkämpfte Titel MPT mit 16.9 Tagen zur Deckung. Dies ist ein Spitzenreiter innerhalb dieses Filters und nicht die am stärksten leerverkaufte Aktie des gesamten Marktes.


Jedes Panel ist eine gespeicherte, versionierte Abfrage über die von der Börse gemeldeten Daten. Sie können das SQL unter jeder Tabelle erweitern oder den Filter mit Ihren eigenen Schwellenwerten auf dem Strasmore-Terminal ausführen.