STRASMORE/EXPLORE 2,309 QUERIES

aapl_dividends

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-17, from do-you-get-the-dividend-if-you-buy-on-the-ex-date.

as of series 8×12read in context →
aapl_dividends — 8 rows by 12 columns, computed from US exchange, SIP and OPRA data.
ex_dateweekdaydeclared_labelex_labelrecord_labelpay_labelcash_amountdays_ex_to_recordlast_session_with_dividendbuy_on_ex_settlessettles_days_after_recorddays_record_to_pay
2026-08-10MondayJul 30, 2026Aug 10, 2026Mon, Aug 10Aug 130.270Fri, Aug 7Tue, Aug 1113
2026-05-11MondayApr 30, 2026May 11, 2026Mon, May 11May 140.270Fri, May 8Tue, May 1213
2026-02-09MondayJan 29, 2026Feb 9, 2026Mon, Feb 9Feb 120.260Fri, Feb 6Tue, Feb 1013
2025-11-10MondayOct 30, 2025Nov 10, 2025Mon, Nov 10Nov 130.260Fri, Nov 7Tue, Nov 1113
2025-08-11MondayJul 31, 2025Aug 11, 2025Mon, Aug 11Aug 140.260Fri, Aug 8Tue, Aug 1213
2025-05-12MondayMay 1, 2025May 12, 2025Mon, May 12May 150.260Fri, May 9Tue, May 1313
2025-02-10MondayJan 30, 2025Feb 10, 2025Mon, Feb 10Feb 130.250Fri, Feb 7Tue, Feb 1113
2024-11-08FridayOct 31, 2024Nov 8, 2024Mon, Nov 11Nov 140.253Thu, Nov 7Mon, Nov 1103
Rows × columns
8 × 12
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 aapl_dividends, derived from the stored result.
ColumnTypeRangeNotes
ex_date date 2024-11-08 to 2026-08-10
weekday text 2 distinct values (Friday, Monday)
declared_label text 8 distinct values (Apr 30, 2026, Jan 29, 2026, Jan 30, 2025…)
ex_label text 8 distinct values (Aug 10, 2026, Aug 11, 2025, Feb 10, 2025…)
record_label text 8 distinct values (Mon, Aug 10, Mon, Aug 11, Mon, Feb 10…)
pay_label text 8 distinct values (Aug 13, Aug 14, Feb 12…)
cash_amount number 0.25 to 0.27
days_ex_to_record number 0 to 3
last_session_with_dividend text 8 distinct values (Fri, Aug 7, Fri, Aug 8, Fri, Feb 6…)
buy_on_ex_settles text 8 distinct values (Mon, Nov 11, Tue, Aug 11, Tue, Aug 12…)
settles_days_after_record number 0 to 1
days_record_to_pay number every row is 3

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.ex_dt)                                    AS ex_date,
    formatDateTime(d.ex_dt, '%W')                        AS weekday,
    formatDateTime(d.decl_dt, '%b %e, %Y')               AS declared_label,
    formatDateTime(d.ex_dt, '%b %e, %Y')                 AS ex_label,
    formatDateTime(d.rec_dt, '%a, %b %e')                AS record_label,
    formatDateTime(d.pay_dt, '%b %e')                    AS pay_label,
    d.cash                                               AS cash_amount,
    dateDiff('day', d.ex_dt, d.rec_dt)                   AS days_ex_to_record,
    formatDateTime(px.prior_sess, '%a, %b %e')           AS last_session_with_dividend,
    formatDateTime(px.next_sess, '%a, %b %e')            AS buy_on_ex_settles,
    dateDiff('day', d.rec_dt, px.next_sess)              AS settles_days_after_record,
    dateDiff('day', d.rec_dt, d.pay_dt)                  AS days_record_to_pay
FROM
(
    SELECT
        any(ex_dividend_date)                 AS ex_dt,
        any(declaration_date)                 AS decl_dt,
        any(record_date)                      AS rec_dt,
        any(pay_date)                         AS pay_dt,
        round(toFloat64(any(cash_amount)), 4) AS cash
    FROM global_markets.stocks_dividends
    WHERE ticker = 'AAPL'
      AND ex_dividend_date >= '2024-06-01'
      AND ex_dividend_date <  today() - 3
    GROUP BY id
) AS d
INNER JOIN
(
    SELECT
        sess,
        lagInFrame(sess, 1)  OVER (ORDER BY sess ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS prior_sess,
        leadInFrame(sess, 1) OVER (ORDER BY sess ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS next_sess
    FROM
    (
        SELECT date AS sess
        FROM global_markets.stocks_daily_aggs
        WHERE ticker = 'AAPL'
          AND date >= '2024-05-01'
          AND date <  today()
        GROUP BY date
    )
) AS px ON px.sess = d.ex_dt
WHERE px.next_sess > px.sess
  AND px.prior_sess >= toDate('2024-05-01')
ORDER BY d.ex_dt DESC
LIMIT 8

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 analysisdo-you-get-the-dividend-if-you-buy-on-the-ex-date
gap_by_month series 40×5 ex_open_basket ranking 21×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 rolling_7y series 193×5 See all 2,309 queries →