STRASMORE/EXPLORE 2,170 QUERIES 22Y EQUITIES · 12Y OPTIONS

2,170 answered market questions

every one with its exact SQL, its result and the date it was computed · free, no signup

Due Bills and Stock Splits: Ex-Date Timing
US stock splits by year, sorted by size of the distributionranking · 2026-08-22 · 10×4Preview: 10 ranked values, smallest first. NVDA across its June 2024 split: stored close and one pre-split shareseries · 2026-08-22 · 10×5Preview: a 10-point series, ending higher. Days between pay date and ex-date, cash distributions that went ex lateranking · 2026-08-22 · 12×3Preview: 12 ranked values, largest first. Recent household-name splits: shares from one shareranking · 2026-08-22 · 15×4Preview: 15 ranked values, largest first.
When Does a Stock Split Take Effect?
Completed forward splits of 3-for-1 or larger: selected large-cap names, 2022 to 2026ranking · 2026-08-05 · 12×4Preview: 12 ranked values, largest first. US-listed splits by ratio band, 2021 to mid-2026: the 25% line in the dataranking · 2026-08-05 · 5×3Preview: 5 ranked values, largest first. NVDA around its 10-for-1 split: regular-session close and volume, June 3 to June 14, 2024series · 2026-08-05 · 10×4Preview: a 10-point series, ending higher. Effective dates by weekday: US-listed splits, 2021 to mid-2026series · 2026-08-05 · 5×3Preview: a 5-point series, ending lower.
US stock splits by year, sorted by size of the distribution

US stock splits by year, sorted by size of the distribution

most recentas of ranking 10×4read in context →
US stock splits by year, sorted by size of the distribution — 10 rows by 4 columns, computed from US exchange, SIP and OPRA data.
yearlarge_distributionssmall_forward_splitsreverse_splits
2016198219724
2017232158690
2018204319517
2019102288604
2020128230673
2021186223483
2022146218620
2023177185830
2024270182866
20252391851036
the exact SQL behind every number
SELECT
    toString(toYear(execution_date))          AS year,
    countIf(ratio >= 1.25)                    AS large_distributions,
    countIf(ratio > 1 AND ratio < 1.25)       AS small_forward_splits,
    countIf(ratio < 1)                        AS reverse_splits
FROM
(
    SELECT
        ticker,
        execution_date,
        max(toFloat64(split_to) / greatest(toFloat64(split_from), 1.0)) AS ratio
    FROM global_markets.stocks_splits
    WHERE execution_date >= '2016-01-01'
      AND execution_date <  toStartOfYear(today())
      AND ticker NOT IN ('SPCX')
    GROUP BY ticker, execution_date
)
GROUP BY year
ORDER BY year
$