{"slug":"biggest-stock-movers-this-month","qid":"gainers","label":"Biggest stock gainers this month (companies trading $1B+ over the window)","post_title":"Biggest Stock Movers This Month","post_url":"/blog/biggest-stock-movers-this-month#q-gainers","columns":["ticker","month_return_pct","month_dollar_bn"],"rows":[{"ticker":"MRNA","month_return_pct":193.9,"month_dollar_bn":29},{"ticker":"AMLX","month_return_pct":110.6,"month_dollar_bn":1.6},{"ticker":"TEAM","month_return_pct":92.4,"month_dollar_bn":13.3},{"ticker":"HTFL","month_return_pct":80.7,"month_dollar_bn":1.2},{"ticker":"RNG","month_return_pct":69.9,"month_dollar_bn":2.5},{"ticker":"U","month_return_pct":56.6,"month_dollar_bn":8.9},{"ticker":"FBRX","month_return_pct":53.5,"month_dollar_bn":3.1},{"ticker":"P","month_return_pct":53.1,"month_dollar_bn":4.8},{"ticker":"PAYC","month_return_pct":52.9,"month_dollar_bn":3.3},{"ticker":"CACI","month_return_pct":49,"month_dollar_bn":2.9}],"shape":"ranking","sql":"WITH window_days AS (\n    SELECT d\n    FROM (\n        SELECT d, max(d) OVER () AS last_full\n        FROM (\n            SELECT d\n            FROM (\n                SELECT d, bars, medianExact(bars) OVER () AS typical_bars\n                FROM (\n                    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d, count() AS bars\n                    FROM global_markets.delayed_stocks_minute_aggs\n                    WHERE window_start >= now() - INTERVAL 34 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                    GROUP BY d\n                    HAVING d < toDate(toTimeZone(now(), 'America/New_York'))\n                )\n            )\n            WHERE bars >= 0.85 * typical_bars\n        )\n    )\n    WHERE d > last_full - 30\n)\nSELECT ticker,\n       round((argMax(c, d) / argMin(o, d) - 1) * 100, 1) AS month_return_pct,\n       round(sum(dollars) / 1e9, 1) AS month_dollar_bn\nFROM (\n    SELECT ticker,\n           toDate(toTimeZone(window_start, 'America/New_York')) AS d,\n           argMin(toFloat64(open), window_start) AS o,\n           argMax(toFloat64(close), window_start) AS c,\n           sum(toFloat64(close) * toFloat64(volume)) AS dollars\n    FROM global_markets.delayed_stocks_minute_aggs\n    WHERE window_start >= now() - INTERVAL 34 DAY\n      AND toDate(toTimeZone(window_start, 'America/New_York')) IN (SELECT d FROM window_days)\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','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')\n      AND ticker IN (SELECT ticker FROM global_markets.stocks_ratios\n                     WHERE market_cap > 0)\n      AND ticker NOT IN (SELECT ticker FROM global_markets.stocks_splits\n                         WHERE execution_date BETWEEN today() - 45 AND today())\n    GROUP BY ticker, d\n)\nGROUP BY ticker\nHAVING sum(dollars) >= 1000000000 AND argMin(o, d) >= 10 AND count() >= 15\nORDER BY argMax(c, d) / argMin(o, d) DESC\nLIMIT 10","computed_at":"2026-08-25T13:01:04.348845+00:00","elapsed":18.291751362}