What happened next: median move after a reverse split vs. SPY, splits executed 4-9 months ago
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 What Is a Reverse Stock Split? Good or Bad?.
| horizon | splits_measured | median_stock_pct | median_stock_pct_abs | median_spy_pct | median_gap_pct | pct_below_split_day |
|---|---|---|---|---|---|---|
| 1 week after (5 sessions) | 319 | -6.9 | 6.9 | 0.2 | -7.1 | 64.3 |
| 1 month after (21 sessions) | 315 | -10 | 10 | 0.7 | -10.6 | 66 |
| 3 months after (63 sessions) | 307 | -22.6 | 22.6 | 6.8 | -29.4 | 69.4 |
- Rows × columns
- 3 × 7
- 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 |
|---|---|---|---|
horizon |
text | 3 distinct values | |
splits_measured |
number | 307 to 319 | |
median_stock_pct |
number | -22.6 to -6.9 | percent |
median_stock_pct_abs |
number | 6.9 to 22.6 | percent |
median_spy_pct |
number | 0.2 to 6.8 | percent |
median_gap_pct |
number | -29.4 to -7.1 | percent |
pct_below_split_day |
number | 64.3 to 69.4 | 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
WITH cohort AS (
SELECT ticker, min(execution_date) AS ex
FROM global_markets.stocks_splits
WHERE adjustment_type = 'reverse_split'
AND execution_date >= today() - INTERVAL 270 DAY
AND execution_date <= today() - INTERVAL 120 DAY
AND ticker != 'SPCX'
GROUP BY ticker
),
bars AS (
SELECT ticker,
toDate(toTimeZone(window_start, 'America/New_York')) AS d,
toFloat64(argMax(close, window_start)) AS px
FROM global_markets.delayed_stocks_minute_aggs
WHERE (ticker IN (SELECT ticker FROM cohort) OR ticker = 'SPY')
AND window_start >= today() - INTERVAL 275 DAY
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY ticker, d
),
series AS (
SELECT ticker,
arrayMap(x -> x.1, arraySort(x -> x.1, groupArray((d, px)))) AS days,
arrayMap(x -> x.2, arraySort(x -> x.1, groupArray((d, px)))) AS prices
FROM bars
GROUP BY ticker
),
spy AS (
SELECT days AS spy_days, prices AS spy_prices
FROM series
WHERE ticker = 'SPY'
),
horizons AS (SELECT arrayJoin([5, 21, 63]) AS h),
fwd AS (
SELECT c.ticker AS ticker,
h.h AS h,
indexOf(s.days, c.ex) AS i0,
indexOf(spy.spy_days, c.ex) AS j0,
(s.prices[i0 + h.h] / s.prices[i0] - 1) * 100 AS ret,
(spy.spy_prices[j0 + h.h] / spy.spy_prices[j0] - 1) * 100 AS spy_ret
FROM cohort AS c
INNER JOIN series AS s ON s.ticker = c.ticker
CROSS JOIN horizons AS h
CROSS JOIN spy AS spy
WHERE i0 > 0
AND j0 > 0
AND length(s.prices) >= i0 + h.h
AND s.prices[i0] > 0
)
SELECT multiIf(h = 5, '1 week after (5 sessions)',
h = 21, '1 month after (21 sessions)',
'3 months after (63 sessions)') AS horizon,
count() AS splits_measured,
round(quantileDeterministic(0.5)(ret, cityHash64(ticker)), 1) AS median_stock_pct,
round(abs(quantileDeterministic(0.5)(ret, cityHash64(ticker))), 1) AS median_stock_pct_abs,
round(quantileDeterministic(0.5)(spy_ret, cityHash64(ticker)), 1) AS median_spy_pct,
round(quantileDeterministic(0.5)(ret, cityHash64(ticker))
- quantileDeterministic(0.5)(spy_ret, cityHash64(ticker)), 1) AS median_gap_pct,
round(100.0 * countIf(ret < 0) / count(), 1) AS pct_below_split_day
FROM fwd
GROUP BY h
ORDER BY h
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 analysisWhat Is a Reverse Stock Split? Good or Bad?
ASST: daily closes around its 1-for-20 reverse split (execution date 2026-02-06)
series 69×3
→
The most recent US reverse stock splits on record
series 12×4
→
ASST's reverse split history on record
series 2×6
→
2026's most common reverse split ratios
ranking 10×2
→
Reverse vs. forward splits by year, 2019 to today
ranking 8×4
→
Where reverse-split companies stood a year later (splits executed 12-18 months ago)
ranking 3×3
→
See all 2,170 queries →