Strasmore Research
סיכומי שוק Matt Connorמאת Matt Connor · עודכן 2026-07-24 · data as of July 24, 2026 · refreshed weekly

מניות פוטנציאליות ל-short squeeze השבוע

סקירת מניות המציגות יחס short interest גבוה יחד עם מגמת עלייה במחיר. בדקו את הנתונים המדויקים כדי לזהות מניות עם סיכוי גבוה ל-squeeze השבוע.

מניות ב-short squeeze נסקרות על פי שני מנגנונים: פוזיציית short גדולה ביחס לנפח המסחר במניה, ומחיר שכבר נמצא במגמת עלייה. דף זה מריץ סריקה זו על בסיס קובץ ה-short-interest העדכני שדווח מהבורסה, אשר נסגר ב-Jun 30, 2026, ומודד את תנועת המחיר לאורך חמשת ימי המסחר שהסתיימו ב-Jul 22, 2026. מנגנונים אלו דומים למצבי squeeze בעבר. אין במידע זה תחזית, ורוב המניות עם ה-short interest הגבוה ביותר מעולם לא עוברות squeeze.

יש לקרוא את התאריכים לפני השמות. נתוני ה-short-interest בחלק זה של הדף הם בני שבועות על פי הרגולציה, ולא בשל תקלה בזרם הנתונים: ברוקרים מדווחים על פוזיציות ה-short שלהם ל-FINRA פעמיים בחודש בתאריכי סילוק (settlement) קבועים, והקובץ המצטבר מפורסם כחצי עשרת ימי עסקים לאחר מכן. הנתון העדכני ביותר הזמין לכל אחד הוא מתאריך Jun 30, 2026, כלומר 24 ימים אחורה, בעוד שתנועת המחיר נמשכת עד Jul 22, 2026. כל פעילות של צד ה-short בתוך המרווח הזה אינה נראית לאף סורק, כולל סורק זה. מדוע נתוני short interest הם תמיד בני שבועיים מפרט את מחזור הדיווח צעד אחר צעד.

שאילתהכל הנתונים במסך זה, ומספר ימי העיכוב שלהם
ה-SQL המדויק מאחורי כל מספר
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

שתי הדוחות של ה-settlement נמצאים 39 ו-24 ימים אחורה, מה שמשקף את מחזור הספירה הדו-חודשי בתוספת השהיית ההצמדה. נתוני המחיר נמצאים 2 ימים אחורה, וזה נובע מעיכוב של קליטת הנתונים במחסן ולא מהרגולציה. לכל אחד מהטווחים יש גבולות, ולכן זרם נתונים שמתעכב יוביל להשארת הדף כפי שהוא במקום פרסום תאריך ישן תחת כותרת חדשה.

רשימת מניות Short squeeze: הסינון הנוכחי

כל שם ברשימה עמד באותם קריטריונים: נפח מסחר יומי ממוצע של חמישה מיליון מניות, חמישה ימים או יותר לכיסוי (days to cover), ותנועה חיובית לאורך חמשת ימי המסחר שהסתיימו ב-Jul 22, 2026. שמות 31 עמדו בכל התנאים, וה12 הצפופים מביניהם מוצגים כאן. Days to cover הוא מספר המניות שנמכרו בחסר (short) חלקי נפח המסחר היומי הממוצע: מספר ימי המסחר המלאים שיידרשו לצד השורט כדי לקנות חזרה את הפוזיציה שלו.

שאילתהמנגנוני Squeeze: ריכוז Short בנכסים נזילים עם מחיר עולה
ה-SQL המדויק מאחורי כל מספר
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

השם הצפוף ביותר ברשימה, MPT, מציג 16.9 ימי כיסוי מתוך 138.1 מיליון מניות שנמכרו בחסר, והוא עלה ב-2.8% לאורך חמשת ימי המסחר שהסתיימו ב-Jul 22, 2026. השורה האחרונה המוצגת מציגה 6.4 ימי כיסוי, שזהו המקום שבו התצוגה נחתכת ולא המקום שבו נמצאת תחתית הרשימה. הדירוג מתבצע לפי רמת הצפיפות ולא לפי גודל הפוזיציה, כך שפוזיציה מתונה במניה עם נפח מסחר נמוך מדורגת גבוה יותר מפוזיציה גדולה בהרבה במניה עם נפח מסחר גבוה. עבור דירוג לפי גודל, the most shorted stocks right now מציג את שני לוחות ההתקדמות זה לצד זה.

