Strasmore Research
Recap di mercato Matt ConnorDi Matt Connor · Aggiornato 2026-09-05 · data as of September 5, 2026 · refreshed weekly

Candidati a short squeeze di questa settimana

Azioni selezionate per days to cover, shares short e prezzo in rialzo, con soglie espresse in parole inglesi e probabilità misurate accanto a ciascuna.

Le azioni soggette a short squeeze vengono selezionate sulla base di due fattori: una posizione short elevata rispetto ai volumi scambiati dal titolo e un prezzo già in rialzo. Questa pagina applica il filtro all’ultimo file sugli short interest comunicato dalle borse, con data di regolamento Aug 14, 2026, e misura la variazione del prezzo nelle cinque sedute fino a Sep 3, 2026. Si tratta di condizioni simili a quelle osservate in precedenti short squeeze. Non è una previsione, e la maggior parte dei titoli con un’elevata posizione short non è mai soggetta a uno squeeze.

Leggete le date prima dei nomi. Per disposizione normativa, la componente relativa agli short interest ha alcune settimane di ritardo; non è un problema del feed. I broker comunicano le proprie posizioni short a FINRA due volte al mese, alle date di regolamento prestabilite, e il file aggregato diventa pubblico circa otto giorni lavorativi dopo. Il dato più recente disponibile per chiunque è datato Aug 14, 2026, cioè 22 giorni fa, mentre la componente di prezzo arriva fino a Sep 3, 2026. Qualunque operazione sia stata effettuata sul lato short durante questo intervallo è invisibile a tutti gli screener, incluso questo. Perché i dati sugli short interest hanno sempre due settimane di ritardo illustra passo dopo passo il ciclo di comunicazione.

QueryData di input dietro questa schermata e relativa anzianità in giorni
data di riferimentogambagiorni di anzianità
Jul 31, 2026Short interest, previous settlement36
Aug 14, 2026Short interest, latest settlement22
Sep 3, 2026Price tape, last fully loaded session2
L'esatto SQL dietro ogni numero
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
Provalo tu stesso

I due dati di regolamento risalgono rispettivamente a 36 e 22 giorni fa: questo intervallo riflette il ciclo di rilevazione bisettimanale più il ritardo di compilazione. Il nastro dei prezzi ha 2 giorni di ritardo, dovuti all’acquisizione dei dati, non alla normativa. Entrambe le anzianità sono soggette a limiti; se un feed si interrompe, la pagina resta ferma invece di ripubblicare una data vecchia sotto un titolo aggiornato.

Elenco delle azioni a rischio di short squeeze: lo screening attuale

Ogni nome riportato di seguito ha superato gli stessi filtri sullo stesso file: cinque milioni di azioni di volume medio giornaliero, almeno cinque giorni necessari per ricoprire le posizioni short e una variazione positiva nelle cinque sedute concluse il Sep 3, 2026. 36 nomi hanno superato tutti i filtri; qui sono mostrati i 12 con il maggiore affollamento di posizioni short. Giorni necessari per ricoprire le posizioni short indica il rapporto tra le azioni vendute allo scoperto e il volume medio giornaliero: il numero di giornate complete necessarie ai venditori allo scoperto per riacquistare l’intera posizione.

QueryMeccaniche da squeeze: short affollati tra i titoli liquidi, con prezzo in rialzo
tickergiorni per coprireazioni short (M)rendimento a 5 giorni (%)
ENB9.869.81.2
MRNA9.252.84.3
CNQ8.457.62.7
FOXA8.145.30.8
AUR7.6174.911.1
GOSS7.486.82.9
SAN7.3107.73.4
STLA7.1130.73.8
AVTR6.952.24
SBET6.9391.1
INFY6.8130.31.7
ACI6.751.73
L'esatto SQL dietro ogni numero
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
Provalo tu stesso

