S&P 500 Dividend Yield: How It's Measured
Trailing twelve month distribution yields: broad index, equal weight, dividend screens, sector fundstable ·
2026-10-04 · 9×6
SPY distributions per share and price, both rebased to 100 at 2015ranking ·
2026-10-04 · 11×3
Tracker distribution yield vs the 10 year Treasury, calendar year ends 2015-2025table ·
2026-10-04 · 11×5
Cap weighted vs equal weighted dividend yield, by company sizetable ·
2026-10-04 · 5×6
Market-Wide Circuit Breakers Explained
SPY-equivalent circuit breaker levels for the next sessiontable ·
2026-10-04 · 3×7
March 2020 session by session: open, low and close versus the prior closeseries ·
2026-10-04 · 22×6
The four Level 1 halt sessions of March 2020series ·
2026-10-04 · 4×8
How the three lines move with each SPY closeseries ·
2026-10-04 · 15×5
Investing at All-Time Highs: What the Data Says
Calendar days from a record close to the next one, SPYranking ·
2026-10-04 · 5×4
Forward price change after record closes vs all other sessions, SPYtable ·
2026-10-04 · 3×7
Deepest closing declines from a record close, SPYtable ·
2026-10-04 · 7×5
Record closes per year, SPY (price basis, first four years of the file excluded)table ·
2026-10-04 · 20×7
Stock Returns After the First Fed Rate Hike
Lowest and highest SPY close in the twelve months after each first hiketable ·
2026-09-20 · 3×5
SPY versus its hike-day close, week by week, three cycles alignedtable ·
2026-09-20 · 53×4
SPY forward returns after the first hike of each cycletable ·
2026-09-20 · 3×5
The 2s10s Treasury spread on hike day and twelve months laterranking ·
2026-09-20 · 3×4
Price Return vs Total Return: The Real Gap
Annualized price return vs total return over ten years: seven household names, to July 31, 2026ranking ·
2026-08-03 · 7×4
$10,000 in the S&P 500 tracker: price only vs dividends reinvested, year-end 2006 to July 2026ranking ·
2026-08-03 · 20×4
Price return vs total return by holding period: S&P 500 tracker, windows ending July 31, 2026ranking ·
2026-08-03 · 5×4
S&P 500 tracker by calendar year: price return vs the points added by reinvested dividendsranking ·
2026-08-03 · 20×3
Trailing twelve month distribution yields: broad index, equal weight, dividend screens, sector funds
Trailing twelve month distribution yields: broad index, equal weight, dividend screens, sector funds
| ticker | segment | price | ttm_distributions_usd | payments | trailing_yield_pct |
|---|---|---|---|---|---|
| SPY | broad index tracker | 769.8 | 7.583 | 4 | 0.99 |
| RSP | equal weight S&P 500 | 209.84 | 3.18 | 4 | 1.52 |
| VYM | dividend screen | 156.62 | 3.676 | 4 | 2.35 |
| SCHD | dividend screen | 32.76 | 1.054 | 4 | 3.22 |
| SPYD | dividend screen | 45.47 | 2.06 | 4 | 4.53 |
| XLU | sector fund | 39.95 | 1.212 | 4 | 3.03 |
| XLP | sector fund | 80.43 | 2.197 | 4 | 2.73 |
| XLRE | sector fund | 40.95 | 1.443 | 4 | 3.52 |
| XLK | sector fund | 199.87 | 0.835 | 4 | 0.42 |
the exact SQL behind every number
WITH px AS (
SELECT ticker,
argMax(close, window_start) AS price
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'RSP', 'VYM', 'SCHD', 'SPYD', 'XLU', 'XLP', 'XLRE', 'XLK')
AND window_start >= now() - INTERVAL 7 DAY
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY ticker
),
dv AS (
SELECT ticker,
sum(cash_amount) AS ttm_distributions,
count() AS payments
FROM global_markets.stocks_dividends
WHERE ticker IN ('SPY', 'RSP', 'VYM', 'SCHD', 'SPYD', 'XLU', 'XLP', 'XLRE', 'XLK')
AND ex_dividend_date > today() - INTERVAL 1 YEAR
AND ex_dividend_date <= today()
AND cash_amount > 0
GROUP BY ticker
)
SELECT px.ticker AS ticker,
multiIf(px.ticker = 'SPY', 'broad index tracker',
px.ticker = 'RSP', 'equal weight S&P 500',
px.ticker IN ('VYM', 'SCHD', 'SPYD'), 'dividend screen',
'sector fund') AS segment,
round(px.price, 2) AS price,
round(dv.ttm_distributions, 3) AS ttm_distributions_usd,
dv.payments AS payments,
round(dv.ttm_distributions / px.price * 100, 2) AS trailing_yield_pct
FROM px
INNER JOIN dv ON px.ticker = dv.ticker
ORDER BY multiIf(px.ticker = 'SPY', 1,
px.ticker = 'RSP', 2,
px.ticker = 'VYM', 3,
px.ticker = 'SCHD', 4,
px.ticker = 'SPYD', 5,
px.ticker = 'XLU', 6,
px.ticker = 'XLP', 7,
px.ticker = 'XLRE', 8,
9)
More from this analysisS&P 500 Dividend Yield: How It's Measured
Tracker distribution yield vs the 10 year Treasury, calendar year ends 2015-2025
table 11×5
→
Cap weighted vs equal weighted dividend yield, by company size
table 5×6
→
SPY distributions per share and price, both rebased to 100 at 2015
ranking 11×3
→
Monthly dividend stocks - filing companies paying every month, ranked by daily traded value
table 31×6
→
See all 3,256 queries →