STRASMORE/EXPLORE 2,830 QUERIES

pep_next_ex

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-30, from pep-dividend-2026.

as of series 4×6read in context →
pep_next_ex — 4 rows by 6 columns, computed from US exchange, SIP and OPRA data.
ex_dividend_dateex_date_labelstatusdays_awaypayment_datecash_amount
2026-12-05Dec 5, 2026scheduled66Jan 6, 20271.48
2027-03-06Mar 6, 2027scheduled157Mar 31, 20271.48
2027-06-05Jun 5, 2027scheduled248Jun 30, 20271.48
2027-09-04Sep 4, 2027scheduled339Sep 30, 20271.48
Rows × columns
4 × 6
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 pep_next_ex, derived from the stored result.
ColumnTypeRangeNotes
ex_dividend_date date 2026-12-05 to 2027-09-04
ex_date_label text 4 distinct values (Dec 5, 2026, Jun 5, 2027, Mar 6, 2027…)
status text 1 distinct value (scheduled)
days_away number 66 to 339
payment_date text 4 distinct values (Jan 6, 2027, Jun 30, 2027, Mar 31, 2027…)
cash_amount number every row is 1.48

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
    toString(ex_date)                                AS ex_dividend_date,
    formatDateTime(ex_date, '%b %e, %Y')             AS ex_date_label,
    if(min(src) = 0, 'confirmed', 'scheduled')       AS status,
    dateDiff('day', today(), ex_date)                AS days_away,
    formatDateTime(argMin(pay_dt, src), '%b %e, %Y') AS payment_date,
    round(argMin(amt, src), 4)                       AS cash_amount
FROM
(
    SELECT
        0                AS src,
        ex_dividend_date AS ex_date,
        pay_date         AS pay_dt,
        cash_amount      AS amt
    FROM global_markets.stocks_dividends
    WHERE ticker = 'PEP'
      AND ex_dividend_date >= today()
    UNION ALL
    SELECT
        1,
        addYears(ex_dividend_date, 1),
        addYears(pay_date, 1),
        (
            SELECT max(cash_amount)
            FROM global_markets.stocks_dividends
            WHERE ticker = 'PEP'
              AND ex_dividend_date >= today() - 400
        )
    FROM global_markets.stocks_dividends
    WHERE ticker = 'PEP'
      AND ex_dividend_date >= today() - 400
      AND addYears(ex_dividend_date, 1) >= today()
)
GROUP BY ex_date
ORDER BY ex_date
LIMIT 4
⌘/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 analysispep-dividend-2026
pep_yield_by_month series 9×4 → pep_2026_schedule series 4×8 → pep_annual_totals ranking 10×4 → pep_yield_summary scalar 1×9 → The 2s10s spread by month, full history series 604×5 → One SPY $600 LEAPS call's price over two years (expired Jan 16 2026) series 470×2 → See all 2,830 queries →