Il nome con il maggiore affollamento in questa lista, ENB, registra 9.8 giorni necessari per ricoprire le posizioni short su 69.8 milioni di azioni vendute allo scoperto, ed è salito di 1.2% nelle cinque sedute concluse il Sep 3, 2026. L’ultima riga visualizzata indica 6.7 giorni necessari per ricoprire le posizioni short. È il punto in cui termina la visualizzazione, non il livello minimo dello screening. La graduatoria riflette l’affollamento delle posizioni, non la loro dimensione. Per questo una posizione moderata su un titolo thinly traded precede una posizione molto più grande su un titolo con scambi intensi. Per la graduatoria basata sulla dimensione, le azioni più vendute allo scoperto in questo momento affianca le due classifiche.

Il filtro basato sul rialzo dei prezzi ha una ragione meccanica. Uno squeeze consiste in acquisti forzati da parte dei venditori allo scoperto che chiudono le posizioni. Chiude una posizione short riacquistando l’azione. Questo processo inizia solo quando il prezzo si è mosso contro la posizione. Come funziona uno short squeeze, ricostruito attraverso i dati di GameStop del 2021, mostra la sequenza in cifre.

Le regole e ciò che ciascuna esclude

Uno screening è un’opinione accompagnata da numeri. È qui che il campo si restringe.

QueryDall’intero file di settlement all’elenco filtrato, una regola alla volta
etichettatitoli
Every name in the settlement file22480
Liquid: five million shares a day, no leveraged funds697
Crowded: five or more days to cover87
Rising: a positive move over the price window36
L'esatto SQL dietro ogni numero
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
)
Provalo tu stesso

Il file Aug 14, 2026 contiene 22480 titoli. La soglia minima di liquidità e la lista di esclusione ne lasciano 697; la soglia di affollamento riduce il numero a 87, mentre il filtro sui prezzi in rialzo lascia 36 titoli. Ogni soglia è una scelta e una scelta diversa produce una lista diversa. Per questo le regole sono riportate nella pagina, non in una nota a piè di pagina.

Quanta di ciascuna società è venduta allo scoperto

Il dato che la maggior parte delle persone cerca è l’interesse short espresso come percentuale del float, ma non è presente in questi dati. Il file dell’exchange riporta le azioni vendute allo scoperto e il volume medio giornaliero, senza alcun dato sul numero di azioni. Si può però calcolare la posizione rispetto al totale delle azioni in circolazione, dividendo il valore di mercato di ciascuna società per il suo prezzo per azione.

QueryTitoli filtrati ordinati per short interest rispetto alle shares outstanding (non al flottante)
tickershort interest (% delle azioni in circolazione)azioni short (M)azioni in circolazione (M)giorni per coprire
RIG24.1268.911176.1
SOC24.146.21925.7
CORZ19.763.43215.1
SBET18392176.9
GOSS17.886.84897.4
CLF14.281.15715.8
PTON13.9614395.5
MRNA13.252.83999.2
GME12544495.3
FOXA10.845.34208.1
L'esatto SQL dietro ogni numero
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
Provalo tu stesso

RIG è in testa tra le società che superano 24.1% delle azioni in circolazione vendute allo scoperto: 268.9 milioni di azioni su 1117 milioni di azioni esistenti. Le 10 righe mostrate rappresentano i valori più elevati tra i titoli selezionati che riportano un numero di azioni pubblicato, e anche l’ultima di queste indica ancora 10.8%. Considera questa colonna come un livello minimo, non come il numero di azioni nel float. Float conta solo le azioni effettivamente negoziabili, escludendo le partecipazioni degli insider e altre quote vincolate. Il float è il denominatore più piccolo, quindi la percentuale effettiva di float venduto allo scoperto è superiore a ogni valore mostrato. Quanto sia superiore dipende dalla struttura proprietaria di ciascuna società, che questo warehouse non riporta.

Il crowding sulle posizioni short sta aumentando o diminuendo?

Un singolo print è un’istantanea. Lo stesso file risale a diversi anni fa, quindi la risposta alla domanda sul mercato nel suo complesso è nei dati.

QueryTitoli liquidi con 5+ e 10+ giorni per la copertura, settlement dopo settlement
data di regolamentotitoli con DTC ≥ 5titoli con DTC ≥ 10DTC mediano dei titoli liquidi
2026-02-275451.83
2026-03-135871.54
2026-03-317391.62
2026-04-156961.75
2026-04-3082111.85
2026-05-158382.02
2026-05-298441.88
2026-06-1597121.8
2026-06-309651.87
2026-07-1510362.27
2026-07-319232.15
2026-08-148882.16
L'esatto SQL dietro ogni numero
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
Provalo tu stesso

