How many US companies clear each yield floor, with payout ratio and loss-makers
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-22, from Highest Dividend Yield US Stocks in 2026.
| yield_floor | companies | median_payout_ratio | pct_no_positive_eps |
|---|---|---|---|
| 2% and up | 531 | 63 | 8.5 |
| 3% and up | 315 | 85 | 10.2 |
| 4% and up | 198 | 102 | 14.1 |
| 5% and up | 119 | 118 | 17.6 |
| 6% and up | 72 | 118 | 16.7 |
| 8% and up | 35 | 130 | 11.4 |
| 10% and up | 21 | 206 | 9.5 |
| 15% and up | 8 | 389 | 12.5 |
- Rows × columns
- 8 × 4
- 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 |
|---|---|---|---|
yield_floor |
text | 8 distinct values (10% and up, 15% and up, 2% and up…) | |
companies |
number | 8 to 531 | |
median_payout_ratio |
number | 63 to 389 | ratio or rate |
pct_no_positive_eps |
number | 8.5 to 17.6 | 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 snapshot AS (
SELECT ticker,
toFloat64(dividend_yield) * 100 AS yield_pct,
toFloat64(dividend_yield) * toFloat64(price) AS annual_dividend,
toFloat64(earnings_per_share) AS eps
FROM global_markets.stocks_ratios
WHERE date = (SELECT max(date) FROM global_markets.stocks_ratios)
AND price >= 5
AND market_cap >= 2000000000
AND dividend_yield > 0
AND earnings_per_share IS NOT NULL
),
rungs AS (
SELECT arrayJoin([2, 3, 4, 5, 6, 8, 10, 15]) AS min_yield_pct
)
SELECT concat(toString(r.min_yield_pct), '% and up') AS yield_floor,
count() AS companies,
round(quantileDeterministicIf(0.5)(s.annual_dividend / s.eps * 100,
cityHash64(s.ticker), s.eps > 0), 0) AS median_payout_ratio,
round(100 * countIf(s.eps <= 0) / count(), 1) AS pct_no_positive_eps
FROM rungs AS r, snapshot AS s
WHERE s.yield_pct >= r.min_yield_pct
GROUP BY r.min_yield_pct
HAVING countIf(s.eps > 0) > 0
ORDER BY r.min_yield_pct
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 analysisHighest Dividend Yield US Stocks in 2026
Walgreens Boots Alliance (WBA): month-end price, quarterly dividend, and yield, 2022-07 to 2024-06
series 24×5
→
Highest dividend yields: US-listed companies over $2B, latest snapshot on file
table 15×5
→
Payout ratio and dividend action by yield band: US payers over $2B, latest snapshot
table 4×6
→
Conagra (CAG): month-end price, annualized dividend rate, and yield, 2021-08 to 2026-07
series 60×5
→
Dividend outcome over the following 12 months by starting yield band (cohort of June 30, 2025)
table 5×7
→
Payout ratio by yield band: US payers above $1B market cap, latest snapshot on file
table 5×6
→
See all 2,170 queries →