STRASMORE/EXPLORE 2,309 QUERIES

ex_open_basket

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 ranking 21×4read in context →
ex_open_basket — 21 rows by 4 columns, computed from US exchange, SIP and OPRA data.
labelex_date_countavg_dividend_pct_of_priceavg_close_to_open_pct
All 20 combined1820.71-0.55
PFE91.65-1.48
VZ91.62-1.46
CVX91.04-0.85
PEP100.93-0.93
ABBV90.83-0.72
XOM90.8-0.62
MRK90.8-0.6
KO90.71-0.85
IBM90.69-0.58
TXN90.68-0.5
JNJ90.68-0.61
PG90.660.46
HD90.64-0.17
CSCO90.62-1.03
MCD100.61-0.67
JPM90.52-0.54
WMT90.23-0.35
MSFT90.190.33
LLY90.17-0.15
AAPL90.110.43
Rows × columns
21 × 4
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_open_basket, derived from the stored result.
ColumnTypeRangeNotes
label text 21 distinct values (AAPL, ABBV, All 20 combined…)
ex_date_count number 9 to 182 count
avg_dividend_pct_of_price number 0.11 to 1.65 percent
avg_close_to_open_pct number -1.48 to 0.46 percent

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
    arrayJoin([toString(d.sym), 'All 20 combined'])                                  AS label,
    count()                                                                          AS ex_date_count,
    round(avg(100 * toFloat64(d.cash) / toFloat64(px.prior_close)), 2)               AS avg_dividend_pct_of_price,
    round(avg(100 * (toFloat64(px.ex_open) / toFloat64(px.prior_close) - 1)), 2)     AS avg_close_to_open_pct
FROM
(
    SELECT
        any(ticker)           AS sym,
        any(ex_dividend_date) AS ex_dt,
        any(cash_amount)      AS cash
    FROM global_markets.stocks_dividends
    WHERE ticker IN ('AAPL', 'MSFT', 'KO', 'JNJ', 'PG', 'PEP', 'JPM', 'XOM', 'CVX', 'HD',
                     'MCD', 'WMT', 'IBM', 'CSCO', 'VZ', 'MRK', 'PFE', 'ABBV', 'TXN', 'LLY')
      AND ex_dividend_date >= '2024-06-01'
      AND ex_dividend_date <  today() - 3
    GROUP BY id
) AS d
INNER JOIN
(
    SELECT
        sym,
        sess,
        ex_open,
        lagInFrame(close_px, 1) OVER (PARTITION BY sym ORDER BY sess ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS prior_close
    FROM
    (
        SELECT
            ticker     AS sym,
            date       AS sess,
            any(open)  AS ex_open,
            any(close) AS close_px
        FROM global_markets.stocks_daily_aggs
        WHERE ticker IN ('AAPL', 'MSFT', 'KO', 'JNJ', 'PG', 'PEP', 'JPM', 'XOM', 'CVX', 'HD',
                         'MCD', 'WMT', 'IBM', 'CSCO', 'VZ', 'MRK', 'PFE', 'ABBV', 'TXN', 'LLY')
          AND date >= '2024-05-01'
          AND date <  today()
        GROUP BY sym, sess
    )
) AS px ON px.sym = d.sym AND px.sess = d.ex_dt
WHERE px.prior_close > 0
  AND px.ex_open > 0
GROUP BY label
ORDER BY (label = 'All 20 combined') DESC, avg_dividend_pct_of_price DESC

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 aapl_dividends series 8×12 Top 25 weekly-options underlyings by distinct contracts traded, with expiration weekdays ranking 25×4 Annualized volatility vs total return, 25 large caps, calmest to wildest (~2 years) ranking 25×3 SPY options median spread by expiration date, near-the-money strikes only ranking 25×4 Share of prints with a placeholder participant timestamp, one March session per year (IBM and MSFT) ranking 24×4 See all 2,309 queries →