למדרי החסם של עליית המחיר יש סיבה מכנית. squeeze הוא רכישה כפויה הנובעת מסגירת פוזיציות של מוכרים בחסר, וסגירת פוזיציית short פירושה קנייה חוזרת של המניה, תהליך שמתחיל רק לאחר שהמחיר נע נגד הפוזיציה. How a short squeeze works, כפי שניתן לעקוב דרך הנתונים של GameStop משנת 2021, מציג את הרצף במספרים.

הכללים, ומה כל אחד מהם מסיר

מסך הוא דעה המלווה במספרים, ולכן כאן מופיע התחום.

שאילתהמהקובץ המלא ועד לרשימה הסודית, שלב אחר שלב
ה-SQL המדויק מאחורי כל מספר
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
)

קובץ ה-Jun 30, 2026 מכיל 22207 ניירות ערך. רצפת הנזילות ורשימת ההחרגה משאירות 883, סף הריכוזיות (crowding threshold) מקטין זאת ל-96, ושער העלייה במחיר משאיר את 31. כל סף הוא בחירה, ובחירה שונה מייצרת רשימה שונה. זו הסיבה שהכללים מופיעים בגוף הטקסט ולא בהערת שוליים.

כמה מכל חברה נמכר במכירה חשופה (Short)

הנתון שרוב האנשים מחפשים הוא ה-short interest כאחוז מה-float, והוא אינו מופיע בנתונים אלו. קובץ הבורסה מדווח על מספר המניות שנמכרו במכירה חשופה ועל נפח המסחר היומי הממוצע, ללא כל סוג של ספירת מניות. ניתן להפיק את המיקום המחושב מול סך המניות המונפקות (shares outstanding), על ידי חלוקת שווי השוק של כל חברה במחיר המניה שלה.

שאילתהדירוג המניות לפי Short interest מול Shares outstanding (לא float)
ה-SQL המדויק מאחורי כל מספר
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 מובילה את הרשימה עם 26.3% מהמניות המונפקות שנמכרו במכירה חשופה: 29.9 מיליון מניות מול 113 מיליון מניות קיימות. שורות ה-10 המוצגות הן הערכים הגבוהים ביותר מבין השמות שנבדקו וכוללים ספירת מניות שפורסמה, והאחרונה שבהם עומדת על 15.5%. יש לקרוא עמודה זו כרף תחתון (floor) ולא כמספר ה-float. Float כולל רק את המניות שבאמת מחליפות ידיים, תוך הוצאת אחזקות של בעלי שליטה והחזקות חסומות אחרות. ה-float הוא המכנה הקטן יותר, ולכן האחוז האמיתי של ה-float שנמכר במכירה חשופה גבוה מכל נתון המוצג. עד כמה הוא גבוה תלוי במבנה הבעלות של כל חברה, נתון שמאגר זה אינו מחזיק בו.

האם הריכוז בפוזיציות שורט (short crowding) נבנה או נחלש?

נתון אחד הוא תמונת מצב סטטית. אותו קובץ נמשך שנים, ולכן לשאלה המקצועית לגבי השוק יש תשובה מבוססת נתונים.

שאילתהנכסים נזילים עם 5+ ו-10+ ימי Days to cover, לפי Settlement
ה-SQL המדויק מאחורי כל מספר
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

לאורך כל ה-settlements של ה-12 המוצגים, מספר המניות הנזילות עם חמישה ימים או יותר לכיסוי (days to cover) עלה מ-58 ל-96. הקצה הנדיר של ההתפלגות נותר דליל בהרבה: 5 מניות עמדו על עשרה ימים או יותר לכיסוי בנתון האחרון. החציון של המניות הנזילות עומד על 1.87 ימים, מה שהופך את רף חמשת הימים למשמעותי ולא לשרירותי. דף המניות עם מספר הימים הגבוה ביותר לכיסוי עוקב אחר אותו קצה קיצוני בנפרד.

