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

MO Dividend: Yield, History & Ex-Dates
MO dividend snapshot: latest payout, annual rate, yield, and next ex-datescalar · 2026-10-04 · 1×71.11 MO recent dividend payments: ex-dividend date and per-share amountseries · 2026-10-04 · 10×2Preview: a 10-point series, ending lower. MO total dividends paid per year (regular dividends)ranking · 2026-10-04 · 7×2Preview: 7 ranked values, smallest first.
Altria (MO) Dividend Increase History by Year
Altria's quarterly dividend through the Kraft and PMI spin-offs, 2006 to 2009series · 2026-09-26 · 16×3Preview: a 16-point series, ending lower. Every Altria quarterly dividend increase since the 2008 PMI spin-offseries · 2026-09-26 · 21×7Preview: a 16-point series, ending lower. Altria dividend record and payment dates this calendar yearseries · 2026-09-26 · 4×6Preview: a 4-point series, ending higher. Altria free cash flow versus dividends paid, by fiscal yeartable · 2026-09-26 · 6×5 Which month Altria and PMI announce their dividend raisesseries · 2026-09-26 · 2×5Preview: a 2-point series, ending higher.
MO dividend snapshot: latest payout, annual rate, yield, and next ex-date

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

most recentas of scalar 1×7read in context →
latest dividend
1.11
frequency
quarterly
annual dividend
4.44
recent price
67.39
dividend yield pct
6.59
last ex date
Sep 15, 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 = 'MO' 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 = 'MO' 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
$