monthly_mix
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-19, from upcoming-reverse-stock-splits.
| month | month_label | reverse_splits | forward_splits | reverse_share_pct |
|---|---|---|---|---|
| 2025-09-01 | Sep 2025 | 95 | 55 | 63.3 |
| 2025-10-01 | Oct 2025 | 88 | 32 | 73.3 |
| 2025-11-01 | Nov 2025 | 69 | 30 | 69.7 |
| 2025-12-01 | Dec 2025 | 129 | 47 | 72.9 |
| 2026-01-01 | Jan 2026 | 69 | 21 | 76.7 |
| 2026-02-01 | Feb 2026 | 89 | 24 | 78.8 |
| 2026-03-01 | Mar 2026 | 135 | 56 | 70.7 |
| 2026-04-01 | Apr 2026 | 97 | 32 | 75.2 |
| 2026-05-01 | May 2026 | 102 | 40 | 71.8 |
| 2026-06-01 | Jun 2026 | 105 | 58 | 64.4 |
| 2026-07-01 | Jul 2026 | 119 | 45 | 72.6 |
| 2026-08-01 | Aug 2026 | 104 | 20 | 83.9 |
- Rows × columns
- 12 × 5
- 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 | 2025-09-01 to 2026-08-01 | |
month_label |
text | 12 distinct values (Apr 2026, Aug 2026, Dec 2025…) | |
reverse_splits |
number | 69 to 135 | |
forward_splits |
number | 20 to 58 | |
reverse_share_pct |
number | 63.3 to 83.9 | percent |
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(month_start) AS month,
formatDateTime(month_start, '%b %Y') AS month_label,
countIf(from_shares > to_shares) AS reverse_splits,
countIf(to_shares > from_shares) AS forward_splits,
round(100.0 * countIf(from_shares > to_shares) / count(), 1) AS reverse_share_pct
FROM
(
SELECT
toStartOfMonth(execution_date) AS month_start,
ticker,
execution_date,
max(toFloat64(split_from)) AS from_shares,
max(toFloat64(split_to)) AS to_shares
FROM global_markets.stocks_splits
WHERE execution_date >= addMonths(toStartOfMonth(today()), -12)
AND execution_date < toStartOfMonth(today())
AND split_from != split_to
AND ticker NOT IN ('SPCX')
GROUP BY month_start, ticker, execution_date
)
GROUP BY month_start
ORDER BY month_start
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 analysisupcoming-reverse-stock-splits
upcoming_reverse
table 19×6
→
yearly_mix
ranking 8×4
→
price_mix
table 3×5
→
spread_monthly
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,401 queries →