מה קרה בדרך כלל לאחר מכן

מסכים כאלו קלים לבנייה וקלים גם לפרשנות שגויה, לכן להלן אותו מסך המופעל לאחור, עם אותו הסטה (offset) מהקובץ. עבור כל print של settlement בשנה האחרונה, נלקחים השמות שעברו את מבדק הצפיפות (crowding gate) באותו print והיו במגמת עלייה במהלך שש המפגשים (sessions) שהסתיימו עשרים ימים קלנדריים מאוחר יותר — המועד שבו נמצאת עמוד זו כיום — ולאחר מכן נמדד הביצוע של כל אחד מהם במהלך 30 הימים הקלנדריים הבאים.

שאילתהביצועי כל המניות שנבדקו בעבר ב-30 הימים הבאים
ה-SQL המדויק מאחורי כל מספר
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% מתצפיות השם וה-settlement הללו נסחרו בירידה 30 יום לאחר מכן. זה קרוב להטלת מטבע, וזהו הכותרת הכנה של עמוד זו: מוכרים בשורט (short sellers) צודקים לעיתים קרובות, והשילוב של צפיפות ועליה מתאר מצב שוק (setup) ולא יתרון סטטיסטי (edge). הקיצוניים (tails) הם המקום שבו squeeze היה מופיע, ושניהם דלילים. 68 מהתצפיות ירדו ביותר מחמישית; 73 עלו ביותר מחמישית, הקטגוריה שבה squeeze אמיתי היה אמור להופיע. 87.8% מהמדגם מעולם לא הגיע לשם.

יש להתייחס לפאנל זה כלהתפלגות, ולא כתוצאה מסחר. הוא מתעלם מעלויות, דמי השאלה וגודל פוזיציה, ומעניק משקל זהה לכל שם שסומן. שני הצדדים מעוגנים עשרים ימים קלנדריים לאחר כל תאריך settlement, אותה הסטה שבה משתמשת עמוד זו, כך שכל שם שסומן נשען על מחירים שקורא יכול היה לראות. שנה של settlements היא מדגם קצר.

כיצד זה נמדד

כל הכללים וההחרגות העומדים מאחורי המספרים לעיל.

  • דו"ח ה-short-interest מדווח על ידי הבורסה ומתעדכן פעמיים בחודש. הנתון המופיע כאן התיישב לפני Jun 30, 2026, 24 ימים. בארה"ב אין נתון יומי ח公开 של short interest, אלא רק הערכות ספקים המבוססות על נתוני השאלת ניירות ערך.
  • רצפת נזילות: חמישה מיליון מניות בנפח המסחר היומי הממוצע, כפי שדווח באותו דו"ח. ללא רף זה, הרשימה תתמלא בחברות micro-cap שבהן מדד ה-days-to-cover הגבוה הוא תוצאה של נפח מסחר אפסי בלבד.
  • סף הצפיפות (Crowding threshold): חמישה ימים או יותר לכיסוי (days to cover), הרבה מעל החציון הנזיל המוצג לעיל.
  • מרכיב המומנטום (Momentum leg): השינוי בין מחירי הסגירה של שש יחידות זמן רגילות מלאות, המהווה תשואה של חמש יחידות זמן. יחידת זמן נכנסת למדד רק לאחר שהנתונים מכילים יום מסחר מלא של נרות דקה. יחידת זמן שנמצאת עדיין בתהליך קליטה נשמרת ולא נמדדת כנתון חלקי, כך שחלון המדידה עשוי להסתיים יום אחד מאחורי לוח השנה גם לאחר סגירת יום המסחר. המחירים הם מחירי סגירה של יחידות זמן רגילות.
  • שתי התאריכים מוגבלים. הפאנל העליון שומר את גיל כל נתון בימים, וגילאים אלו כפופים למגבלות תקינות. נתון התיישבות (settlement) ישן מחודש, או נתוני מחיר המאוחריים מעבר לעיכוב הקליטה הרגיל, גורמים לכך שהדף יישאר בבדיקה במקום לפרסם תאריך לא רלוונטי תחת כותרת חדשה.
  • החרגות. קרנות ETF ממונפות והפוכות מוחרגות מכל פאנל (ה-short interest שלהן הוא ברובנו תוצאה של פעולות גידור), יחד עם סימול אחד לא ברור שספקי נתונים השתמשו בו עבור שתי חברות שונות. פאנלים המודדים תנועת מחיר מוחרגים גם שם שפיצול המניות שלו חל בתוך חלון המדידה של אותו פאנל, שכן פיצול יוצר תנועה מלאכותית גדולה. בבדיקת ה-backtest, הבדיקה רצה לפי תאריך התיישבות, ולכן פיצול בחודש מסוים לא יסיר את נתוני החברה מחודשים אחרים.
  • קרנות מופיעות בקובץ זה לצד חברות תפעוליות. קרן איגרת כספית או ETF מדד עשוי לשאת פוזיציית short גדולה הנובעת ממנגנון ה-creation-and-redemption ולא מהימור של גורם כלשהו נגדها.
  • אין נתוני float או מספר מניות בקובץ זה, ואין נתוני open interest של אופציות במערכת. עמודת המניות המונפקות (shares-outstanding) לעיל מגיעה מטבלת פונדמנטליים נפרדת, ולכן שם ללא שווי שוק שפורסם יוצא מהפאנל.
  • שום דבר כאן אינו תחזית או המלצה. המידע מתאר תנאים מדידים, יחד עם פאנל התוצאות המצורף.

