STRASMORE/EXPLORE 3,256 QUERIES 22Y EQUITIES · 12Y OPTIONS

3,256 answered market questions

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

XOM Dividend: Yield, History & Ex-Dates
XOM dividend snapshot: latest payout, annual rate, yield, and next ex-datescalar · 2026-10-04 · 1×71.03 XOM recent dividend payments: ex-dividend date and per-share amountseries · 2026-10-04 · 10×2Preview: a 10-point series, ending lower. XOM total dividends paid per year (regular dividends)ranking · 2026-10-04 · 7×2Preview: 7 ranked values, smallest first.
XOM Dividend Increase History: Every Raise
XOM dividends paid per share per year, and increases declared in eachranking · 2026-09-26 · 20×4Preview: 16 ranked values, smallest first. The XOM dividend streak, counted two ways, plus the years with no increaseranking · 2026-09-26 · 3×3Preview: 3 ranked values, largest first. Every declared XOM quarterly dividend increase, with the old and new rateseries · 2026-09-26 · 19×6Preview: a 16-point series, ending lower. Which calendar quarter XOM dividend increases get declared inranking · 2026-09-26 · 2×4Preview: 2 ranked values, largest first. XOM quarterly dividend compound growth over 5, 10 and 20 yearstable · 2026-09-26 · 3×6
XOM dividend snapshot: latest payout, annual rate, yield, and next ex-date

XOM dividend snapshot: latest payout, annual rate, yield, and next ex-date

most recentas of scalar 1×7read in context →
latest dividend
1.03
frequency
quarterly
annual dividend
4.12
recent price
164.2
dividend yield pct
2.51
last ex date
Aug 17, 2026
next ex date
not yet declared
the exact SQL behind every number
WITH d AS (
    SELECT argMax(cash_amount, ex_dividend_date) AS latest,
           argMax(frequency, ex_dividend_date) AS freq,
           max(ex_dividend_date) AS last_ex,
           maxIf(ex_dividend_date, ex_dividend_date > today()) AS nxt
    FROM global_markets.stocks_dividends
    WHERE ticker = 'XOM' AND frequency IN (1, 2, 4, 12) AND ex_dividend_date >= today() - 900
),
p AS (
    SELECT argMax(toFloat64(close), window_start) AS price
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'XOM' AND window_start >= now() - INTERVAL 8 DAY
)
SELECT round(d.latest, 3) AS latest_dividend,
       multiIf(d.freq = 12, 'monthly', d.freq = 4, 'quarterly', d.freq = 2, 'semi-annual', 'annual') AS frequency,
       round(d.latest * d.freq, 2) AS annual_dividend,
       round(p.price, 2) AS recent_price,
       round(d.latest * d.freq / p.price * 100, 2) AS dividend_yield_pct,
       formatDateTime(d.last_ex, '%b %e, %Y') AS last_ex_date,
       if(d.nxt > today(), formatDateTime(d.nxt, '%b %e, %Y'), 'not yet declared') AS next_ex_date
FROM d CROSS JOIN p
$