{"slug":"stock-split-candidates","qid":"candidates","label":"candidates","post_title":"stock-split-candidates","post_url":"/blog/stock-split-candidates#q-candidates","columns":["ticker","share_price","price_before_last_split","market_value","forward_splits_on_record","last_forward_split","last_split_ratio","as_of"],"rows":[{"ticker":"AZO","share_price":2853.1,"price_before_last_split":0,"market_value":"$46B","forward_splits_on_record":"0","last_forward_split":"none","last_split_ratio":"none","as_of":"September 18, 2026"},{"ticker":"FCNCA","share_price":2120.74,"price_before_last_split":0,"market_value":"$24B","forward_splits_on_record":"0","last_forward_split":"none","last_split_ratio":"none","as_of":"September 18, 2026"},{"ticker":"MELI","share_price":1824.4,"price_before_last_split":0,"market_value":"$93B","forward_splits_on_record":"0","last_forward_split":"none","last_split_ratio":"none","as_of":"September 18, 2026"},{"ticker":"MKL","share_price":1784.36,"price_before_last_split":0,"market_value":"$22B","forward_splits_on_record":"0","last_forward_split":"none","last_split_ratio":"none","as_of":"September 18, 2026"},{"ticker":"SNDK","share_price":1620.28,"price_before_last_split":0,"market_value":"$236B","forward_splits_on_record":"0","last_forward_split":"none","last_split_ratio":"none","as_of":"September 18, 2026"},{"ticker":"FIX","share_price":1585,"price_before_last_split":0,"market_value":"$55B","forward_splits_on_record":"0","last_forward_split":"none","last_split_ratio":"none","as_of":"September 18, 2026"},{"ticker":"MTD","share_price":1410.44,"price_before_last_split":0,"market_value":"$28B","forward_splits_on_record":"0","last_forward_split":"none","last_split_ratio":"none","as_of":"September 18, 2026"},{"ticker":"GWW","share_price":1262.46,"price_before_last_split":0,"market_value":"$59B","forward_splits_on_record":"0","last_forward_split":"none","last_split_ratio":"none","as_of":"September 18, 2026"},{"ticker":"MPWR","share_price":1175.88,"price_before_last_split":0,"market_value":"$57B","forward_splits_on_record":"0","last_forward_split":"none","last_split_ratio":"none","as_of":"September 18, 2026"},{"ticker":"LLY","share_price":1151.5,"price_before_last_split":0,"market_value":"$1027B","forward_splits_on_record":"0","last_forward_split":"none","last_split_ratio":"none","as_of":"September 18, 2026"},{"ticker":"TDG","share_price":1077.73,"price_before_last_split":0,"market_value":"$59B","forward_splits_on_record":"0","last_forward_split":"none","last_split_ratio":"none","as_of":"September 18, 2026"},{"ticker":"BLK","share_price":1052.02,"price_before_last_split":0,"market_value":"$163B","forward_splits_on_record":"0","last_forward_split":"none","last_split_ratio":"none","as_of":"September 18, 2026"},{"ticker":"EQIX","share_price":1028.31,"price_before_last_split":0,"market_value":"$101B","forward_splits_on_record":"0","last_forward_split":"none","last_split_ratio":"none","as_of":"September 18, 2026"},{"ticker":"URI","share_price":1001.48,"price_before_last_split":0,"market_value":"$62B","forward_splits_on_record":"0","last_forward_split":"none","last_split_ratio":"none","as_of":"September 18, 2026"},{"ticker":"MU","share_price":984.12,"price_before_last_split":0,"market_value":"$1104B","forward_splits_on_record":"3","last_forward_split":"2000-05-02","last_split_ratio":"2-for-1","as_of":"September 18, 2026"}],"shape":"table","sql":"WITH\nlatest_px AS\n(\n    SELECT\n        ticker,\n        argMax(close, date) AS last_close,\n        max(date)           AS px_date\n    FROM global_markets.stocks_daily_aggs\n    WHERE date >= today() - 10\n      AND ticker NOT IN ('SPCX')\n    GROUP BY ticker\n    HAVING last_close >= 500\n       AND last_close <  50000\n),\nbig_caps AS\n(\n    SELECT\n        ticker,\n        argMax(market_cap, date) AS market_cap\n    FROM global_markets.stocks_ratios\n    WHERE date >= today() - 45\n    GROUP BY ticker\n    HAVING toFloat64(market_cap) >= 20e9\n),\nannounced AS\n(\n    SELECT DISTINCT ticker\n    FROM global_markets.stocks_splits\n    WHERE execution_date > today()\n),\ncand AS\n(\n    SELECT\n        p.ticker     AS ticker,\n        p.last_close AS last_close,\n        p.px_date    AS px_date,\n        m.market_cap AS market_cap\n    FROM latest_px AS p\n    INNER JOIN big_caps AS m ON m.ticker = p.ticker\n    WHERE p.ticker NOT IN (SELECT ticker FROM announced)\n),\nlast_split AS\n(\n    SELECT\n        ticker,\n        max(execution_date)                                                                                   AS last_split_date,\n        argMax(concat(toString(toFloat64(split_to)), '-for-', toString(toFloat64(split_from))), execution_date) AS last_split_ratio,\n        uniqExact(execution_date)                                                                             AS forward_splits\n    FROM global_markets.stocks_splits\n    WHERE split_to > split_from\n      AND execution_date <= today()\n      AND ticker IN (SELECT ticker FROM cand)\n    GROUP BY ticker\n),\npre_split AS\n(\n    SELECT\n        d.ticker                AS ticker,\n        argMax(d.close, d.date) AS pre_split_close\n    FROM\n    (\n        SELECT ticker, date, close\n        FROM global_markets.stocks_daily_aggs\n        WHERE ticker IN (SELECT ticker FROM last_split)\n    ) AS d\n    INNER JOIN last_split AS s ON s.ticker = d.ticker\n    WHERE d.date <  s.last_split_date\n      AND d.date >= s.last_split_date - 7\n    GROUP BY d.ticker\n),\nto_raw AS\n(\n    SELECT\n        x.ticker                                                                    AS ticker,\n        arrayProduct(groupArray(toFloat64(x.to_shares) / toFloat64(x.from_shares))) AS factor\n    FROM\n    (\n        SELECT\n            ticker,\n            execution_date,\n            any(split_from) AS from_shares,\n            any(split_to)   AS to_shares\n        FROM global_markets.stocks_splits\n        WHERE execution_date <= today()\n          AND ticker IN (SELECT ticker FROM last_split)\n        GROUP BY ticker, execution_date\n    ) AS x\n    INNER JOIN last_split AS ls ON ls.ticker = x.ticker\n    WHERE x.execution_date >= ls.last_split_date\n    GROUP BY x.ticker\n)\nSELECT\n    c.ticker                                                                          AS ticker,\n    round(toFloat64(c.last_close), 2)                                                 AS share_price,\n    if(ps.pre_split_close > 0, round(toFloat64(ps.pre_split_close) * f.factor, 2), 0) AS price_before_last_split,\n    concat('$', toString(toUInt64(round(toFloat64(c.market_cap) / 1e9))), 'B')        AS market_value,\n    toString(ifNull(s.forward_splits, 0))                                             AS forward_splits_on_record,\n    if(s.last_split_date > toDate('1971-01-01'), toString(s.last_split_date), 'none') AS last_forward_split,\n    if(s.last_split_ratio != '', s.last_split_ratio, 'none')                          AS last_split_ratio,\n    concat(monthName(c.px_date), ' ', toString(toDayOfMonth(c.px_date)), ', ', toString(toYear(c.px_date))) AS as_of\nFROM cand AS c\nLEFT JOIN last_split AS s  ON s.ticker = c.ticker\nLEFT JOIN pre_split  AS ps ON ps.ticker = c.ticker\nLEFT JOIN to_raw     AS f  ON f.ticker = c.ticker\nORDER BY c.last_close DESC\nLIMIT 15","computed_at":"2026-09-18T15:36:10.291111+00:00","elapsed":3.064158182}