STRASMORE/EXPLORE 3,293 QUERIES

Ex-date to pay-date lag for household payers, December 2025 into January 2026

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-10-16, from Tax-Loss Harvesting Deadlines: The Real Dates.

as of ranking 10×4read in context →
Ex-date to pay-date lag for household payers, December 2025 into January 2026 — 10 rows by 4 columns, computed from US exchange, SIP and OPRA data.
tickerex_date_labelpay_date_labeldays_ex_to_pay
SPYDec 19, 2025Jan 30, 202642
PEPDec 5, 2025Jan 6, 202632
XOMNov 14, 2025Dec 10, 202526
MSFTNov 20, 2025Dec 11, 202521
HDDec 4, 2025Dec 18, 202514
JNJNov 25, 2025Dec 9, 202514
KODec 1, 2025Dec 15, 202514
MCDDec 1, 2025Dec 15, 202514
IVVDec 16, 2025Dec 19, 20253
VOODec 22, 2025Dec 24, 20252
Rows × columns
10 × 4
Computed
Completeness
No missing values
Source
US exchange, SIP and OPRA market data
Licence
Strasmore terms · free, no signup
Formats
JSON · CSV · the SQL below

What each column holds

Column definitions for Ex-date to pay-date lag for household payers, December 2025 into January 2026, derived from the stored result.
ColumnTypeRangeNotes
ticker text 10 distinct values (HD, IVV, JNJ…)
ex_date_label text 9 distinct values (Dec 1, 2025, Dec 16, 2025, Dec 19, 2025…)
pay_date_label text 9 distinct values (Dec 10, 2025, Dec 11, 2025, Dec 15, 2025…)
days_ex_to_pay number 2 to 42

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
    ticker,
    formatDateTime(ex_dividend_date, '%b %e, %Y')  AS ex_date_label,
    formatDateTime(pay_date, '%b %e, %Y')          AS pay_date_label,
    dateDiff('day', ex_dividend_date, pay_date)    AS days_ex_to_pay
FROM global_markets.stocks_dividends
WHERE ticker IN ('SPY', 'IVV', 'VOO', 'KO', 'JNJ', 'PG', 'MSFT', 'XOM', 'VZ', 'MCD', 'PEP', 'HD')
  AND pay_date >= '2025-12-01'
  AND pay_date <= '2026-01-31'
GROUP BY ticker, ex_dividend_date, pay_date
ORDER BY days_ex_to_pay DESC, ticker
⌘/Ctrl + Enter

Work with this data in your AI assistant

Opens ready to query, with this page's data. Free, no account.

More from this analysisTax-Loss Harvesting Deadlines: The Real Dates
Daily open-to-close gap versus SPY, in basis points, July to December 2025 ranking 4×3 → Regular-session minutes in the last two weeks of December 2025 (SPY) series 12×5 → The 61 day wash sale window around each late-December 2025 session series 7×6 → Average call and put delta by strike distance, AAPL, 20 to 45 days to expiry, June 2026 ranking 5×4 → One full 61 day wash sale window on the tape: AAPL, Dec 1 2025 through Jan 30 2026 series 42×3 → How many trading sessions fit inside a 61 day wash sale window series 30×4 → See all 3,293 queries →