calendar
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.
| day_label | ticker | direction | ratio | worked_example |
|---|---|---|---|---|
| Dec 17, 2026 | DPU | reverse split | 1-for-50 | 100 shares becomes 2 |
| Nov 5, 2026 | SOXX | forward split | 3-for-1 | 100 shares becomes 300 |
| Oct 23, 2026 | CTAMF | reverse split | 1-for-40 | 100 shares becomes 2.5 |
| Oct 12, 2026 | IDTID | forward split | 192-for-100 | 100 shares becomes 192 |
| Oct 9, 2026 | DWAHY | forward split | 2-for-1 | 100 shares becomes 200 |
| Oct 9, 2026 | DXJ | forward split | 3-for-1 | 100 shares becomes 300 |
| Oct 9, 2026 | IMHDY | forward split | 2-for-1 | 100 shares becomes 200 |
| Oct 9, 2026 | KXIAY | forward split | 3-for-1 | 100 shares becomes 300 |
| Oct 7, 2026 | TKOMY | forward split | 15-for-1 | 100 shares becomes 1500 |
| Oct 7, 2026 | TOPPY | forward split | 2-for-1 | 100 shares becomes 200 |
| Oct 6, 2026 | ETHA | reverse split | 1-for-3 | 100 shares becomes 33.33 |
| Oct 6, 2026 | RUBI | reverse split | 1-for-1 | 100 shares becomes 150 |
| Oct 5, 2026 | TGOSY | forward split | 5-for-1 | 100 shares becomes 500 |
| Oct 2, 2026 | MMSMY | forward split | 2-for-1 | 100 shares becomes 200 |
| Oct 2, 2026 | NGKSY | forward split | 3-for-1 | 100 shares becomes 300 |
| Oct 2, 2026 | NIPMY | forward split | 1-for-1 | 100 shares becomes 150 |
| Oct 2, 2026 | NPNGY | forward split | 1-for-1 | 100 shares becomes 150 |
| Sep 30, 2026 | CETXP | reverse split | 1-for-1 | 100 shares becomes 105 |
| Sep 30, 2026 | DHY | reverse split | 1-for-10 | 100 shares becomes 10 |
| Sep 30, 2026 | IBIDY | forward split | 2-for-1 | 100 shares becomes 200 |
| Sep 30, 2026 | ZCSH | forward split | 3-for-1 | 100 shares becomes 300 |
| Sep 29, 2026 | AKAFF | forward split | 3-for-1 | 100 shares becomes 300 |
| Sep 29, 2026 | AKBKF | forward split | 5-for-1 | 100 shares becomes 500 |
| Sep 29, 2026 | AWBKF | forward split | 5-for-1 | 100 shares becomes 500 |
- Rows × columns
- 24 × 5
- 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 |
|---|---|---|---|
day_label |
text | 11 distinct values (Dec 17, 2026, Nov 5, 2026, Oct 12, 2026…) | |
ticker |
text | 24 distinct values (AKAFF, AKBKF, AWBKF…) | |
direction |
text | 2 distinct values (forward split, reverse split) | |
ratio |
text | 10 distinct values (1-for-1, 1-for-10, 1-for-3…) | |
worked_example |
text | 11 distinct values |
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
formatDateTime(execution_date, '%b %e, %Y') AS day_label,
ticker,
any(if(adjustment_type = 'forward_split', 'forward split', 'reverse split')) AS direction,
concat(toString(toInt32(any(split_to))), '-for-',
toString(toInt32(any(split_from)))) AS ratio,
concat('100 shares becomes ',
toString(round(100 * toFloat64(any(split_to)) / toFloat64(any(split_from)), 2))) AS worked_example
FROM global_markets.stocks_splits
WHERE execution_date >= today() - 21
AND split_from > 0
AND split_to > 0
AND ticker NOT IN ('SPCX')
GROUP BY execution_date, ticker
ORDER BY execution_date DESC, ticker
LIMIT 24
Work with this data in your AI assistant
Opens ready to query, with this page's data. Free, no account.