{"slug":"biggest-stock-movers-2026","qid":"gainers","label":"Biggest stock gainers of 2026: top ten year to date among heavily traded names","post_title":"Biggest Stock Gainers & Losers of 2026","post_url":"/blog/biggest-stock-movers-2026#q-gainers","columns":["ticker","ytd_return_pct","avg_daily_dollar_m"],"rows":[{"ticker":"SNDK","ytd_return_pct":542.1,"avg_daily_dollar_m":19922},{"ticker":"MRNA","ytd_return_pct":486.5,"avg_daily_dollar_m":2422},{"ticker":"AEHR","ytd_return_pct":413.3,"avg_daily_dollar_m":280},{"ticker":"TWST","ytd_return_pct":348.5,"avg_daily_dollar_m":179},{"ticker":"AXTI","ytd_return_pct":327.4,"avg_daily_dollar_m":898},{"ticker":"TXG","ytd_return_pct":281.5,"avg_daily_dollar_m":159},{"ticker":"MXL","ytd_return_pct":272.5,"avg_daily_dollar_m":152},{"ticker":"DELL","ytd_return_pct":240.7,"avg_daily_dollar_m":2342},{"ticker":"AAOI","ytd_return_pct":236.4,"avg_daily_dollar_m":1732},{"ticker":"AMLX","ytd_return_pct":221.7,"avg_daily_dollar_m":107}],"shape":"ranking","sql":"WITH complete AS (\n    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d\n    FROM global_markets.delayed_stocks_minute_aggs\n    WHERE ticker = 'SPY'\n      AND window_start >= toDateTime('2026-01-01 00:00:00')\n      AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) >= 570\n      AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) < 960\n    GROUP BY d\n    HAVING count() >= 380\n),\nuniverse AS (\n    SELECT ticker,\n           sum(toFloat64(close) * toFloat64(volume)) / uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) AS adv\n    FROM global_markets.delayed_stocks_minute_aggs\n    WHERE window_start >= now() - INTERVAL 21 DAY\n      AND toDate(toTimeZone(window_start, 'America/New_York')) >= today() - 20\n      AND toDate(toTimeZone(window_start, 'America/New_York')) IN (SELECT d FROM complete)\n      AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) >= 570\n      AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) < 960\n    GROUP BY ticker\n    HAVING adv >= 100000000\n),\nedges AS (\n    SELECT ticker,\n        argMinIf(toFloat64(open), toTimeZone(window_start, 'America/New_York'), toDate(toTimeZone(window_start, 'America/New_York')) = (SELECT min(d) FROM complete)) AS year_open,\n        argMaxIf(toFloat64(close), toTimeZone(window_start, 'America/New_York'), toDate(toTimeZone(window_start, 'America/New_York')) = (SELECT max(d) FROM complete)) AS latest_close,\n        countIf(toDate(toTimeZone(window_start, 'America/New_York')) = (SELECT min(d) FROM complete)) AS bars_open,\n        countIf(toDate(toTimeZone(window_start, 'America/New_York')) = (SELECT max(d) FROM complete)) AS bars_close\n    FROM global_markets.delayed_stocks_minute_aggs\n    WHERE ((window_start >= toDateTime('2026-01-01 00:00:00') AND window_start < toDateTime('2026-01-10 00:00:00'))\n        OR (window_start >= now() - INTERVAL 8 DAY))\n      AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) >= 570\n      AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) < 960\n      AND ticker NOT IN ('SPCX')\n      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')\n      AND ticker NOT IN (SELECT ticker FROM global_markets.stocks_splits\n                         WHERE execution_date BETWEEN toDate('2026-01-01') AND today())\n    GROUP BY ticker\n    HAVING bars_open >= 100 AND bars_close >= 100\n)\nSELECT e.ticker AS ticker,\n    round((e.latest_close / e.year_open - 1) * 100, 1) AS ytd_return_pct,\n    round(u.adv / 1e6, 0) AS avg_daily_dollar_m\nFROM edges AS e\nINNER JOIN universe AS u ON e.ticker = u.ticker\nWHERE e.year_open >= 10\nORDER BY (e.latest_close / e.year_open) DESC\nLIMIT 10","computed_at":"2026-08-25T13:02:20.126486+00:00","elapsed":11.546763644}