STRASMORE/EXPLORE 2,549 QUERIES

dividend_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-24, from vz-vs-t-dividend.

as of series 5×8read in context →
dividend_calendar — 5 rows by 8 columns, computed from US exchange, SIP and OPRA data.
quartervz_ex_datevz_pay_datet_ex_datet_pay_datevz_days_ex_to_payt_days_ex_to_payex_date_gap_days
2025-07-01Jul 10, 2025Aug 1, 2025Jul 10, 2025Aug 1, 202522220
2025-10-01Oct 10, 2025Nov 3, 2025Oct 10, 2025Nov 3, 202524240
2026-01-01Jan 12, 2026Feb 2, 2026Jan 12, 2026Feb 2, 202621210
2026-04-01Apr 10, 2026May 1, 2026Apr 10, 2026May 1, 202621210
2026-07-01Jul 10, 2026Aug 3, 2026Jul 10, 2026Aug 3, 202624240
Rows × columns
5 × 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 dividend_calendar, derived from the stored result.
ColumnTypeRangeNotes
quarter date 2025-07-01 to 2026-07-01
vz_ex_date text 5 distinct values (Apr 10, 2026, Jan 12, 2026, Jul 10, 2025…)
vz_pay_date text 5 distinct values (Aug 1, 2025, Aug 3, 2026, Feb 2, 2026…)
t_ex_date text 5 distinct values (Apr 10, 2026, Jan 12, 2026, Jul 10, 2025…)
t_pay_date text 5 distinct values (Aug 1, 2025, Aug 3, 2026, Feb 2, 2026…)
vz_days_ex_to_pay number 21 to 24
t_days_ex_to_pay number 21 to 24
ex_date_gap_days number every row is 0

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.

WITH paid AS
(
    SELECT
        id,
        any(ticker)           AS tkr,
        any(ex_dividend_date) AS ex_date,
        any(pay_date)         AS pay_dt
    FROM global_markets.stocks_dividends
    WHERE ticker IN ('VZ', 'T')
      AND cash_amount > 0
      AND ex_dividend_date >= today() - 500
    GROUP BY id
)
SELECT
    toString(toStartOfQuarter(ex_date))                     AS quarter,
    maxIf(formatDateTime(ex_date, '%b %e, %Y'), tkr = 'VZ') AS vz_ex_date,
    maxIf(formatDateTime(pay_dt, '%b %e, %Y'), tkr = 'VZ')  AS vz_pay_date,
    maxIf(formatDateTime(ex_date, '%b %e, %Y'), tkr = 'T')  AS t_ex_date,
    maxIf(formatDateTime(pay_dt, '%b %e, %Y'), tkr = 'T')   AS t_pay_date,
    maxIf(dateDiff('day', ex_date, pay_dt), tkr = 'VZ')     AS vz_days_ex_to_pay,
    maxIf(dateDiff('day', ex_date, pay_dt), tkr = 'T')      AS t_days_ex_to_pay,
    abs(dateDiff('day', maxIf(ex_date, tkr = 'VZ'), maxIf(ex_date, tkr = 'T'))) AS ex_date_gap_days
FROM paid
GROUP BY quarter
HAVING countIf(tkr = 'VZ') > 0 AND countIf(tkr = 'T') > 0
ORDER BY quarter
⌘/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 analysisvz-vs-t-dividend
dps_growth ranking 10×3 → annual_dps ranking 10×3 → t_levels table 8×5 → fcf_payout ranking 7×3 → compare table 2×8 → The 2s10s spread by month, full history series 604×5 → See all 2,549 queries →