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.
| ex_dividend_date | ex_date_label | status | days_away | payment_date | cash_amount |
|---|---|---|---|---|---|
| 2026-12-05 | Dec 5, 2026 | scheduled | 66 | Jan 6, 2027 | 1.48 |
| 2027-03-06 | Mar 6, 2027 | scheduled | 157 | Mar 31, 2027 | 1.48 |
| 2027-06-05 | Jun 5, 2027 | scheduled | 248 | Jun 30, 2027 | 1.48 |
| 2027-09-04 | Sep 4, 2027 | scheduled | 339 | Sep 30, 2027 | 1.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
What each column holds
| Column | Type | Range | Notes |
|---|---|---|---|
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
Work with this data in your AI assistant
Opens ready to query, with this page's data. Free, no account.