بزرگترین رشدها و افتهای سهام در 2026
بهترین و بدترین عملکرد سهام در 2026 بر اساس نقدشوندگی واقعی و نوار معاملات بورس، با حذف تجزیه سهام و صندوقهای اهرمی رتبهبندی شده است.
بهترین عملکرد سهام در سال 2026 تاکنون، با پیشتازی SNDK رقم خورده است؛ این سهم از نخستین جلسه معاملاتی سال تا آخرین جلسه تکمیلشده، 536.4% رشد کرده است. در این صفحه، بزرگترین رشدها و افتهای سهام در سال 2026 در میان نمادهایی که واقعاً معامله میشوند رتبهبندی شدهاند. مبنای اندازهگیری، معاملات ثبتشده در نوار معاملات بورس است، نه خلاصههای ارائهشده از سوی فروشندگان داده. این فهرست همزمان با ادامه سال بهروزرسانی میشود. پیش از رتبهبندی، تجزیه سهام و صندوقهای اهرمی حذف میشوند؛ بیشتر فهرستهای بازدهی از ابتدای سال، معمولاً در همین مرحله بهطور نامحسوس دچار خطا میشوند.
بزرگترین نمادهای بورس از نظر رشد در سال 2026
هر یک از نمادهای زیر پیش از رتبهبندی، حداقل نقدشوندگی تعیینشده را پشت سر گذاشته است: در یک ماه گذشته، در هر جلسه معاملاتی کامل، بهطور میانگین دستکم 100 میلیون دلار از سهام آن معامله شده است. درصد رشد بالا در سهمی که کسی آن را معامله نمیکند، صرفاً یک مظنه است، نه یک نتیجه واقعی.
| نماد | درصد بازدهی از ابتدای سال | میانگین ارزش دلاری روزانه (میلیون) |
|---|---|---|
| SNDK | 536.4 | 15431 |
| MRNA | 399 | 5598 |
| TWST | 305.4 | 202 |
| DELL | 301.8 | 3566 |
| TXG | 287.5 | 142 |
| AEHR | 262.8 | 208 |
| MXL | 233.4 | 114 |
| AXTI | 226.9 | 525 |
| MU | 224.8 | 20455 |
| AMLX | 183.5 | 131 |
کد دقیق 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 10SNDK با رشد 536.4% در صدر عملکرد سال قرار دارد. پس از آن MRNA با 399% و TWST با 305.4% در رتبه سوم قرار گرفتهاند. AMLX، که در جایگاه دهم جدول است، همچنان 183.5% رشد کرده است؛ بنابراین، کل این جدول با فاصله زیادی از هر شاخص گسترده بازار پیش افتاده است.
ستون دلاری کنار هر تغییر، بهاندازه درصد رشد اطلاعات در اختیار ما میگذارد. گردش معاملات روزانه AMLX بهطور میانگین حدود 131 میلیون دلار است. گردش معاملات SNDK، که در صدر جدول قرار دارد، بهطور میانگین به 15431 میلیون دلار در روز میرسد. گردش معاملات روزانه تمام نمادهای این فهرست از 100 میلیون دلار بیشتر است و دامنه بالاتر از این کف نقدشوندگی آنقدر گسترده است که یک درصد رشد یکسان، در دو سوی این دامنه، معنای متفاوتی دارد. حرکتدادن قیمت یک نماد کممعامله آسانتر است و خروج از آن در قیمت نمایشدادهشده روی صفحه نیز دشوارتر خواهد بود.
بزرگترین بازندگان بازار سهام در 2026
همان سنجه، اما در جهت معکوس: شدیدترین افتهای از ابتدای سال در میان نمادهایی که از همان حداقل نقدشوندگی عبور کردهاند.
| نماد | درصد بازدهی از ابتدای سال | میانگین ارزش دلاری روزانه (میلیون) |
|---|---|---|
| TTD | -60.5 | 192 |
| WING | -54.4 | 103 |
| APP | -54.1 | 1257 |
| CSGP | -52.8 | 144 |
| FLUT | -52.7 | 140 |
| STLA | -51.5 | 105 |
| BSX | -51 | 763 |
| KLAR | -50.4 | 145 |
| RBLX | -49.1 | 303 |
| JOBY | -48.8 | 153 |
کد دقیق 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شدیدترین افت از ابتدای سال متعلق به TTD با -60.5% است و پس از آن WING با -54.4% قرار دارد. JOBY در جایگاه دهم فهرست، با -48.8% ایستاده است. چندین نماد این فهرست متعلق به شرکتهای بزرگ و بهطور گسترده در اختیار سرمایهگذاران هستند، نه شرکتهای خردِ سفتهبازانه؛ همین بخش از فهرست بازندگان است که مردم را شگفتزده میکند. نقدشوندگی و پوشش تحلیلی نمیتوانند برای قیمت سهم کف تعیین کنند. هر سرمایهگذاری که یکی از این نمادها را با سهمی بیشازحد بزرگ در پرتفوی خود نگه داشته باشد، کل این حرکت را متحمل شده است؛ صفحه ریسک نگهداری یک سهم این موضوع را با ارقام نوسان و افت سرمایه اندازهگیری میکند.
چه میزان از بازار در سال 2026 رشد کرده است
جدول رتبهبندی فقط دو سر طیف را نشان میدهد. پهنای بازار بدنه آن را نشان میدهد: کل مجموعه بررسیشده، از جمله صندوقهای شاخص، بر اساس اندازه حرکت بین نمادهای صعودی و نزولی چگونه تقسیم شده است.
| دسته | نامها | درصد سهم بخش |
|---|---|---|
| Down 40%+ | 18 | 35.5 |
| Down 20-40% | 69 | 35.5 |
| Down 10-20% | 78 | 35.5 |
| Down 0-10% | 162 | 35.5 |
| Up 0-10% | 152 | 64.5 |
| Up 10-25% | 198 | 64.5 |
| Up 25-50% | 142 | 64.5 |
| Up 50%+ | 103 | 64.5 |
کد دقیق 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 ord64.5% از نمادهای بررسیشده از ابتدای سال در سطح بالاتری قرار دارند و 35.5% در سطح پایینتری هستند. توزیع بازار چیزی است که جدول ده نماد برتر پنهان میکند. 18 نماد در یک سوی طیف در طبقه Down 40%+ قرار دارند و 103 نماد در سوی دیگر در طبقه Up 50%+ هستند؛ در مقابل، 162 در طبقه Down 0-10% و 152 در طبقه Up 0-10% در دو سوی محدوده بدون تغییر قرار گرفتهاند. در هر سال معمولاً بیشتر بازار حرکت عادی دارد و نمادهای حاضر در دو جدول بالا، استثناهایی هستند که میانگینها از آنها شکل میگیرند.
جایگاه خودِ بازار
عملکرد یک سهم واحد، در مقایسه با عملکرد خود بازار، متفاوت به نظر میرسد. عملکرد چهار ETF اصلی شاخص در دقیقاً همین بازه زمانی:
| برچسب | درصد بازدهی از ابتدای سال | اندازهگیریشده از تاریخ | اندازهگیریشده تا تاریخ |
|---|---|---|---|
| Russell 2000 (IWM) | 19.2 | 2026-01-02 | 2026-09-03 |
| Nasdaq 100 (QQQ) | 15.7 | 2026-01-02 | 2026-09-03 |
| S&P 500 (SPY) | 12.7 | 2026-01-02 | 2026-09-03 |
| Dow (DIA) | 11.4 | 2026-01-02 | 2026-09-03 |
کد دقیق 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-09-03). در این بازه، Russell 2000 (IWM) معادل 19.2% و Dow (DIA) معادل 11.4% بازدهی داشت. تمام نمادهای جدول پربازدهها با فاصلهای چشمگیر از هر چهار شاخص عبور کردند. این همان اثر محاسبه شاخص است: صدها دارایی در یک خط میانگینگیری میشوند و بخشی از نوسانهای فردی یکدیگر را خنثی میکنند. دامنه پراکندگی بازدهها در زیر این خط، بسیار گستردهتر از خود خط بود و کارنامه بخشی برای نیمه نخست سال هر یازده بخش را در برابر یکدیگر رتبهبندی میکند.
تجزیه سهام که تغییرات از ابتدای سال را جعلی نشان میدهد
تجزیه سهام، تعداد سهام و قیمت هر سهم را تغییر میدهد، اما ارزش دارایی را تغییر نمیدهد. در بازهای به این طول، شرکتهای زیادی تجزیه سهام انجام میدهند و محاسبه تعدیلنشده از ابتدای سال، تغییر قیمت هر سهم را بهعنوان بازدهی ثبت میکند. هر یک از نامهای زیر در سال 2026 تجزیه سهام یا سود سهمی بهاندازهای داشتهاند که قیمت هر سهم را دستکم یکپنجم جابهجا کرده است. همچنین همه آنها حداقل نقدشوندگی یکسانی را پشت سر گذاشتهاند. بنابراین پیش از حذف از فیلتر تجزیه سهام، واجد شرایط حضور در جدولهای بالا بودند.
| نماد | درصد بازدهی تعدیلنشده از ابتدای سال | درصد اثر تجزیه سهام بر قیمت | نوع تجزیه سهام | تاریخ تجزیه سهام |
|---|---|---|---|---|
| BKNG | -96.4 | -96 | forward split | 2026-04-06 |
| KLAC | -86.3 | -90 | forward split | 2026-06-12 |
| VGT | -84.1 | -87.5 | forward split | 2026-04-21 |
| CVNA | -82.6 | -80 | forward split | 2026-05-08 |
| VUG | -81.9 | -83.3 | forward split | 2026-04-21 |
| HDV | -75.6 | -80 | forward split | 2026-04-29 |
| IWF | -74.1 | -75 | forward split | 2026-04-29 |
| VO | -71.7 | -75 | forward split | 2026-04-21 |
| CRWD | -54.6 | -75 | stock dividend | 2026-07-02 |
| MNST | -42.5 | -50 | stock dividend | 2026-08-11 |
| APH | -40.1 | -50 | stock dividend | 2026-09-03 |
| MVLL | 4.3 | -66.7 | forward split | 2026-06-26 |
| HON | 6.1 | 100 | reverse split | 2026-06-29 |
| DD | 224.3 | 200 | reverse split | 2026-06-24 |
کد دقیق 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 پس از آنکه یک forward split قیمت هر سهم آن را -96% جابهجا کرد، رقم -96.4% را نشان میدهد. KLAC نیز پس از آنکه یک forward split قیمت آن را -90% جابهجا کرد، رقم -86.3% را ثبت میکند. هیچیک از دارندگان این دو سهم در روز اجرای تجزیه سهام چیزی از دست ندادند. قیمت هر سهم بر همان ضریبی تقسیم شد که تعداد سهام در آن ضرب شد. ستون اثر تجزیه سهام، تغییر قیمتی را جدا میکند که صرفاً ناشی از تجزیه سهام است؛ همان بخشی که نمایشگر تعدیلنشده آن را بازدهی تلقی میکند.
ردیف پایانی جدول مسیر معکوس را نشان میدهد: DD پس از آنکه یک reverse split قیمت هر سهم آن را 200% افزایش داد، رقم 224.3% را نشان میدهد؛ یعنی قیمت بهجای کاهش، افزایش یافته است. هر فهرستی که این مرحله را نادیده بگیرد، همزمان در صدر و انتهای جدول اطلاعات ساختگی منتشر میکند. به همین دلیل، نمایشگر نمادهای مشمول تجزیه سهام را کنار میگذارد و بهجای تلاش برای اصلاح قیمت آنها، از محاسبه خارج میکند. یک صندوق نیز بهراحتی میتواند در این جدول قرار بگیرد؛ صندوقهای شاخص هم سهام خود را تجزیه میکنند و این نمایشگر هر دو گروه را پوشش میدهد.
نحوه اندازهگیری این غربال
هر مرحله از غربال، همراه با تعداد نمادهای باقیمانده پس از آن:
| مرحله غربالگری | نامها |
|---|---|
| Traded the first and the last full session | 4471 |
| Averaging $100m+ a day over the past month | 1000 |
| Opened 2026 above $10 a share | 970 |
| Not on the excluded-fund list | 938 |
| No split or stock dividend in 2026 | 922 |
کد دقیق 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 تا آخرین جلسه کامل ثبتشده در دادهها. هر دو نقطه پایانی از میلههای دقیقهای خوانده میشوند و یک جلسه فقط زمانی بهحساب میآید که تعداد کامل میلههای ساعات عادی معاملات را داشته باشد؛ بنابراین روزی که هنوز ادامه دارد، هرگز بهعنوان روز پایانیافته در نظر گرفته نمیشود.
- بازده. قیمت بازشدن نخستین جلسه عادی سال در مقایسه با قیمت پایانی آخرین جلسه عادی، بر اساس میلههای دقیقهای محاسبه میشود. معاملات پیش از بازار و پس از ساعات عادی نادیده گرفته میشوند. اینها بازدههای قیمتی هستند و سود نقدی به آنها اضافه نمیشود؛ بنابراین عملکرد نمادهای پربازده از نظر سود نقدی در اینجا اندکی ضعیفتر از رقمی است که بازده کل نشان میدهد.
- حداقل نقدشوندگی. میانگین ارزش معاملات ساعات عادی در هر جلسه طی 20 روز تقویمی گذشته باید دستکم 100 میلیون دلار باشد. فقط جلساتی لحاظ میشوند که از ابتدا تا انتها برگزار شده باشند. در غیر این صورت، ارزش معاملات بخشی از یک روز بر یک روز کامل تقسیم میشد و گردش معاملات همه نمادها کمتر از مقدار واقعی نشان داده میشد. همین فیلتر، تعداد نمادها را از 4471 به 1000 کاهش میدهد.
- حداقل قیمت. قیمت بازشدن سهم در آغاز سال باید بیش از 10 دلار باشد. نمادهای زیر 10 دلار با تغییرات کوچک قیمت، درصدهای بزرگی ایجاد میکنند.
- صندوقهای اهرمی و معکوس با استفاده از فهرستی گزینششده حذف میشوند که متن کامل آن در SQL زیر هر جدول آمده است. این فهرست، صندوقهای مبتنی بر شاخص و صندوقهای تکسهمی را که حرکت روزانه یک شرکت را چند برابر میکنند، دربر میگیرد. یک صندوق اهرمی میتواند بدون انتشار حتی یک خبر شرکتی، در صدر فهرست نمادهای دارای بیشترین حرکت خام قرار گیرد. این فهرست بهصورت دستی بهروزرسانی میشود و ضعف آن نیز همین است: صندوقی که این ماه راهاندازی شده باشد، فقط پس از اضافهشدن به فهرست حذف میشود.
- صندوقهای عادی حذف نمیشوند. یک ETF شاخص یا بخشیِ بدون اهرم که حداقلهای نقدشوندگی و قیمت را داشته باشد، در کنار شرکتهای عملیاتی رتبهبندی میشود و در شمارش گستره بازار نیز قرار میگیرد. یک صندوق سبدی از نمادهایی است که پیشتر در همین مجموعه شمارش شدهاند؛ بنابراین این ردیفها عملکرد سبد را نشان میدهند، نه عملکرد یک شرکت در طول سال.
- تعدیلهای مربوط به تقسیم سهام. هر نمادی که در سال 2026 تقسیم سهام یا سود سهمی آن اجرایی شده باشد، بدون توجه به کوچکبودن نسبت، کنار گذاشته میشود. این رویکرد محافظهکارانه است: به چند عملکرد واقعی اجازه حضور در جدول را نمیدهد، اما هرگز تغییر تعداد سهام را بهعنوان بازده منتشر نمیکند. پنل بالا نام نمادهای حذفشدهای را نشان میدهد که تقسیم سهام آنها بهاندازهای بزرگ بوده است که بتواند یک حرکت قیمتی جعلی ایجاد کند.
- پذیرشهای دیرهنگام. شرکتی که پس از نخستین جلسه سال در بورس پذیرفته شده باشد، قیمت ماه ژانویه ندارد و در این جداول حضور نمییابد. این موضوع در سالی با تقویم سنگین پذیرشهای جدید، یک خلأ واقعی ایجاد میکند.
- نتیجه. 922 نماد رتبهبندی میشوند و ده نماد برتر و ده نماد ضعیفتر آنها، دو جدول این صفحه را تشکیل میدهند.
یک پرسش در سه بازه زمانی
بازدهی از ابتدای سال یکی از پلههای این نردبان است و حرکت سهم در هر بازه زمانی، تصویر متفاوتی دارد. نمای هفتگی شامل بیشترین رشدها و افتهای سهام در این هفته است، نمای ماهانه به بیشترین جابهجاییهای سهام در این ماه میپردازد و این صفحه بازه سالانه را بررسی میکند. معیار ورود در هر پله متفاوت است: این صفحه سهامی را بررسی میکند که میانگین ارزش معاملات روزانه آنها در ماه گذشته 100 میلیون دلار بوده است؛ اما صفحات هفتگی و ماهانه، ارزش کل معاملات در بازه زمانی خود را ملاک قرار میدهند. بنابراین ممکن است یک نماد از فیلتر یکی عبور کند و در دیگری قرار نگیرد. نمادی که پس از انتشار گزارش سود، در یک هفته در صدر جدول قرار میگیرد، ممکن است در بازه سالانه در میانه جدول باشد. برای روایت گستردهتر بازار از ابتدای سال تاکنون، مرور عملکرد بازار در نیمه نخست سال جزئیات شاخصها، نرخهای بهره و بخشهای مختلف بازار را ارائه میکند و نحوه عملکرد ETFهای اهرمی توضیح میدهد چرا صندوقهای اهرمی در اینجا کنار گذاشته شدهاند.
پرسشهای متداول
بهترین عملکرد سهام در سال 2026 متعلق به کدام سهم است؟
در میان نمادهایی که بهطور میانگین دستکم 100 میلیون دلار در روز معامله میشوند، سال را بالاتر از 10 دلار آغاز کردهاند، در سال 2026 مشمول تجزیه سهام نشدهاند و در فهرست صندوقهای اهرمی قرار ندارند، SNDK تا امروز بهترین عملکرد را در سال 2026 داشته و از نخستین جلسه معاملاتی سال تاکنون 536.4% رشد کرده است. MRNA با 399% در جایگاه دوم قرار دارد.
کدام سهام در سال 2026 بیشترین افت را داشتهاند؟
TTD با افت -60.5%، ضعیفترین عملکرد را در میان سهام این فهرست در سال 2026 داشته است و WING با افت -54.4% پس از آن قرار دارد. فهرست کامل بزرگترین بازندگان بازار سهام در سال 2026 در جدول دوم بالا قرار دارد و با گذشت سال بهروزرسانی میشود.
بازده سهام از ابتدای سال چگونه محاسبه میشود؟
بازده از ابتدای سال، جدیدترین قیمت را با قیمت سهام در آغاز سال تقویمی مقایسه و تغییر را بهصورت درصدی بیان میکند. در اینجا، قیمت بازگشایی نخستین جلسه عادی معاملاتی سال 2026 با قیمت پایانی آخرین جلسه تکمیلشده مقایسه میشود. سهامی که در طول سال تجزیه میشوند، کنار گذاشته میشوند و تعدیلی برای آنها انجام نمیگیرد؛ بنابراین هیچ ضریب تعدیلی میان خواننده و معاملات ثبتشده بازار قرار نمیگیرد.
آیا ETFهای اهرمی در فهرست سهام با بیشترین رشد در سال 2026 قرار دارند؟
خیر. صندوق اهرمی یا معکوس، حرکت روزانه یک شاخص یا یک سهم منفرد را چند برابر میکند؛ بنابراین معمولاً بدون وجود اخبار شرکتی، در صدر فهرست نمادهای دارای بیشترین تغییر قرار میگیرد. این صندوقها پیش از رتبهبندی، بر اساس نام حذف میشوند و فهرست آنها در SQL زیر هر جدول قابل مشاهده است. ETFهای عادی شاخصی و بخشی وضعیت متفاوتی دارند: آنها مانند هر سهم دیگری از همان حداقلهای تعیینشده عبور میکنند و در اینجا رتبهبندی میشوند. بنابراین یک صندوق میتواند در هر یک از دو جدول ظاهر شود.
هر جدول در این صفحه یک پرسوجوی ذخیرهشده است و SQL مربوط به آن نیز ضمیمه شده است. برای بررسی فهرست، هر پنل را باز کنید یا آن را با حداقلهای موردنظر خود در پایانه Strasmore بازسازی کنید.