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.
| month | month_label | forward_splits | reverse_splits |
|---|---|---|---|
| 2023-09-01 | Sep 2023 | 20 | 99 |
| 2023-10-01 | Oct 2023 | 8 | 93 |
| 2023-11-01 | Nov 2023 | 4 | 76 |
| 2023-12-01 | Dec 2023 | 19 | 87 |
| 2024-01-01 | Jan 2024 | 8 | 75 |
| 2024-02-01 | Feb 2024 | 9 | 75 |
| 2024-03-01 | Mar 2024 | 44 | 80 |
| 2024-04-01 | Apr 2024 | 30 | 95 |
| 2024-05-01 | May 2024 | 9 | 100 |
| 2024-06-01 | Jun 2024 | 20 | 86 |
| 2024-07-01 | Jul 2024 | 9 | 84 |
| 2024-08-01 | Aug 2024 | 11 | 93 |
| 2024-09-01 | Sep 2024 | 38 | 81 |
| 2024-10-01 | Oct 2024 | 42 | 91 |
| 2024-11-01 | Nov 2024 | 12 | 132 |
| 2024-12-01 | Dec 2024 | 24 | 70 |
| 2025-01-01 | Jan 2025 | 7 | 89 |
| 2025-02-01 | Feb 2025 | 18 | 110 |
| 2025-03-01 | Mar 2025 | 25 | 92 |
| 2025-04-01 | Apr 2025 | 16 | 94 |
| 2025-05-01 | May 2025 | 14 | 108 |
| 2025-06-01 | Jun 2025 | 22 | 113 |
| 2025-07-01 | Jul 2025 | 10 | 81 |
| 2025-08-01 | Aug 2025 | 14 | 101 |
| 2025-09-01 | Sep 2025 | 44 | 106 |
| 2025-10-01 | Oct 2025 | 24 | 96 |
| 2025-11-01 | Nov 2025 | 13 | 86 |
| 2025-12-01 | Dec 2025 | 32 | 145 |
| 2026-01-01 | Jan 2026 | 11 | 79 |
| 2026-02-01 | Feb 2026 | 15 | 98 |
| 2026-03-01 | Mar 2026 | 43 | 148 |
| 2026-04-01 | Apr 2026 | 21 | 108 |
| 2026-05-01 | May 2026 | 17 | 125 |
| 2026-06-01 | Jun 2026 | 39 | 124 |
| 2026-07-01 | Jul 2026 | 33 | 131 |
| 2026-08-01 | Aug 2026 | 7 | 117 |
- 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
What each column holds
| Column | Type | Range | Notes |
|---|---|---|---|
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
Work with this data in your AI assistant
Opens ready to query, with this page's data. Free, no account.