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

המניות בעלות הביצועים הטובים והגרועים ביותר לשנת 2026

סקירה של המניות שרשמו את העליות והירידות החדות ביותר בשנת 2026 על בסיס נתוני נזילות אמיתיים. הדירוג אינו כולל פיצולי מניות וקרנות ממונפות לדיוק מרבי.

MRNA מובילה את רשימת המניות בעלות הביצועים הטובים ביותר לשנת 2026 עד כה, עם עלייה של 692.8% מיום המסחר הראשון של השנה ועד ליום המסחר האחרון שהושלם. דף זה מדרג את המניות שרשמו את העליות והירידות החדות ביותר בשנת 2026 מבין ניירות ערך הנסחרים בפועל, על בסיס נתוני המסחר מהבורסה ולא על סמך סיכומים של ספקי מידע, והוא מתעדכן באופן שוטף לאורך השנה. פיצולי מניות וקרנות ממונפות מנוטרלים מהחישוב לפני ביצוע הדירוג, שכן זהו המקום שבו רוב הרשימות המציגות תשואה מתחילת השנה (YTD) נוטות לטעות.

המניות בעלות הביצועים הטובים ביותר בשנת 2026

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

שאילתההעליות הגדולות ב-2026: עשר המניות המובילות מתחילת השנה בקרב מניות בעלות סחירות גבוהה
סימולתשואה מתחילת שנה (%)מחזור יומי ממוצע ($M)
MRNA692.83002
SNDK47111073
TWST355.2476
TXG343.5334
MXL338.4246
DELL2683100
AXTI236.9499
AEHR229.3203
PBF218.3195
KOD215.7389
ה-SQL המדויק מאחורי כל מספר
WITH complete AS (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND window_start >= toDateTime('2026-01-01 00:00:00')
      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 d
    HAVING count() >= 380
),
universe AS (
    SELECT ticker,
           sum(toFloat64(close) * toFloat64(volume)) / uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) AS adv
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE window_start >= now() - INTERVAL 21 DAY
      AND toDate(toTimeZone(window_start, 'America/New_York')) >= today() - 20
      AND toDate(toTimeZone(window_start, 'America/New_York')) IN (SELECT d FROM complete)
      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
    HAVING adv >= 100000000
),
edges AS (
    SELECT ticker,
        argMinIf(toFloat64(open), toTimeZone(window_start, 'America/New_York'), toDate(toTimeZone(window_start, 'America/New_York')) = (SELECT min(d) FROM complete)) AS year_open,
        argMaxIf(toFloat64(close), toTimeZone(window_start, 'America/New_York'), toDate(toTimeZone(window_start, 'America/New_York')) = (SELECT max(d) FROM complete)) AS latest_close,
        countIf(toDate(toTimeZone(window_start, 'America/New_York')) = (SELECT min(d) FROM complete)) AS bars_open,
        countIf(toDate(toTimeZone(window_start, 'America/New_York')) = (SELECT max(d) FROM complete)) AS bars_close
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ((window_start >= toDateTime('2026-01-01 00:00:00') AND window_start < toDateTime('2026-01-10 00:00:00'))
        OR (window_start >= now() - INTERVAL 8 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 NOT IN ('SPCX')
      AND ticker NOT IN ('KORU','SOXL','SOXS','SOXY','TQQQ','SQQQ','QQQU','SPXL','SPXS','UPRO','SPXU','SPYU','LABU','LABD','FAS','FAZ','TNA','TZA','YINN','YANG','UDOW','SDOW','BOIL','KOLD','UCO','SCO','USD','SSO','SDS','QLD','QID','ERX','ERY','DRN','DRV','CURE','MUU','SNXX','UVXY','SVXY','UVIX','SVIX','BULZ','WEBL','WEBS','DPST','DRIP','GUSH','AGQ','ZSL','GDXU','GDXD','FNGU','FNGD','DUST','JNUG','JDST','NUGT','BITX','BITU','SBIT','ETHU','ETHT','NVDL','NVDS','NVD','NVDX','NVDU','NVDD','NVDQ','TSLL','TSLQ','TSLZ','TSLR','TSLT','TSLS','TSDD','AAPU','AAPD','MSFU','MSFD','GGLL','GGLS','AMZU','AMZD','METU','METD','PLTU','PLTD','SMCX','SMCZ','CONL','CONI','MSTX','MSTU','MSTZ','BRKU','AMDL','AMUU','AMDD','ELIL','ELIS','HOOX','AVGX','AVGU','TSMX','TSMZ','MULL')
      AND ticker NOT IN (SELECT ticker FROM global_markets.stocks_splits
                         WHERE execution_date BETWEEN toDate('2026-01-01') AND today())
    GROUP BY ticker
    HAVING bars_open >= 100 AND bars_close >= 100
)
SELECT e.ticker AS ticker,
    round((e.latest_close / e.year_open - 1) * 100, 1) AS ytd_return_pct,
    round(u.adv / 1e6, 0) AS avg_daily_dollar_m
FROM edges AS e
INNER JOIN universe AS u ON e.ticker = u.ticker
WHERE e.year_open >= 10
ORDER BY (e.latest_close / e.year_open) DESC
LIMIT 10
הריצו בעצמכם

MRNA מובילה את השנה עם 692.8%, אחריה SNDK עם 471%, ובמקום השלישי TWST עם 355.2%. המניה במקום העשירי, KOD, עדיין מציגה עלייה של 215.7%, כך שכל הטבלה הקדימה משמעותית כל מדד רחב.

עמודת הדולרים לצד כל תנועה נושאת מידע רב ערך לא פחות מהאחוזים. KOD מרכזת מחזור מסחר ממוצע של כ-389 מיליון דולר ביום. MRNA, הנמצאת בראש הטבלה, מציגה ממוצע של 3002 מיליון דולר. כל שם כאן עובר את רף מאה מיליון הדולר ביום, והטווח מעל רף זה רחב מספיק כדי שאותו אחוז בכותרת יבטא משמעויות שונות בשני קצותיו. מניה בעלת סחירות נמוכה קלה יותר להקפצה וקשה יותר ליציאה במחיר המופיע על המסך.

המניות שרשמו את הירידות החדות ביותר בשנת 2026

אותו מדד, בשינוי כיוון: הירידות החדות ביותר מתחילת השנה בקרב ניירות ערך העומדים באותו רף נזילות.

שאילתההירידות הגדולות ב-2026: עשר המניות הגרועות מתחילת השנה בקרב מניות בעלות סחירות גבוהה
סימולתשואה מתחילת שנה (%)מחזור יומי ממוצע ($M)
CTVA-80.8410
TTD-65.7176
FLUT-64.8159
JOBY-64.3114
STLA-61.5126
OKLO-59.4288
APP-59.11168
SMR-57.8217
FICO-54.5998
Z-54.1114
ה-SQL המדויק מאחורי כל מספר
WITH complete AS (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND window_start >= toDateTime('2026-01-01 00:00:00')
      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 d
    HAVING count() >= 380
),
universe AS (
    SELECT ticker,
           sum(toFloat64(close) * toFloat64(volume)) / uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) AS adv
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE window_start >= now() - INTERVAL 21 DAY
      AND toDate(toTimeZone(window_start, 'America/New_York')) >= today() - 20
      AND toDate(toTimeZone(window_start, 'America/New_York')) IN (SELECT d FROM complete)
      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
    HAVING adv >= 100000000
),
edges AS (
    SELECT ticker,
        argMinIf(toFloat64(open), toTimeZone(window_start, 'America/New_York'), toDate(toTimeZone(window_start, 'America/New_York')) = (SELECT min(d) FROM complete)) AS year_open,
        argMaxIf(toFloat64(close), toTimeZone(window_start, 'America/New_York'), toDate(toTimeZone(window_start, 'America/New_York')) = (SELECT max(d) FROM complete)) AS latest_close,
        countIf(toDate(toTimeZone(window_start, 'America/New_York')) = (SELECT min(d) FROM complete)) AS bars_open,
        countIf(toDate(toTimeZone(window_start, 'America/New_York')) = (SELECT max(d) FROM complete)) AS bars_close
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ((window_start >= toDateTime('2026-01-01 00:00:00') AND window_start < toDateTime('2026-01-10 00:00:00'))
        OR (window_start >= now() - INTERVAL 8 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 NOT IN ('SPCX')
      AND ticker NOT IN ('KORU','SOXL','SOXS','SOXY','TQQQ','SQQQ','QQQU','SPXL','SPXS','UPRO','SPXU','SPYU','LABU','LABD','FAS','FAZ','TNA','TZA','YINN','YANG','UDOW','SDOW','BOIL','KOLD','UCO','SCO','USD','SSO','SDS','QLD','QID','ERX','ERY','DRN','DRV','CURE','MUU','SNXX','UVXY','SVXY','UVIX','SVIX','BULZ','WEBL','WEBS','DPST','DRIP','GUSH','AGQ','ZSL','GDXU','GDXD','FNGU','FNGD','DUST','JNUG','JDST','NUGT','BITX','BITU','SBIT','ETHU','ETHT','NVDL','NVDS','NVD','NVDX','NVDU','NVDD','NVDQ','TSLL','TSLQ','TSLZ','TSLR','TSLT','TSLS','TSDD','AAPU','AAPD','MSFU','MSFD','GGLL','GGLS','AMZU','AMZD','METU','METD','PLTU','PLTD','SMCX','SMCZ','CONL','CONI','MSTX','MSTU','MSTZ','BRKU','AMDL','AMUU','AMDD','ELIL','ELIS','HOOX','AVGX','AVGU','TSMX','TSMZ','MULL')
      AND ticker NOT IN (SELECT ticker FROM global_markets.stocks_splits
                         WHERE execution_date BETWEEN toDate('2026-01-01') AND today())
    GROUP BY ticker
    HAVING bars_open >= 100 AND bars_close >= 100
)
SELECT e.ticker AS ticker,
    round((e.latest_close / e.year_open - 1) * 100, 1) AS ytd_return_pct,
    round(u.adv / 1e6, 0) AS avg_daily_dollar_m
FROM edges AS e
INNER JOIN universe AS u ON e.ticker = u.ticker
WHERE e.year_open >= 10
ORDER BY (e.latest_close / e.year_open) ASC
LIMIT 10
הריצו בעצמכם

הירידה החדה ביותר מתחילת השנה שייכת ל-CTVA בשיעור של -80.8%, ואחריה TTD בשיעור של -65.7%. במקום העשירי ברשימה נמצאת Z, עם ירידה של -54.1%. כמה מהשמות כאן הם חברות גדולות ומוחזקות בקרב ציבור רחב של משקיעים, ולא מניות ספקולטיביות בעלות שווי שוק נמוך; זהו החלק ברשימת המפסידות שלעיתים מפתיע משקיעים. נזילות וסיקור אנליסטים אינם מהווים רצפת תמיכה למחיר המניה. כל מי שהחזיק באחת ממניות אלו כחלק משמעותי מתיק ההשקעות שלו ספג את מלוא התנועה, אותה מודד העמוד סיכון בהחזקת מניה בודדת באמצעות נתוני תנודתיות וגובה ירידה מהשיא (drawdown).

מהו שיעור השוק שנמצא בעלייה בשנת 2026

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

שאילתהרוחב שוק מתחילת השנה: התפלגות היקום הנסקר לפי טווחי תשואה
קבוצהשמותנתח צד (%)
Down 40%+3741.2
Down 20-40%8441.2
Down 10-20%10441.2
Down 0-10%18741.2
Up 0-10%16258.8
Up 10-25%19458.8
Up 25-50%11658.8
Up 50%+11658.8
ה-SQL המדויק מאחורי כל מספר
WITH complete AS (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND window_start >= toDateTime('2026-01-01 00:00:00')
      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 d
    HAVING count() >= 380
),
universe AS (
    SELECT ticker,
           sum(toFloat64(close) * toFloat64(volume)) / uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) AS adv
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE window_start >= now() - INTERVAL 21 DAY
      AND toDate(toTimeZone(window_start, 'America/New_York')) >= today() - 20
      AND toDate(toTimeZone(window_start, 'America/New_York')) IN (SELECT d FROM complete)
      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
    HAVING adv >= 100000000
),
edges AS (
    SELECT ticker,
        argMinIf(toFloat64(open), toTimeZone(window_start, 'America/New_York'), toDate(toTimeZone(window_start, 'America/New_York')) = (SELECT min(d) FROM complete)) AS year_open,
        argMaxIf(toFloat64(close), toTimeZone(window_start, 'America/New_York'), toDate(toTimeZone(window_start, 'America/New_York')) = (SELECT max(d) FROM complete)) AS latest_close,
        countIf(toDate(toTimeZone(window_start, 'America/New_York')) = (SELECT min(d) FROM complete)) AS bars_open,
        countIf(toDate(toTimeZone(window_start, 'America/New_York')) = (SELECT max(d) FROM complete)) AS bars_close
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ((window_start >= toDateTime('2026-01-01 00:00:00') AND window_start < toDateTime('2026-01-10 00:00:00'))
        OR (window_start >= now() - INTERVAL 8 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 NOT IN ('SPCX')
      AND ticker NOT IN ('KORU','SOXL','SOXS','SOXY','TQQQ','SQQQ','QQQU','SPXL','SPXS','UPRO','SPXU','SPYU','LABU','LABD','FAS','FAZ','TNA','TZA','YINN','YANG','UDOW','SDOW','BOIL','KOLD','UCO','SCO','USD','SSO','SDS','QLD','QID','ERX','ERY','DRN','DRV','CURE','MUU','SNXX','UVXY','SVXY','UVIX','SVIX','BULZ','WEBL','WEBS','DPST','DRIP','GUSH','AGQ','ZSL','GDXU','GDXD','FNGU','FNGD','DUST','JNUG','JDST','NUGT','BITX','BITU','SBIT','ETHU','ETHT','NVDL','NVDS','NVD','NVDX','NVDU','NVDD','NVDQ','TSLL','TSLQ','TSLZ','TSLR','TSLT','TSLS','TSDD','AAPU','AAPD','MSFU','MSFD','GGLL','GGLS','AMZU','AMZD','METU','METD','PLTU','PLTD','SMCX','SMCZ','CONL','CONI','MSTX','MSTU','MSTZ','BRKU','AMDL','AMUU','AMDD','ELIL','ELIS','HOOX','AVGX','AVGU','TSMX','TSMZ','MULL')
      AND ticker NOT IN (SELECT ticker FROM global_markets.stocks_splits
                         WHERE execution_date BETWEEN toDate('2026-01-01') AND today())
    GROUP BY ticker
    HAVING bars_open >= 100 AND bars_close >= 100
),
rets AS (
    SELECT e.ticker AS ticker, (e.latest_close / e.year_open - 1) * 100 AS ret
    FROM edges AS e
    INNER JOIN universe AS u ON e.ticker = u.ticker
    WHERE e.year_open >= 10
)
SELECT bucket,
       names,
       round(100 * sum(names) OVER (PARTITION BY side) / sum(names) OVER (), 1) AS side_share_pct
FROM (
    SELECT tup.1 AS bucket, tup.2 AS names, tup.3 AS ord, tup.4 AS side
    FROM (
        SELECT arrayJoin([
            ('Down 40%+',   countIf(ret < -40),               1, 'down'),
            ('Down 20-40%', countIf(ret >= -40 AND ret < -20), 2, 'down'),
            ('Down 10-20%', countIf(ret >= -20 AND ret < -10), 3, 'down'),
            ('Down 0-10%',  countIf(ret >= -10 AND ret < 0),   4, 'down'),
            ('Up 0-10%',    countIf(ret >= 0 AND ret < 10),    5, 'up'),
            ('Up 10-25%',   countIf(ret >= 10 AND ret < 25),   6, 'up'),
            ('Up 25-50%',   countIf(ret >= 25 AND ret < 50),   7, 'up'),
            ('Up 50%+',     countIf(ret >= 50),                8, 'up')
        ]) AS tup
        FROM rets
    )
)
ORDER BY ord
הריצו בעצמכם

58.8% מהשמות הנסרקים נמצאים ברמה גבוהה יותר מתחילת השנה ו-41.2% נמצאים ברמה נמוכה יותר. ההתפלגות היא מה שטבלה של עשרת המובילים מסתירה. 37 שמות נמצאים בטווח ה-Down 40%+ בקצה אחד ו-116 בטווח ה-Up 50%+ בקצה השני, לעומת 187 ב-Down 0-10% ו-162 ב-Up 0-10% משני צידי נקודת האפס. רוב השוק מבצע מהלך רגיל בכל שנה נתונה, והשמות בשתי הטבלאות לעיל הם החריגים שמהם נבנים הממוצעים.

היכן עומד השוק עצמו

שנתה של מניה בודדת נראית אחרת בהשוואה לזו של השוק. ארבע קרנות הסל העוקבות אחר המדדים המרכזיים, באותה תקופת זמן בדיוק:

שאילתהארבעת ה-ETFs המרכזיים של המדדים, מתחילת השנה, באותה תקופת מדידה
תוויתתשואה מתחילת שנה (%)מתאריךעד תאריך
Nasdaq 100 (QQQ)17.42026-01-022026-10-15
S&P 500 (SPY)12.52026-01-022026-10-15
Russell 2000 (IWM)11.12026-01-022026-10-15
Dow (DIA)8.22026-01-022026-10-15
ה-SQL המדויק מאחורי כל מספר
WITH complete AS (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND window_start >= toDateTime('2026-01-01 00:00:00')
      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 d
    HAVING count() >= 380
),
edges AS (
    SELECT ticker,
        argMinIf(toFloat64(open), toTimeZone(window_start, 'America/New_York'), toDate(toTimeZone(window_start, 'America/New_York')) = (SELECT min(d) FROM complete)) AS year_open,
        argMaxIf(toFloat64(close), toTimeZone(window_start, 'America/New_York'), toDate(toTimeZone(window_start, 'America/New_York')) = (SELECT max(d) FROM complete)) AS latest_close,
        countIf(toDate(toTimeZone(window_start, 'America/New_York')) = (SELECT min(d) FROM complete)) AS bars_open,
        countIf(toDate(toTimeZone(window_start, 'America/New_York')) = (SELECT max(d) FROM complete)) AS bars_close
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ((window_start >= toDateTime('2026-01-01 00:00:00') AND window_start < toDateTime('2026-01-10 00:00:00'))
        OR (window_start >= now() - INTERVAL 8 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 ('SPY', 'QQQ', 'DIA', 'IWM')
    GROUP BY ticker
    HAVING bars_open >= 100 AND bars_close >= 100
)
SELECT multiIf(ticker = 'SPY', 'S&P 500 (SPY)', ticker = 'QQQ', 'Nasdaq 100 (QQQ)',
               ticker = 'DIA', 'Dow (DIA)', ticker = 'IWM', 'Russell 2000 (IWM)', ticker) AS label,
    round((latest_close / year_open - 1) * 100, 1) AS ytd_return_pct,
    (SELECT toString(min(d)) FROM complete) AS measured_from_date,
    (SELECT toString(max(d)) FROM complete) AS measured_through_date
FROM edges
ORDER BY ytd_return_pct DESC
הריצו בעצמכם

הלוחות והפאנל שלעיל נמדדים כולם לאורך חלון זמן אחד: החל מיום המסחר המלא הראשון של 2026 (2026-01-02) ועד ליום המסחר המלא האחרון שהושלם (2026-10-15). לאורך תקופה זו הניב Nasdaq 100 (QQQ) תשואה של 17.4%, ואילו Dow (DIA) הניב 8.2%. כל שם בטבלת המניות העולות עקף את כל הארבעה בפער ניכר; זוהי האריתמטיקה של מדד בפעולה: מאות אחזקות הממוצעות לשורה אחת, שבה תנועות בודדות מתקזזות בחלקן. המרווח מתחת לאותה שורה היה רחב בהרבה מהשורה עצמה, ו-לוח התוצאות הסקטוריאלי למחצית הראשונה מדרג את כל אחת-עשרה הסקטורים זה מול זה.

פיצול מניות שיוצר מצג שווא של תשואה מתחילת השנה

פיצול מניות משנה את מספר המניות ואת המחיר למניה מבלי לשנות את שווי האחזקה. לאורך תקופה כה ארוכה, חברות רבות מבצעות פיצול, וחישוב תשואה מתחילת השנה (YTD) ללא התאמה מפרש את השינוי במחיר למניה כביצועים. החברות המפורטות להלן ביצעו בשנת 2026 פיצול או חלוקת מניות (stock dividend) בהיקף שהוביל לשינוי של לפחות חמישית במחיר, וכל אחת מהן עמדה ברף הנזילות הנדרש, כך שהן היו זכאיות להיכלל בלוחות לעיל בטרם הוסרו עקב מסנן הפיצולים.

שאילתההוצאו מהדירוג: פיצולי מניות ב-2026 שיוצרים מצג שווא של תשואה מתחילת השנה
סימולתשואה מתחילת שנה (לא מותאם) (%)השפעת פיצול על מחיר (%)סוג פיצולתאריך פיצול
BKNG-96.9-96forward split2026-04-06
KLAC-86.2-90forward split2026-06-12
CVNA-85.6-80forward split2026-05-08
VGT-83.9-87.5forward split2026-04-21
VUG-81.7-83.3forward split2026-04-21
VOOG-81-83.3forward split2026-04-21
MGK-77.9-80forward split2026-04-21
IWF-73.9-75forward split2026-04-29
VO-72.2-75forward split2026-04-21
INTW-57.3-87.5forward split2026-06-26
CRWD-48.4-75stock dividend2026-07-02
MNST-40.9-50stock dividend2026-08-11
APH-40.6-50stock dividend2026-09-03
HON7.6100reverse split2026-06-29
ETHA141.8200reverse split2026-10-06
ה-SQL המדויק מאחורי כל מספר
WITH complete AS (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND window_start >= toDateTime('2026-01-01 00:00:00')
      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 d
    HAVING count() >= 380
),
universe AS (
    SELECT ticker,
           sum(toFloat64(close) * toFloat64(volume)) / uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) AS adv
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE window_start >= now() - INTERVAL 21 DAY
      AND toDate(toTimeZone(window_start, 'America/New_York')) >= today() - 20
      AND toDate(toTimeZone(window_start, 'America/New_York')) IN (SELECT d FROM complete)
      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
    HAVING adv >= 100000000
),
split_terms AS (
    SELECT ticker,
        argMax(split_to, execution_date) AS new_shares,
        argMax(split_from, execution_date) AS old_shares,
        round((old_shares / new_shares - 1) * 100, 1) AS split_price_effect_pct,
        replaceAll(argMax(adjustment_type, execution_date), '_', ' ') AS split_type,
        toString(max(execution_date)) AS split_date
    FROM global_markets.stocks_splits
    WHERE execution_date BETWEEN toDate('2026-01-01') AND today()
    GROUP BY ticker
    HAVING new_shares > 0 AND old_shares > 0
       AND greatest(new_shares / old_shares, old_shares / new_shares) >= 1.25
),
edges AS (
    SELECT ticker,
        argMinIf(toFloat64(open), toTimeZone(window_start, 'America/New_York'), toDate(toTimeZone(window_start, 'America/New_York')) = (SELECT min(d) FROM complete)) AS year_open,
        argMaxIf(toFloat64(close), toTimeZone(window_start, 'America/New_York'), toDate(toTimeZone(window_start, 'America/New_York')) = (SELECT max(d) FROM complete)) AS latest_close,
        countIf(toDate(toTimeZone(window_start, 'America/New_York')) = (SELECT min(d) FROM complete)) AS bars_open,
        countIf(toDate(toTimeZone(window_start, 'America/New_York')) = (SELECT max(d) FROM complete)) AS bars_close
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ((window_start >= toDateTime('2026-01-01 00:00:00') AND window_start < toDateTime('2026-01-10 00:00:00'))
        OR (window_start >= now() - INTERVAL 8 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 NOT IN ('SPCX')
      AND ticker NOT IN ('KORU','SOXL','SOXS','SOXY','TQQQ','SQQQ','QQQU','SPXL','SPXS','UPRO','SPXU','SPYU','LABU','LABD','FAS','FAZ','TNA','TZA','YINN','YANG','UDOW','SDOW','BOIL','KOLD','UCO','SCO','USD','SSO','SDS','QLD','QID','ERX','ERY','DRN','DRV','CURE','MUU','SNXX','UVXY','SVXY','UVIX','SVIX','BULZ','WEBL','WEBS','DPST','DRIP','GUSH','AGQ','ZSL','GDXU','GDXD','FNGU','FNGD','DUST','JNUG','JDST','NUGT','BITX','BITU','SBIT','ETHU','ETHT','NVDL','NVDS','NVD','NVDX','NVDU','NVDD','NVDQ','TSLL','TSLQ','TSLZ','TSLR','TSLT','TSLS','TSDD','AAPU','AAPD','MSFU','MSFD','GGLL','GGLS','AMZU','AMZD','METU','METD','PLTU','PLTD','SMCX','SMCZ','CONL','CONI','MSTX','MSTU','MSTZ','BRKU','AMDL','AMUU','AMDD','ELIL','ELIS','HOOX','AVGX','AVGU','TSMX','TSMZ','MULL')
      AND ticker IN (SELECT ticker FROM split_terms)
    GROUP BY ticker
    HAVING bars_open >= 100 AND bars_close >= 100
),
ranked AS (
    SELECT e.ticker AS ticker,
        round((e.latest_close / e.year_open - 1) * 100, 1) AS unadjusted_ytd_pct,
        s.split_price_effect_pct AS split_price_effect_pct,
        s.split_type AS split_type,
        s.split_date AS split_date
    FROM edges AS e
    INNER JOIN split_terms AS s ON e.ticker = s.ticker
    WHERE e.year_open >= 10 AND e.ticker IN (SELECT ticker FROM universe)
)
SELECT ticker, unadjusted_ytd_pct, split_price_effect_pct, split_type, split_date
FROM (
    SELECT ticker, unadjusted_ytd_pct, split_price_effect_pct, split_type, split_date,
           row_number() OVER (ORDER BY unadjusted_ytd_pct ASC) AS rn_low,
           row_number() OVER (ORDER BY unadjusted_ytd_pct DESC) AS rn_high
    FROM ranked
)
WHERE rn_low <= 14 OR rn_high = 1
ORDER BY unadjusted_ytd_pct ASC
הריצו בעצמכם

BKNG תציג -96.9% במסך לא מותאם לאחר ש-forward split הניע את מחירה למניה ב--96%, ו-KLAC תציג -86.2% לאחר ש-forward split הניע את מחירה ב--90%. אף מחזיק באף אחת מהמניות לא הפסיד דבר ביום שבו נכנס הפיצול לתוקף. המחיר למניה חולק ומספר המניות הוכפל באותו גורם. עמודת השפעת הפיצול מבודדת את השינוי במחיר הנובע מהפיצול בלבד, וזהו החלק שמסך לא מותאם מפרש כביצועים.

השורה האחרונה בלוח פועלת בכיוון ההפוך: ETHA מציגה 141.8% לאחר ש-reverse split העלה את מחירה למניה ב-200%, ובכך העלה את המחיר במקום להפחיתו. כל רשימה שפוסחת על שלב זה מפרסמת נתונים שגויים בקצה העליון ובקצה התחתון בו-זמנית, וזו הסיבה שהמסך מפריד את הטיקרים שעברו פיצול במקום לנסות לתקן את מחיריהם. קרן יכולה להופיע בלוח זה בקלות רבה כמו חברה: גם קרנות סל מבצעות פיצול מניות, ומסך זה מכסה את שתיהן.

כיצד נמדד סינון זה

כל שלב בסינון, עם מספר השמות שנותרו לאחר ביצועו:

שאילתהתהליך הסינון, שלב אחר שלב: כמה מניות שורדות בכל פילטר
שלב סינוןשמות
Traded the first and the last full session4543
Averaging $100m+ a day over the past month1082
Opened 2026 above $10 a share1049
Not on the excluded-fund list1017
No split or stock dividend in 20261000
ה-SQL המדויק מאחורי כל מספר
WITH complete AS (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND window_start >= toDateTime('2026-01-01 00:00:00')
      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 d
    HAVING count() >= 380
),
universe AS (
    SELECT ticker
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE window_start >= now() - INTERVAL 21 DAY
      AND toDate(toTimeZone(window_start, 'America/New_York')) >= today() - 20
      AND toDate(toTimeZone(window_start, 'America/New_York')) IN (SELECT d FROM complete)
      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
    HAVING sum(toFloat64(close) * toFloat64(volume)) / uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) >= 100000000
),
edges AS (
    SELECT ticker,
        argMinIf(toFloat64(open), toTimeZone(window_start, 'America/New_York'), toDate(toTimeZone(window_start, 'America/New_York')) = (SELECT min(d) FROM complete)) AS year_open,
        argMaxIf(toFloat64(close), toTimeZone(window_start, 'America/New_York'), toDate(toTimeZone(window_start, 'America/New_York')) = (SELECT max(d) FROM complete)) AS latest_close,
        countIf(toDate(toTimeZone(window_start, 'America/New_York')) = (SELECT min(d) FROM complete)) AS bars_open,
        countIf(toDate(toTimeZone(window_start, 'America/New_York')) = (SELECT max(d) FROM complete)) AS bars_close
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ((window_start >= toDateTime('2026-01-01 00:00:00') AND window_start < toDateTime('2026-01-10 00:00:00'))
        OR (window_start >= now() - INTERVAL 8 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
    HAVING bars_open >= 100 AND bars_close >= 100
),
flagged AS (
    SELECT ticker,
        year_open,
        ticker IN (SELECT ticker FROM universe) AS liquid,
        ticker NOT IN ('SPCX','KORU','SOXL','SOXS','SOXY','TQQQ','SQQQ','QQQU','SPXL','SPXS','UPRO','SPXU','SPYU','LABU','LABD','FAS','FAZ','TNA','TZA','YINN','YANG','UDOW','SDOW','BOIL','KOLD','UCO','SCO','USD','SSO','SDS','QLD','QID','ERX','ERY','DRN','DRV','CURE','MUU','SNXX','UVXY','SVXY','UVIX','SVIX','BULZ','WEBL','WEBS','DPST','DRIP','GUSH','AGQ','ZSL','GDXU','GDXD','FNGU','FNGD','DUST','JNUG','JDST','NUGT','BITX','BITU','SBIT','ETHU','ETHT','NVDL','NVDS','NVD','NVDX','NVDU','NVDD','NVDQ','TSLL','TSLQ','TSLZ','TSLR','TSLT','TSLS','TSDD','AAPU','AAPD','MSFU','MSFD','GGLL','GGLS','AMZU','AMZD','METU','METD','PLTU','PLTD','SMCX','SMCZ','CONL','CONI','MSTX','MSTU','MSTZ','BRKU','AMDL','AMUU','AMDD','ELIL','ELIS','HOOX','AVGX','AVGU','TSMX','TSMZ','MULL') AS not_geared,
        ticker NOT IN (SELECT ticker FROM global_markets.stocks_splits
                       WHERE execution_date BETWEEN toDate('2026-01-01') AND today()) AS no_split
    FROM edges
)
SELECT tup.1 AS screen_step, tup.2 AS names
FROM (
    SELECT arrayJoin([
        ('Traded the first and the last full session', count()),
        ('Averaging $100m+ a day over the past month', countIf(liquid)),
        ('Opened 2026 above $10 a share', countIf(liquid AND year_open >= 10)),
        ('Not on the excluded-fund list', countIf(liquid AND year_open >= 10 AND not_geared)),
        ('No split or stock dividend in 2026', countIf(liquid AND year_open >= 10 AND not_geared AND no_split))
    ]) AS tup
    FROM flagged
)
הריצו בעצמכם

המתודולוגיה, בפירוט מלא:

  • חלון הזמן. החל מיום המסחר המלא הראשון של שנת 2026 ועד ליום המסחר המלא האחרון שנרשם בבורסה. שתי נקודות הקצה נקראות מתוך נתוני דקות, ויום נספר רק אם הוא כולל את מלוא מספר הדקות של שעות המסחר הרגילות; יום מסחר שטרם הסתיים אינו נחשב כיום מלא.
  • התשואה. השוואה בין שער הפתיחה של יום המסחר הרגיל הראשון בשנה לבין שער הסגירה של יום המסחר הרגיל האחרון, מחושבת לפי נתוני דקות. עסקאות שבוצעו במסחר טרום-פתיחה (premarket) או לאחר הסגירה (after-hours) אינן נכללות. מדובר בתשואת מחיר בלבד; דיבידנדים אינם מתווספים חזרה, ולכן מניה בעלת תשואת דיבידנד גבוהה עשויה להציג נתון נמוך יותר מאשר בחישוב תשואה כוללת (total return).
  • רף הנזילות. ממוצע של לפחות 100 מיליון דולר במחזור מסחר בשעות הפעילות הרגילות לכל יום מסחר במהלך 20 ימי הלוח האחרונים, תוך ספירת ימים מלאים בלבד. חישוב חלקי של יום מסחר היה מוביל לחלוקת דולרים של חלק מיום ביום שלם, ובכך היה מציג מחזור נמוך מהאמת עבור כל נייר ערך. מסנן יחיד זה מצמצם את היקף הנתונים מ-4543 טיקרים ל-1082.
  • רף המחיר. המניה פתחה את השנה במחיר הגבוה מ-10 דולר למניה. מניות שמחירן נמוך מ-10 דולר נוטות להציג אחוזי שינוי גבוהים כתוצאה מתנודות מחיר קטנות.
  • קרנות ממונפות והפוכות מוחרגות באמצעות רשימה מנוהלת, המופיעה במלואה בשאילתת ה-SQL תחת כל טבלה. הרשימה כוללת קרנות העוקבות אחר מדדים וקרנות על מניות בודדות המכפילות את התנועה היומית של חברה אחת. קרן ממונפת יכולה להוביל כל רשימה של מניות בעלות תנודתיות גבוהה ללא כל הודעה מהותית מצד החברה. הרשימה מתוחזקת ידנית, וזהו חסרונה: קרן שהושקה החודש תוחרג רק לאחר שמישהו יוסיף אותה לרשימה.
  • קרנות רגילות אינן מסוננות. קרן סל (ETF) עוקבת מדד או סקטור ללא מינוף, העומדת ברפי הנזילות והמחיר, מדורגת כאן לצד חברות תפעוליות ונכללת בספירות הרוחב. קרן היא סל של ניירות ערך שכבר נספרו באותו יקום נתונים, לכן יש לקרוא שורות אלו כביצועי הסל ולא כביצועי חברה בודדת במהלך השנה.
  • פיצולי מניות (Splits). כל טיקר שביצע פיצול מניות או חלוקת מניות הטבה במהלך שנת 2026 מוחרג, ללא קשר ליחס הפיצול. זוהי גישה שמרנית: היא גורמת לכך שמספר מניות בעלות ביצועים חזקים נגרעות מהרשימה, אך היא מונעת הצגת שינוי במספר המניות כשינוי בתשואה. הלוח לעיל מציג את השמות שהוחרגו בשל פיצול שהיה משמעותי מספיק כדי לעוות את נתוני התשואה.
  • הנפקות מאוחרות. חברה שהחלה להיסחר לאחר יום המסחר הראשון של השנה אינה כוללת נתוני מחיר לחודש ינואר ולכן נעדרת מטבלאות אלו; מדובר בפער מהותי בשנה שבה לוח ההנפקות החדשות עמוס.
  • התוצאה. 1000 שמות מדורגים, כאשר עשרת המקומות הראשונים ועשרת המקומות האחרונים מהווים את שני הלוחות בדף זה.

אותה שאלה בשלושה חלונות

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

שאלות נפוצות

מהי המניה בעלת הביצועים הטובים ביותר בשנת 2026?

מבין המניות המציגות מחזור מסחר ממוצע של לפחות מאה מיליון דולר ביום, שפתחו את השנה במחיר הגבוה מעשרה דולרים, לא עברו פיצול מניות במהלך 2026 ואינן נכללות ברשימת קרנות הממונפות, MRNA היא המניה בעלת הביצועים הטובים ביותר בשנת 2026 עד כה, עם עלייה של 692.8% מאז יום המסחר הראשון של השנה. SNDK מדורגת שנייה עם עלייה של 471%.

אילו מניות רשמו את הירידות החדות ביותר בשנת 2026?

CTVA היא המניה בעלת הביצועים הגרועים ביותר בשנת 2026 בסינון זה, עם ירידה של -80.8%, לפני TTD שירדה ב--65.7%. הרשימה המלאה של המניות שרשמו את הירידות הגדולות ביותר בשנת 2026 מופיעה בטבלה השנייה לעיל, והיא מתעדכנת ככל שהשנה מתקדמת.

כיצד מחושבת תשואה שנתית (YTD) של מניה?

תשואה מתחילת שנה משווה בין המחיר האחרון לבין המחיר בתחילת שנת הלוח ומבטאת את השינוי באחוזים. כאן מדובר בשער הפתיחה של יום המסחר הרגיל הראשון של שנת 2026 בהשוואה לשער הנעילה של יום המסחר המלא האחרון. מניות שביצעו פיצול במהלך השנה מוצאות מהרשימה במקום לעבור התאמה, כך שאין גורם התאמה שחוצץ בין הקורא לבין נתוני המסחר (the tape).

האם קרנות סל ממונפות נכללות ברשימת המניות העולות של 2026?

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


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

#market movers#gainers and losers#year to date#stock splits#market breadth