The market's dividend yield vs. the 10-year Treasury: end-June readings, 2016-2026
Answered against 22 years of US equities and 12 years of US options data and published with the query that produced it. This result is stored as of 2026-08-15, from What Is Dividend Yield? What's Normal in 2026.
| year | market_dividend_yield_pct | treasury_10y_pct | treasury_minus_stocks_pct | gap_abs_pct |
|---|---|---|---|---|
| 2016 | 2.09 | 1.49 | -0.6 | 0.6 |
| 2017 | 1.91 | 2.31 | 0.4 | 0.4 |
| 2018 | 1.82 | 2.85 | 1.03 | 1.03 |
| 2019 | 1.85 | 2 | 0.15 | 0.15 |
| 2020 | 1.86 | 0.66 | -1.2 | 1.2 |
| 2021 | 1.3 | 1.45 | 0.15 | 0.15 |
| 2022 | 1.59 | 2.98 | 1.39 | 1.39 |
| 2023 | 1.47 | 3.81 | 2.34 | 2.34 |
| 2024 | 1.26 | 4.36 | 3.1 | 3.1 |
| 2025 | 1.16 | 4.24 | 3.08 | 3.08 |
| 2026 | 1.01 | 4.44 | 3.43 | 3.43 |
- Rows × columns
- 11 × 5
- Computed
- Completeness
- No missing values
- Source
- US exchange, SIP and OPRA market data
- Licence
- Strasmore terms · free, no signup
What each column holds
| Column | Type | Range | Notes |
|---|---|---|---|
year |
number | 2,016 to 2,026 | |
market_dividend_yield_pct |
number | 1.01 to 2.09 | percent |
treasury_10y_pct |
number | 0.66 to 4.44 | percent |
treasury_minus_stocks_pct |
number | -1.2 to 3.43 | percent |
gap_abs_pct |
number | 0.15 to 3.43 | percent |
Computed from Strasmore's warehouse of US exchange, SIP and OPRA market data. Equity prices are delayed; options greeks and implied volatility are end-of-day. This result is stored, not recomputed on load — it is exactly the numbers that were returned on , and the query below is what returned them.
the exact SQL behind every number
WITH spy_px AS (
SELECT toYear(toTimeZone(window_start, 'America/New_York')) AS year,
argMax(close, window_start) AS price
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND toMonth(toTimeZone(window_start, 'America/New_York')) = 6
AND toDayOfMonth(toTimeZone(window_start, 'America/New_York')) >= 25
AND toYear(toTimeZone(window_start, 'America/New_York')) >= 2016
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY year
),
spy_div AS (
SELECT toYear(addMonths(ex_dividend_date, 6)) AS year,
sum(cash_amount) AS ttm_div
FROM global_markets.stocks_dividends
WHERE ticker = 'SPY' AND cash_amount > 0 AND ex_dividend_date >= toDate('2015-07-01')
GROUP BY year
),
tsy AS (
SELECT toYear(date) AS year,
argMax(yield_10_year, date) AS y10
FROM global_markets.treasury_yields
WHERE toMonth(date) = 6 AND toYear(date) >= 2016 AND yield_10_year IS NOT NULL
GROUP BY year
)
SELECT spy_px.year AS year,
round(spy_div.ttm_div / spy_px.price * 100, 2) AS market_dividend_yield_pct,
round(tsy.y10, 2) AS treasury_10y_pct,
round(tsy.y10 - spy_div.ttm_div / spy_px.price * 100, 2) AS treasury_minus_stocks_pct,
round(abs(tsy.y10 - spy_div.ttm_div / spy_px.price * 100), 2) AS gap_abs_pct
FROM spy_px
INNER JOIN spy_div ON spy_px.year = spy_div.year
INNER JOIN tsy ON spy_px.year = tsy.year
ORDER BY year
Run your own version of this
The same 22 years of US equities and 12 years of options data are queryable in SQL or plain English. A free account runs 100 queries a day and takes no card.
More from this analysisWhat Is Dividend Yield? What's Normal in 2026
Trailing yield by sector fund: twelve months of distributions ÷ latest price
table 13×5
→
Payout ratio by yield band: US payers, $1B+ market cap, latest snapshot
table 4×6
→
Conagra (CAG): price, quarterly dividend, and yield, month-end 2023-07 to 2026-06
series 36×5
→
Trailing dividend yields: eight household names, latest snapshot on file
ranking 8×3
→
Recurring cash dividends by payment schedule: H1 2026, all US-listed payers
ranking 5×3
→
Dividend yield across the US market: $1B+ market cap, $5+ share price, latest snapshot
scalar 1×6
→
See all 2,170 queries →