ex_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-10-16, from us-ex-dividend-dates-in-philippine-time.
| ticker | us_ex | last_us_session | manila_cutoff | cash_amount |
|---|---|---|---|---|
| PG | Fri, Oct 23 | Thu, Oct 22 | Fri, Oct 23, 04:00 AM | 1.0885 |
| CAT | Mon, Oct 26 | Fri, Oct 23 | Sat, Oct 24, 04:00 AM | 1.63 |
| MSFT | Thu, Nov 19 | Wed, Nov 18 | Thu, Nov 19, 05:00 AM | 0.98 |
| JNJ | Tue, Nov 24 | Mon, Nov 23 | Tue, Nov 24, 05:00 AM | 1.34 |
| KO | Tue, Dec 1 | Mon, Nov 30 | Tue, Dec 1, 05:00 AM | 0.53 |
| MCD | Tue, Dec 1 | Mon, Nov 30 | Tue, Dec 1, 05:00 AM | 1.93 |
- Rows × columns
- 6 × 5
- 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 |
|---|---|---|---|
ticker |
text | 6 distinct values (CAT, JNJ, KO…) | |
us_ex |
text | 5 distinct values (Fri, Oct 23, Mon, Oct 26, Thu, Nov 19…) | |
last_us_session |
text | 5 distinct values (Fri, Oct 23, Mon, Nov 23, Mon, Nov 30…) | |
manila_cutoff |
text | 5 distinct values | |
cash_amount |
number | 0.53 to 1.93 |
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
(
SELECT groupArray(date)
FROM global_markets.stocks_market_holidays
WHERE status = 'closed'
) AS us_closures,
arrayFirst(
d -> (toDayOfWeek(d) <= 5) AND NOT has(us_closures, d),
arrayMap(i -> ex_dividend_date - i, range(1, 6))
) AS last_buy_day
SELECT
ticker,
formatDateTime(ex_dividend_date, '%a, %b %e') AS us_ex,
formatDateTime(last_buy_day, '%a, %b %e') AS last_us_session,
formatDateTime(
toTimeZone(
toDateTime(concat(toString(last_buy_day), ' 16:00:00'), 'America/New_York'),
'Asia/Manila'),
'%a, %b %e, %I:%i %p') AS manila_cutoff,
round(declared_amount, 4) AS cash_amount
FROM
(
SELECT
ticker,
ex_dividend_date,
max(cash_amount) AS declared_amount
FROM global_markets.stocks_dividends
WHERE ex_dividend_date >= today()
AND cash_amount > 0
AND ticker IN ('AAPL', 'ABBV', 'BLK', 'CAT', 'CSCO', 'CVX', 'HD', 'IBM', 'JNJ',
'JPM', 'KO', 'MCD', 'MRK', 'MSFT', 'PEP', 'PG', 'VZ', 'XOM')
GROUP BY ticker, ex_dividend_date
ORDER BY ex_dividend_date, ticker
LIMIT 12
)
ORDER BY ex_dividend_date, ticker
Work with this data in your AI assistant
Opens ready to query, with this page's data. Free, no account.