STRASMORE/EXPLORE 2,358 QUERIES

pay_days

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-09-18, from upcoming-dividend-payment-dates.

as of series 12×4read in context →
pay_days — 12 rows by 4 columns, computed from US exchange, SIP and OPRA data.
payment_datepaying_onpayerslarge_cap_payers
2026-09-18Fri Sep 183087
2026-09-19Sat Sep 1950
2026-09-20Sun Sep 2011
2026-09-21Mon Sep 21752
2026-09-22Tue Sep 221414
2026-09-23Wed Sep 23766
2026-09-24Thu Sep 24988
2026-09-25Fri Sep 2514621
2026-09-28Mon Sep 28764
2026-09-29Tue Sep 291788
2026-09-30Wed Sep 3052943
2026-10-01Thu Oct 121820
Rows × columns
12 × 4
Period covered
to
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 pay_days, derived from the stored result.
ColumnTypeRangeNotes
payment_date date 2026-09-18 to 2026-10-01
paying_on text 12 distinct values (Fri Sep 18, Fri Sep 25, Mon Sep 21…)
payers number 1 to 529
large_cap_payers number 0 to 43

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
SELECT
    toString(d.pay_date)                                              AS payment_date,
    concat(formatDateTime(d.pay_date, '%a %b '), toString(toDayOfMonth(d.pay_date))) AS paying_on,
    count()                                                           AS payers,
    countIf(toFloat64(r.latest_market_cap) >= 1e10)                   AS large_cap_payers
FROM
(
    SELECT
        ticker,
        pay_date,
        max(ex_dividend_date) AS ex_dividend_date
    FROM global_markets.stocks_dividends
    WHERE pay_date >= today()
      AND pay_date <  today() + 14
      AND cash_amount > 0
      AND ticker NOT IN ('SPCX')
    GROUP BY ticker, pay_date
) AS d
LEFT JOIN
(
    SELECT
        ticker,
        argMax(market_cap, date) AS latest_market_cap
    FROM global_markets.stocks_ratios
    WHERE date >= today() - 200
      AND market_cap > 0
    GROUP BY ticker
) AS r ON r.ticker = d.ticker
WHERE d.ex_dividend_date < d.pay_date
GROUP BY d.pay_date
ORDER BY d.pay_date

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 analysisupcoming-dividend-payment-dates
pay_calendar table 30×8 sector_gap table 7×5 gap_buckets ranking 6×4 One SPY $600 LEAPS call's price over two years (expired Jan 16 2026) series 470×2 monthly series 241×4 2s10s spread, monthly average: last 20 years series 240×2 See all 2,358 queries →