STRASMORE/EXPLORE 3,256 QUERIES

Dividend declarations by stated payment schedule, past three years

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 How Preferred Stock Dividends Work.

as of ranking 5×3read in context →
Dividend declarations by stated payment schedule, past three years — 5 rows by 3 columns, computed from US exchange, SIP and OPRA data.
pay_scheduledeclarationssecurities
Monthly567392346
Quarterly517555806
Semi-annual152263778
Other or unscheduled151813251
Annual67943289
Rows × columns
5 × 3
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 declarations by stated payment schedule, past three years, derived from the stored result.
ColumnTypeRangeNotes
pay_schedule text 5 distinct values (Annual, Monthly, Other or unscheduled…)
declarations number 6,794 to 56,739
securities number 2,346 to 5,806

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
    multiIf(frequency = 12, 'Monthly',
            frequency = 4,  'Quarterly',
            frequency = 2,  'Semi-annual',
            frequency = 1,  'Annual',
                            'Other or unscheduled') AS pay_schedule,
    count()                                         AS declarations,
    countDistinct(ticker)                           AS securities
FROM
(
    SELECT
        ticker,
        ex_dividend_date,
        any(ifNull(frequency, 0)) AS frequency
    FROM global_markets.stocks_dividends
    WHERE ex_dividend_date >= today() - 1095
      AND ex_dividend_date <= today()
    GROUP BY ticker, ex_dividend_date
)
GROUP BY pay_schedule
ORDER BY declarations DESC
⌘/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 analysisHow Preferred Stock Dividends Work
Days from the ex-dividend date to the pay date, past two years ranking 6×3 → Quarterly payers by how many different per-share amounts they paid ranking 5×3 → Monthly count of dividend declarations across the market series 36×4 → How a two-decade streak compounds: Microsoft's annual dividend, year by year ranking 22×2 → Monthly payers in the dividend record, by completed calendar year ranking 21×3 → Dividend growth champions: 20+ straight years of raises, ranked by how many times over the payout grew ranking 20×3 → See all 3,256 queries →