STRASMORE/EXPLORE 2,170 QUERIES

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

Answered against 22 years of US equities and 12 years of US options data and published with the query that produced it. This result is stored as of 2026-08-22, from Due Bills and Stock Splits: Ex-Date Timing.

as 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
Rows × columns
10 × 4
Computed
Completeness
No missing values
Source
US exchange, SIP and OPRA market data
Licence
Strasmore terms · free, no signup
Formats
JSON · CSV · the SQL below

What each column holds

Column definitions for US stock splits by year, sorted by size of the distribution, derived from the stored result.
ColumnTypeRangeNotes
year text 10 distinct values (2016, 2017, 2018…)
large_distributions number 102 to 270
small_forward_splits number 158 to 319
reverse_splits number 483 to 1,036

Computed from Strasmore's warehouse of US exchange, SIP and OPRA market data. Equity prices are delayed; options greeks and implied volatility are end-of-day. This result is stored, not recomputed on load — it is exactly the numbers that were returned on , and the query below is what returned them.

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

Run your own version of this

The same 22 years of US equities and 12 years of options data are queryable in SQL or plain English. A free account runs 100 queries a day and takes no card.

More from this analysisDue Bills and Stock Splits: Ex-Date Timing
Recent household-name splits: shares from one share ranking 15×4 Days between pay date and ex-date, cash distributions that went ex late ranking 12×3 NVDA across its June 2024 split: stored close and one pre-split share series 10×5 The T+1 cutover, week by week: share of dividends with ex-date = record date, April–July 2024 ranking 18×3 Time value left in deep in-the-money SPY calls, against the dividend at stake ranking 16×4 Ex-date vs. record date by year: share identical, and the median gap in calendar days ranking 12×4 See all 2,170 queries →