STRASMORE/EXPLORE 3,293 QUERIES

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.

as of series 6×5read in context →
ex_calendar — 6 rows by 5 columns, computed from US exchange, SIP and OPRA data.
tickerus_exlast_us_sessionmanila_cutoffcash_amount
PGFri, Oct 23Thu, Oct 22Fri, Oct 23, 04:00 AM1.0885
CATMon, Oct 26Fri, Oct 23Sat, Oct 24, 04:00 AM1.63
MSFTThu, Nov 19Wed, Nov 18Thu, Nov 19, 05:00 AM0.98
JNJTue, Nov 24Mon, Nov 23Tue, Nov 24, 05:00 AM1.34
KOTue, Dec 1Mon, Nov 30Tue, Dec 1, 05:00 AM0.53
MCDTue, Dec 1Mon, Nov 30Tue, Dec 1, 05:00 AM1.93
Rows × columns
6 × 5
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 ex_calendar, derived from the stored result.
ColumnTypeRangeNotes
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
⌘/Ctrl + Enter

Gamitin ang datos na ito sa iyong AI assistant

Bubukas nang handang mag-query, kasama ang datos ng pahinang ito. Libre, walang account.