STRASMORE/EXPLORE 2,170 QUERIES 22Y EQUITIES · 12Y OPTIONS

2,170 answered market questions

every one with its exact SQL, its result and the date it was computed · free, no signup

How Stock Settlement Works Under T+1
Trade date to settlement date across real sessions, November 2025series · 2026-08-22 · 11×5Preview: a 11-point series, ending higher. Ex-dividend date to payment date, latest 2026 dividend for nine household payersseries · 2026-08-22 · 9×4Preview: a 9-point series, ending higher. Microsoft dividend dates, from the T+2 era into T+1series · 2026-08-22 · 13×6Preview: a 13-point series, ending lower. Gap between ex-dividend date and record date, by yearranking · 2026-08-22 · 12×3Preview: 12 ranked values, largest first.
Trade date to settlement date across real sessions, November 2025

Trade date to settlement date across real sessions, November 2025

most recentas of series 11×5read in context →
Trade date to settlement date across real sessions, November 2025 — 11 rows by 5 columns, computed from US exchange, SIP and OPRA data.
trade_datetrade_day_labelsettlement_datesettlement_day_labelcalendar_days_to_settle
2025-11-20Thu Nov 202025-11-21Fri Nov 211
2025-11-21Fri Nov 212025-11-24Mon Nov 243
2025-11-24Mon Nov 242025-11-25Tue Nov 251
2025-11-25Tue Nov 252025-11-26Wed Nov 261
2025-11-26Wed Nov 262025-11-28Fri Nov 282
2025-11-28Fri Nov 282025-12-01Mon Dec 13
2025-12-01Mon Dec 12025-12-02Tue Dec 21
2025-12-02Tue Dec 22025-12-03Wed Dec 31
2025-12-03Wed Dec 32025-12-04Thu Dec 41
2025-12-04Thu Dec 42025-12-05Fri Dec 51
2025-12-05Fri Dec 52025-12-08Mon Dec 83
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
$