How Stock Settlement Works Under T+1
Trade date to settlement date across real sessions, November 2025series ·
2026-08-22 · 11×5
Ex-dividend date to payment date, latest 2026 dividend for nine household payersseries ·
2026-08-22 · 9×4
Microsoft dividend dates, from the T+2 era into T+1series ·
2026-08-22 · 13×6
Gap between ex-dividend date and record date, by yearranking ·
2026-08-22 · 12×3
Trade date to settlement date across real sessions, November 2025
Trade date to settlement date across real sessions, November 2025
| trade_date | trade_day_label | settlement_date | settlement_day_label | calendar_days_to_settle |
|---|---|---|---|---|
| 2025-11-20 | Thu Nov 20 | 2025-11-21 | Fri Nov 21 | 1 |
| 2025-11-21 | Fri Nov 21 | 2025-11-24 | Mon Nov 24 | 3 |
| 2025-11-24 | Mon Nov 24 | 2025-11-25 | Tue Nov 25 | 1 |
| 2025-11-25 | Tue Nov 25 | 2025-11-26 | Wed Nov 26 | 1 |
| 2025-11-26 | Wed Nov 26 | 2025-11-28 | Fri Nov 28 | 2 |
| 2025-11-28 | Fri Nov 28 | 2025-12-01 | Mon Dec 1 | 3 |
| 2025-12-01 | Mon Dec 1 | 2025-12-02 | Tue Dec 2 | 1 |
| 2025-12-02 | Tue Dec 2 | 2025-12-03 | Wed Dec 3 | 1 |
| 2025-12-03 | Wed Dec 3 | 2025-12-04 | Thu Dec 4 | 1 |
| 2025-12-04 | Thu Dec 4 | 2025-12-05 | Fri Dec 5 | 1 |
| 2025-12-05 | Fri Dec 5 | 2025-12-08 | Mon Dec 8 | 3 |
the exact SQL behind every number
WITH sessions AS
(
SELECT DISTINCT toDate(toTimeZone(window_start, 'America/New_York')) AS session_date
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= '2025-11-19 00:00:00'
AND window_start < '2025-12-10 00:00:00'
AND toDate(toTimeZone(window_start, 'America/New_York')) BETWEEN '2025-11-20' AND '2025-12-09'
)
SELECT
toString(td) AS trade_date,
formatDateTime(td, '%a %b %e') AS trade_day_label,
toString(next_td) AS settlement_date,
formatDateTime(next_td, '%a %b %e') AS settlement_day_label,
dateDiff('day', td, next_td) AS calendar_days_to_settle
FROM
(
SELECT
session_date AS td,
leadInFrame(session_date) OVER (ORDER BY session_date ASC
ROWS BETWEEN CURRENT ROW AND 1 FOLLOWING) AS next_td
FROM sessions
)
WHERE next_td > td
AND td <= '2025-12-05'
ORDER BY td
More from this analysisHow Stock Settlement Works Under T+1
Microsoft dividend dates, from the T+2 era into T+1
series 13×6
→
Ex-dividend date to payment date, latest 2026 dividend for nine household payers
series 9×4
→
Gap between ex-dividend date and record date, by year
ranking 12×3
→
Regular dividends: ex-date before the record date, or on it
series 43×5
→
See all 2,170 queries →