Nei 12 settlement mostrati, il numero di titoli liquidi con almeno cinque giorni necessari per ricoprire le posizioni short è passato da 54 a 88. La coda più estrema della distribuzione resta molto più sottile: nell’ultimo print, 8 titoli presentavano almeno dieci giorni necessari per ricoprire le posizioni short. Il titolo liquido mediano si attesta a 2.16 giorni, ed è questo a rendere significativo, anziché arbitrario, il livello di cinque giorni. La pagina I titoli con il maggior numero di giorni necessari per ricoprire le posizioni short segue separatamente questa coda estrema.

Cosa è successo di solito dopo

Schermate di questo tipo sono facili da costruire e facili da interpretare eccessivamente. Ecco quindi la stessa schermata eseguita a ritroso, allo stesso offset rispetto al file. Per ogni print di settlement dell’ultimo anno, prendiamo i titoli che hanno superato la soglia di crowding in corrispondenza di quel print e che erano in rialzo nelle sei sessioni concluse venti giorni di calendario dopo, cioè nel punto in cui si trova oggi questa pagina. Poi misuriamo la performance di ciascun titolo nei successivi 30 giorni di calendario.

QueryOgni titolo filtrato in passato, in base a cosa ha fatto nei 30 giorni successivi
variazione su 30 giorninumero di titolipercentuale cumulativa delle azioni
Fell more than 20%7211.5
Fell 10% to 20%9727
Fell 0% to 10%15852.2
Rose 0% to 10%16578.5
Rose 10% to 20%6188.2
Rose more than 20%74100
L'esatto SQL dietro ogni numero
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
Provalo tu stesso

52.2% di queste osservazioni titolo-settlement è scambiato a un prezzo più basso 30 giorni dopo. È vicino a un testa o croce, e questa è la conclusione corretta di questa pagina: gli short seller hanno spesso ragione, mentre la combinazione di crowding e rialzo descrive un’impostazione, non un vantaggio statistico. Le code sono il punto in cui emergerebbe uno squeeze, e sono entrambe sottili. 72 delle osservazioni è scesa di oltre un quinto; 74 ha guadagnato più di un quinto, la fascia in cui finirebbe uno squeeze autentico. 88.2% del campione non ci è mai arrivato.

Considerate quel pannello come una distribuzione, non come il risultato di una strategia di trading. Non tiene conto dei costi, delle borrow fee e del position sizing, e assegna lo stesso peso a ogni titolo segnalato. Entrambe le gambe sono ancorate a venti giorni di calendario dopo ciascuna settlement date, lo stesso offset utilizzato da questa pagina; quindi ogni titolo segnalato si basa su prezzi che un lettore avrebbe potuto osservare. Un anno di settlement è un campione ridotto.

Come viene misurato

