STRASMORE/EXPLORE 2,358 QUERIES

pay_calendar

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 table 30×8read in context →
pay_calendar — 30 rows by 8 columns, computed from US exchange, SIP and OPRA data.
tickerpays_onex_onrecord_oncash_per_shareex_to_pay_daysmarket_cap_bnpaid_in
NVDAThu Oct 12026-09-102026-09-100.25215296.4week after next
METAMon Sep 282026-09-212026-09-210.52571738.2week after next
AVGOWed Sep 302026-09-212026-09-210.6591657.9week after next
BACFri Sep 252026-09-042026-09-040.3221406.8next week
KOThu Oct 12026-09-152026-09-150.5316378.9week after next
UNHTue Sep 222026-09-142026-09-142.328336.8next week
GSTue Sep 292026-09-012026-09-01528277week after next
QCOMThu Sep 242026-09-032026-09-030.9221201.6next week
GILDTue Sep 292026-09-152026-09-150.8214187.1week after next
PEPWed Sep 302026-09-042026-09-041.4826182.4week after next
UNPWed Sep 302026-08-312026-08-311.4230167.8week after next
BLKTue Sep 222026-09-082026-09-085.7314163.2next week
NEMMon Sep 282026-09-032026-09-030.2625131.1week after next
PLDWed Sep 302026-09-162026-09-161.0714128.5week after next
BKNGWed Sep 302026-09-112026-09-110.4219128.1week after next
GLWTue Sep 292026-08-312026-08-310.2829127.3week after next
LMTFri Sep 252026-09-012026-09-013.4524124.2next week
ADPThu Oct 12026-09-112026-09-111.720108.2week after next
MCKThu Oct 12026-09-012026-09-010.9430102.5week after next
CMEFri Sep 252026-09-092026-09-091.31697.5next week
TTWed Sep 302026-09-042026-09-041.052693.1week after next
VRTThu Sep 242026-09-142026-09-140.06251093next week
HCAWed Sep 302026-09-162026-09-160.781492.9week after next
ELVFri Sep 252026-09-102026-09-101.721589.8next week
WMBMon Sep 282026-09-112026-09-110.5251787.8week after next
MARWed Sep 302026-08-202026-08-200.734187.1week after next
ICEWed Sep 302026-09-162026-09-160.521486.1week after next
WMFri Sep 252026-09-112026-09-110.9451485.3next week
SUFri Sep 252026-09-042026-09-040.62181.3next week
TRVWed Sep 302026-09-102026-09-101.252079.2week after next
Rows × columns
30 × 8
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_calendar, derived from the stored result.
ColumnTypeRangeNotes
ticker text 30 distinct values (ADP, AVGO, BAC…)
pays_on text 7 distinct values (Fri Sep 25, Mon Sep 28, Thu Oct 1…)
ex_on date 2026-08-20 to 2026-09-21
record_on date 2026-08-20 to 2026-09-21
cash_per_share number 0.0625 to 5.73
ex_to_pay_days number 7 to 41
market_cap_bn number 79.2 to 5,296.4
paid_in text 2 distinct values (next week, week after next)

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
    d.ticker                                                          AS ticker,
    concat(formatDateTime(d.pay_date, '%a %b '), toString(toDayOfMonth(d.pay_date))) AS pays_on,
    toString(d.ex_dividend_date)                                      AS ex_on,
    if(ifNull(d.record_date > toDate('2000-01-01'), 0), toString(d.record_date), '') AS record_on,
    d.cash_per_share                                                  AS cash_per_share,
    dateDiff('day', d.ex_dividend_date, d.pay_date)                   AS ex_to_pay_days,
    round(toFloat64(r.latest_market_cap) / 1e9, 1)                    AS market_cap_bn,
    multiIf(d.pay_date < toMonday(today()) + 7,  'this week',
            d.pay_date < toMonday(today()) + 14, 'next week',
                                                 'week after next')   AS paid_in
FROM
(
    SELECT
        ticker,
        pay_date,
        max(ex_dividend_date)                 AS ex_dividend_date,
        max(record_date)                      AS record_date,
        round(toFloat64(max(cash_amount)), 4) AS cash_per_share
    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
INNER 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
ORDER BY r.latest_market_cap DESC, d.pay_date, d.ticker
LIMIT 30

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
sector_gap table 7×5 pay_days series 12×4 gap_buckets ranking 6×4 The 2s10s spread, every print of the half table 124×2 The 2s10s spread, every print of the half table 124×2 Every half-year since 1976: the 2y and 10y change, the twist between them, and the half's lowest 2s10s print table 100×7 See all 2,358 queries →