gross_net_yield
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-09-30, from us-dividend-yield-for-chinese-investors.
| ticker | dps_ttm_usd | gross_yield_pct | net_yield_10_pct | net_yield_30_pct |
|---|---|---|---|---|
| PEP | 5.805 | 4.51 | 4.06 | 3.15 |
| CVX | 7.05 | 3.44 | 3.09 | 2.41 |
| IBM | 6.74 | 3.06 | 2.75 | 2.14 |
| KO | 2.1 | 2.41 | 2.17 | 1.69 |
| JNJ | 5.28 | 1.97 | 1.77 | 1.38 |
- Rows × columns
- 5 × 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 |
|---|---|---|---|
ticker |
text | 5 distinct values (CVX, IBM, JNJ…) | |
dps_ttm_usd |
number | 2.1 to 7.05 | US dollars |
gross_yield_pct |
number | 1.97 to 4.51 | percent |
net_yield_10_pct |
number | 1.77 to 4.06 | percent |
net_yield_30_pct |
number | 1.38 to 3.15 | 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.
Run it yourself
This is the exact query behind the result above. Change a ticker, a date or a column and run it against the warehouse — no account, no key. The no-signup tier is smaller than the one this page was computed on; a query that reaches past it comes back saying which plan runs it.
WITH
ttm AS
(
SELECT
ticker,
round(toFloat64(sum(amount)), 4) AS dps_ttm_usd
FROM
(
SELECT
ticker,
id,
any(cash_amount) AS amount
FROM global_markets.stocks_dividends
WHERE ticker IN ('KO', 'JNJ', 'IBM', 'CVX', 'PEP')
AND ex_dividend_date > today() - 365
AND ex_dividend_date <= today()
GROUP BY ticker, id
)
GROUP BY ticker
),
px AS
(
SELECT
ticker,
toFloat64(argMax(close, date)) AS last_close
FROM global_markets.stocks_daily_aggs
WHERE ticker IN ('KO', 'JNJ', 'IBM', 'CVX', 'PEP')
AND date > today() - 30
GROUP BY ticker
)
SELECT
t.ticker AS ticker,
t.dps_ttm_usd AS dps_ttm_usd,
round(100 * t.dps_ttm_usd / p.last_close, 2) AS gross_yield_pct,
round(100 * t.dps_ttm_usd * 0.90 / p.last_close, 2) AS net_yield_10_pct,
round(100 * t.dps_ttm_usd * 0.70 / p.last_close, 2) AS net_yield_30_pct
FROM ttm AS t
INNER JOIN px AS p ON p.ticker = t.ticker
ORDER BY gross_yield_pct DESC
Work with this data in your AI assistant
Opens ready to query, with this page's data. Free, no account.