Days between a dividend declaration and its ex-date, by month
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-04, from h5i-db: Point-in-Time Data for Backtests.
| month | avg_days_announced_ahead | payers_count |
|---|---|---|
| 2024-10-01 | 95.1 | 2483 |
| 2024-11-01 | 82.7 | 3058 |
| 2024-12-01 | 143.9 | 5570 |
| 2025-01-01 | 28.6 | 1800 |
| 2025-02-01 | 37.6 | 2786 |
| 2025-03-01 | 56.1 | 4749 |
| 2025-04-01 | 50 | 2998 |
| 2025-05-01 | 55.4 | 3915 |
| 2025-06-01 | 85.3 | 5431 |
| 2025-07-01 | 82.9 | 2780 |
| 2025-08-01 | 75.7 | 3426 |
| 2025-09-01 | 113.6 | 4681 |
| 2025-10-01 | 103.1 | 2781 |
| 2025-11-01 | 94.4 | 3230 |
| 2025-12-01 | 143.8 | 6165 |
| 2026-01-01 | 23.6 | 1975 |
| 2026-02-01 | 33.3 | 3025 |
| 2026-03-01 | 76.2 | 6035 |
| 2026-04-01 | 53.2 | 3215 |
| 2026-05-01 | 57.9 | 4081 |
| 2026-06-01 | 84.6 | 5882 |
| 2026-07-01 | 88.2 | 3091 |
| 2026-08-01 | 87.9 | 3585 |
| 2026-09-01 | 116.6 | 6018 |
- Rows × columns
- 24 × 3
- Period covered
- to
- 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 |
|---|---|---|---|
month |
date | 2024-10-01 to 2026-09-01 | |
avg_days_announced_ahead |
number | 23.6 to 143.9 | |
payers_count |
number | 1,800 to 6,165 | count |
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
toString(toStartOfMonth(ex_dividend_date)) AS month,
round(avg(dateDiff('day', declaration_date, ex_dividend_date)), 1) AS avg_days_announced_ahead,
countDistinct(ticker) AS payers_count
FROM global_markets.stocks_dividends
WHERE ex_dividend_date >= toStartOfMonth(today() - 730)
AND ex_dividend_date < toStartOfMonth(today())
AND declaration_date >= '1990-01-01'
AND declaration_date <= ex_dividend_date
GROUP BY month
ORDER BY month
Work with this data in your AI assistant
Opens ready to query, with this page's data. Free, no account.