STRASMORE/EXPLORE 2,173 QUERIES 22Y EQUITIES · 12Y OPTIONS

2,173 answered market questions

every one with its exact SQL, its result and the date it was computed · free, no signup

Does Dividend Capture Actually Work?
Quarterly dividend as a share of price vs typical daily move: ten large payers, Jul 2023 to Jun 2026ranking · 2026-08-01 · 10×4Preview: 10 ranked values, largest first. Coca-Cola (KO): overnight decline vs dividend on each ex-dividend date, Sep 2023 to Jun 2026series · 2026-08-01 · 12×4Preview: a 12-point series, ending higher. Ex-dividend openings sorted by decline as a multiple of the dividend: US quarterly payers, Jan 2024 to Jun 2026ranking · 2026-08-01 · 5×3Preview: 5 ranked values, smallest first. Overnight decline vs dividend paid: ten large payers, 12 ex-dividend dates each, Jul 2023 to Jun 2026table · 2026-08-01 · 10×5
Quarterly dividend as a share of price vs typical daily move: ten large payers, Jul 2023 to Jun 2026

Quarterly dividend as a share of price vs typical daily move: ten large payers, Jul 2023 to Jun 2026

most recentas of ranking 10×4read in context →
Quarterly dividend as a share of price vs typical daily move: ten large payers, Jul 2023 to Jun 2026 — 10 rows by 4 columns, computed from US exchange, SIP and OPRA data.
tickerdividend_pct_of_priceavg_daily_move_pctp95_daily_move_pct
VZ1.641.012.95
CVX1.051.042.67
PEP0.860.912.43
XOM0.841.112.97
MRK0.761.13.07
KO0.740.751.93
MMM0.731.233.13
JNJ0.720.82.15
PG0.640.822.31
MCD0.590.822.17
the exact SQL behind every number
WITH tk AS (SELECT ['KO','JNJ','PG','XOM','CVX','VZ','MRK','PEP','MCD','MMM'] AS t),
r AS (
    SELECT ticker,
           date,
           toFloat64(close) AS close,
           lagInFrame(toFloat64(close)) OVER (PARTITION BY ticker ORDER BY date
                                              ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prev_close
    FROM global_markets.stocks_daily_aggs
    WHERE ticker IN (SELECT arrayJoin(t) FROM tk)
      AND date BETWEEN toDate('2023-07-01') AND toDate('2026-06-30')
      AND close > 0
),
vol AS (
    SELECT ticker,
           round(100 * avg(abs(close / prev_close - 1)), 2) AS avg_daily_move_pct,
           round(quantileDeterministic(0.95)(100 * abs(close / prev_close - 1), cityHash64(date)), 2) AS p95_daily_move_pct,
           avg(close) AS avg_close
    FROM r
    WHERE prev_close > 0
    GROUP BY ticker
),
dv AS (
    SELECT ticker, avg(cash_amount) AS avg_dividend_usd
    FROM global_markets.stocks_dividends
    WHERE ticker IN (SELECT arrayJoin(t) FROM tk)
      AND distribution_type = 'recurring'
      AND cash_amount > 0
      AND ex_dividend_date BETWEEN toDate('2023-07-01') AND toDate('2026-06-30')
    GROUP BY ticker
)
SELECT vol.ticker AS ticker,
       round(100 * dv.avg_dividend_usd / vol.avg_close, 2) AS dividend_pct_of_price,
       vol.avg_daily_move_pct AS avg_daily_move_pct,
       vol.p95_daily_move_pct AS p95_daily_move_pct
FROM vol
INNER JOIN dv ON vol.ticker = dv.ticker
ORDER BY dividend_pct_of_price DESC
$