שאלות נפוצות

כיצד מוצאים מועמדים ל-short squeeze?

יש לסנן את קובץ ה-short-interest המדווח על ידי הבורסה כדי למצוא פוזיציה גדולה ביחס לנפח המסחר היומי של המניה, לשמור רק על מניות בעלות נזילות מספקת למסחר, ולאחר מכן לבדוק אם המחיר כבר נמצא במגמת עלייה. סינון זה של קובץ ה-Jun 30, 2026 משתמש בפרמטרים של חמישה ימים או יותר לכיסוי (days to cover), חמישה מיליון מניות בנפח מסחר יומי ממוצע, ותנועה חיובית לאורך חמישה ימי מסחר, מה שהשאיר את שמות ה31.

איזה אחוז short interest גורם ל-squeeze?

אין מספר קסם, וכל מי שמציין אחד כזה פשוט מנחש. squeezes החלו מנתונים מכל קשת הערכים, ובמרבית המקרים שום דבר לא קורה: לאורך שנה של נתוני סליקה (settlement prints) מהעבר, 51.7% מהשמות שהסינון הזה היה מסמן היו בתחתית 30 יום לאחר מכן. short interest גבוה הוא תנאי מוקדם, אך מעולם אינו הטריגר.

עד כמה נתוני ה-short interest מעודכנים?

הסליקה החדשה ביותר בקובץ זה היא מתאריך Jun 30, 2026, לפני 24 ימים, ונתוני המחיר נמשכים עד Jul 22, 2026. הפער הזה נובע ממחזור הדיווח ולא מנתונים מיושנים: פוזיציות נספרות פעמיים בחודש ומתפרסמות בערך שמונה ימי עסקים לאחר כל תאריך סליקה, לכן כל נתון short-interest הוא בן שבועות במועד הגעתו.

אילו מניות הן בעלות ה-shorting הגבוה ביותר כעת?

לוחות ההובלה הלא-מסוננים, אחד לפי days to cover ואחד לפי מספר מניות short גולמי, נמצאים בדף המניות עם ה-shorting הגבוה ביותר. דף זה עונה על שאלה ממוקדת יותר: מבין השמות בקובץ הJun 30, 2026 שמחירם גם נמצא במגמת עלייה, המניה הצפופה ביותר היא MPT עם 16.9 ימים לכיסוי, מה שהופך אותה למובילה במסננת ולא למניה עם ה-shorting הגבוה ביותר בשוק.


כל לוח הוא שאילתת SQL שמורה ומנוטרלת מול הקובץ המדווח על ידי הבורסה. ניתן להרחיב את ה-SQL מתחת לכל טבלה, או להריץ את הסינון עם סף הפרמטרים האישי שלך בטרמינל של Strasmore.