Ogni regola ed esclusione alla base dei numeri riportati sopra.

  • Il file sullo short interest è comunicato dalle borse e aggiornato due volte al mese. Il print utilizzato qui si è regolato Aug 14, 2026, 22 giorni fa. Negli Stati Uniti non esiste un dato giornaliero ufficiale sullo short interest; sono disponibili solo stime dei vendor, elaborate a partire dai dati sul securities lending.
  • Soglia minima di liquidità: cinque milioni di azioni di volume medio giornaliero, come riportato nello stesso file. Senza questa soglia, l’elenco si riempirebbe di microcap con un numero enorme di days to cover, dovuto al volume quasi nullo.
  • Soglia di affollamento: almeno cinque days to cover, un valore ben superiore alla mediana dei titoli liquidi riportata sopra.
  • Componente momentum: la variazione tra i prezzi di chiusura delle ultime sei sedute regolari completamente acquisite, che equivale a un rendimento su cinque sedute. Una seduta entra nella finestra solo quando il benchmark tape contiene una giornata completa di barre a un minuto. Una seduta ancora in arrivo nel feed viene tenuta fuori, invece di essere misurata parzialmente. Per questo la finestra può terminare una seduta dopo rispetto al calendario, anche quando quella seduta si è già chiusa. I prezzi sono le chiusure della sessione regolare.
  • Entrambe le date sono soggette a controlli temporali. Il pannello in alto memorizza l’anzianità di ciascun input in giorni, e tali valori sono sottoposti a limiti di coerenza. Un print di settlement più vecchio di un mese, o un price tape più arretrato rispetto al normale ritardo di ingestione, blocca questa pagina per una verifica invece di pubblicare una data obsoleta sotto un titolo aggiornato.
  • Esclusioni. Gli ETF leveraged e inverse sono esclusi da ogni pannello, perché il loro short interest è in larga misura un effetto delle operazioni di hedge. È escluso anche un simbolo ambiguo che i feed dei vendor hanno riutilizzato per due società diverse. I pannelli che misurano una variazione di prezzo escludono inoltre un titolo il cui stock split ricade nella finestra di misurazione del pannello, perché uno split può simulare una variazione molto ampia. Nel backtest, questo controllo viene eseguito per ogni settlement. Di conseguenza, uno split in un mese non elimina le osservazioni del titolo dagli altri mesi.
  • In questo file i fondi compaiono insieme alle società operative. Un ETF obbligazionario o azionario su un indice può presentare una posizione short elevata dovuta ai meccanismi di creazione e rimborso delle quote, anziché a una scommessa al ribasso.
  • In questo file non sono presenti né il flottante né il numero di azioni, e nel warehouse non è disponibile alcun dato sull’open interest delle opzioni. La colonna shares outstanding riportata sopra proviene da una tabella fundamentals separata. Per questo un titolo privo di un market value pubblicato viene escluso da quel pannello.
  • Nulla di quanto riportato qui costituisce una previsione o una raccomandazione. Il contenuto descrive condizioni misurabili e include il relativo pannello dei risultati.

FAQ

Come si individuano i candidati a uno short squeeze?

Si esamina il file di short interest comunicato dalla borsa per individuare una posizione ampia rispetto ai volumi giornalieri del titolo. Si mantengono solo i nomi abbastanza liquidi da poter essere negoziati, quindi si verifica se il prezzo è già in rialzo. Questo screening del file di short interest Aug 14, 2026 utilizza almeno five days to cover, un volume medio giornaliero di five million shares e un rialzo nelle ultime five sessioni. Il risultato è stato di 36 nomi.

Quale percentuale di short interest provoca uno squeeze?

Non esiste un numero magico, e chi ne cita uno sta tirando a indovinare. Gli squeeze sono iniziati con valori distribuiti lungo tutto l’intervallo osservato, ma molto più spesso non accade nulla: considerando i prints di regolamento passati nell’arco di un anno, 52.2% dei nomi che questo screening avrebbe segnalato quotava più in basso 30 giorni dopo. Un elevato short interest è una precondizione, mai un trigger.

Quanto sono recenti i dati sullo short interest?

L’ultimo regolamento disponibile è datato Aug 14, 2026, risale a 22 giorni fa e i dati sui prezzi arrivano fino a Sep 3, 2026. Questo intervallo riflette il ciclo di comunicazione, non un feed obsoleto: le posizioni vengono conteggiate due volte al mese e pubblicate circa eight business days dopo ogni data di regolamento. Di conseguenza, ogni dato di short interest arriva sempre con diverse settimane di ritardo.

Quali sono le azioni più shortate in questo momento?

Le classifiche non filtrate, una per days to cover e una per numero assoluto di azioni short, si trovano nella pagina delle azioni più shortate. Questa pagina risponde a una domanda più circoscritta: tra i nomi presenti nel file Aug 14, 2026 il cui prezzo è anch’esso in rialzo, il titolo con la maggiore concentrazione di posizioni short è ENB, con 9.8 days to cover. Si tratta del primo nome dello screening, non del titolo più shortato del mercato.


Ogni pannello è una query archiviata e versionata sul file comunicato dalla borsa. Espandi l’SQL sotto una tabella oppure esegui lo screening con le tue soglie sul terminale Strasmore.

#short interest#short squeeze#days to cover#short selling#screens