gross_vs_net
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-26, from monthly-dividend-stocks-for-russian-investors.
| ticker | gross_yield_pct | net_yield_pct |
|---|---|---|
| SLJY | 23.74 | 16.62 |
| ECAT | 23.6 | 16.52 |
| BCAT | 22.84 | 15.99 |
| CRF | 22.75 | 15.92 |
| CLM | 22.73 | 15.91 |
| MSFY | 21.7 | 15.19 |
| DFII | 21.04 | 14.72 |
| XPAY | 20.99 | 14.69 |
| ARR | 20.43 | 14.3 |
| AMZP | 20.4 | 14.28 |
| TLTX | 20.04 | 14.03 |
| NHS | 19.85 | 13.9 |
- Rows × columns
- 12 × 3
- 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 | 12 distinct values (AMZP, ARR, BCAT…) | |
gross_yield_pct |
number | 19.85 to 23.74 | percent |
net_yield_pct |
number | 13.9 to 16.62 | 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 monthly AS (
SELECT
ticker,
ex_dividend_date,
max(cash_amount) AS amount
FROM global_markets.stocks_dividends
WHERE ex_dividend_date >= addMonths(toStartOfMonth(today()), -12)
AND ex_dividend_date < toStartOfMonth(today())
AND currency = 'USD'
AND cash_amount > 0
AND ticker NOT IN ('SPCX')
GROUP BY ticker, ex_dividend_date
),
payers AS (
SELECT
ticker,
round(toFloat64(sum(amount)), 4) AS annual_usd
FROM monthly
GROUP BY ticker
HAVING count() = 12
AND countDistinct(toStartOfMonth(ex_dividend_date)) = 12
),
last_price AS (
SELECT
ticker,
toFloat64(argMax(close, date)) AS last_close
FROM global_markets.stocks_daily_aggs
WHERE date >= today() - 30
AND ticker IN (SELECT ticker FROM payers)
GROUP BY ticker
)
SELECT
p.ticker AS ticker,
round(100 * p.annual_usd / x.last_close, 2) AS gross_yield_pct,
round(100 * p.annual_usd * 0.70 / x.last_close, 2) AS net_yield_pct
FROM payers AS p
INNER JOIN last_price AS x ON x.ticker = p.ticker
WHERE x.last_close >= 5
AND 100 * p.annual_usd / x.last_close BETWEEN 2 AND 25
ORDER BY 100 * p.annual_usd / x.last_close DESC
LIMIT 12
Работайте с этими данными в своём ИИ-ассистенте
Открывается готовым к запросам, с данными этой страницы. Бесплатно, без аккаунта.