Portfolio Dividend Yield: Weighted Average
Trailing 12-month dividend yield across ten household payersranking ·
2026-08-22 · 10×4
Two averages of the same five holdingsranking ·
2026-08-22 · 2×2
Dividend income from the five-name portfolio, by monthseries ·
2026-08-22 · 12×3
A five-name portfolio: share of value against share of incomeranking ·
2026-08-22 · 5×4
What $1,000 a Month in Dividends Takes
S&P 500 tracker distributions per share, by calendar year (2015-2025)ranking ·
2026-08-15 · 11×3
Payout ratio by yield band: US payers, $1B+ market cap, latest snapshottable ·
2026-08-15 · 4×5
Capital needed for $12,000 a year of distributions, by fund yieldtable ·
2026-08-15 · 10×5
Conagra (CAG): price, quarterly dividend, and yield, month-end 2023-07 to 2026-06series ·
2026-08-15 · 36×5
Trailing 12-month dividend yield across ten household payers
Trailing 12-month dividend yield across ten household payers
| symbol | ttm_dividend_usd | yield_pct | priced_through |
|---|---|---|---|
| VZ | 2.8 | 5.7 | Aug 21, 2026 |
| PEP | 5.75 | 4.03 | Aug 21, 2026 |
| CVX | 7.05 | 3.43 | Aug 21, 2026 |
| PG | 4.29 | 3 | Aug 21, 2026 |
| HD | 9.26 | 2.76 | Aug 21, 2026 |
| XOM | 4.12 | 2.49 | Aug 21, 2026 |
| KO | 2.08 | 2.3 | Aug 21, 2026 |
| JNJ | 5.24 | 1.95 | Aug 21, 2026 |
| MSFT | 3.64 | 0.76 | Aug 21, 2026 |
| AAPL | 1.06 | 0.34 | Aug 21, 2026 |
the exact SQL behind every number
WITH
last_px AS
(
SELECT
ticker,
toFloat64(argMax(close, date)) AS px,
formatDateTime(max(date), '%b %e, %Y') AS priced_through
FROM global_markets.stocks_daily_aggs
WHERE ticker IN ('AAPL', 'MSFT', 'HD', 'KO', 'PG', 'PEP', 'JNJ', 'XOM', 'CVX', 'VZ')
AND date >= today() - 30
GROUP BY ticker
),
ttm_dps AS
(
SELECT
ticker,
sum(amount) AS dps
FROM
(
SELECT
ticker,
id,
toFloat64(any(cash_amount)) AS amount
FROM global_markets.stocks_dividends
WHERE ticker IN ('AAPL', 'MSFT', 'HD', 'KO', 'PG', 'PEP', 'JNJ', 'XOM', 'CVX', 'VZ')
AND ex_dividend_date > today() - 365
AND ex_dividend_date <= today()
GROUP BY ticker, id
)
GROUP BY ticker
)
SELECT
p.ticker AS symbol,
round(d.dps, 2) AS ttm_dividend_usd,
round(100 * d.dps / p.px, 2) AS yield_pct,
p.priced_through AS priced_through
FROM last_px AS p
INNER JOIN ttm_dps AS d ON d.ticker = p.ticker
ORDER BY yield_pct DESC
More from this analysisPortfolio Dividend Yield: Weighted Average
A five-name portfolio: share of value against share of income
ranking 5×4
→
Two averages of the same five holdings
ranking 2×2
→
Dividend income from the five-name portfolio, by month
series 12×3
→
S&P 500 tracker distributions per share, by calendar year (2015-2025)
ranking 11×3
→
See all 2,170 queries →