STRASMORE/EXPLORE 2,500 QUERIES

splits_per_month

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-09-23, from stock-splits-calendar-from-the-free-sql-api.

as of series 36×4read in context →
splits_per_month — 36 rows by 4 columns, computed from US exchange, SIP and OPRA data.
monthmonth_labelforward_splitsreverse_splits
2023-09-01Sep 20232099
2023-10-01Oct 2023893
2023-11-01Nov 2023476
2023-12-01Dec 20231987
2024-01-01Jan 2024875
2024-02-01Feb 2024975
2024-03-01Mar 20244480
2024-04-01Apr 20243095
2024-05-01May 20249100
2024-06-01Jun 20242086
2024-07-01Jul 2024984
2024-08-01Aug 20241193
2024-09-01Sep 20243881
2024-10-01Oct 20244291
2024-11-01Nov 202412132
2024-12-01Dec 20242470
2025-01-01Jan 2025789
2025-02-01Feb 202518110
2025-03-01Mar 20252592
2025-04-01Apr 20251694
2025-05-01May 202514108
2025-06-01Jun 202522113
2025-07-01Jul 20251081
2025-08-01Aug 202514101
2025-09-01Sep 202544106
2025-10-01Oct 20252496
2025-11-01Nov 20251386
2025-12-01Dec 202532145
2026-01-01Jan 20261179
2026-02-01Feb 20261598
2026-03-01Mar 202643148
2026-04-01Apr 202621108
2026-05-01May 202617125
2026-06-01Jun 202639124
2026-07-01Jul 202633131
2026-08-01Aug 20267117
Rows × columns
36 × 4
Period covered
to
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 splits_per_month, derived from the stored result.
ColumnTypeRangeNotes
month date 2023-09-01 to 2026-08-01
month_label text 36 distinct values (Apr 2024, Apr 2025, Apr 2026…)
forward_splits number 4 to 44
reverse_splits number 70 to 148

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.

Run it yourself

This is the exact query behind the result above. Change a ticker, a date or a column and run it against the warehouse — no account, no key. The no-signup tier is smaller than the one this page was computed on; a query that reaches past it comes back saying which plan runs it.

SELECT
    toString(toStartOfMonth(execution_date))               AS month,
    formatDateTime(toStartOfMonth(execution_date), '%b %Y') AS month_label,
    countIf(direction = 'forward')                         AS forward_splits,
    countIf(direction = 'reverse')                         AS reverse_splits
FROM
(
    SELECT
        execution_date,
        ticker,
        any(if(adjustment_type = 'forward_split', 'forward', 'reverse')) AS direction
    FROM global_markets.stocks_splits
    WHERE execution_date >= addMonths(toStartOfMonth(today()), -36)
      AND execution_date <  toStartOfMonth(today())
      AND split_from > 0
      AND split_to > 0
    GROUP BY execution_date, ticker
)
GROUP BY month, month_label
ORDER BY month
⌘/Ctrl + Enter

Work with this data in your AI assistant

Opens ready to query, with this page's data. Free, no account.

More from this analysisstock-splits-calendar-from-the-free-sql-api
calendar table 24×5 ratio_mix ranking 12×2 column_semantics ranking 2×4 The 2s10s spread by month, full history series 604×5 One SPY $600 LEAPS call's price over two years (expired Jan 16 2026) series 470×2 3m10y and 2s10s spreads, monthly averages over twenty years series 241×4 See all 2,500 queries →