after_tax_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-tax-for-gulf-investors.
| ticker | close_label | price_date_label | gross_yield_pct | net_yield_pct |
|---|---|---|---|---|
| KO | $87.02 | Sep 30, 2026 | 2.41 | 1.69 |
| QCOM | $183.32 | Sep 30, 2026 | 1.97 | 1.38 |
| MSFT | $508.57 | Sep 30, 2026 | 0.72 | 0.5 |
| AAPL | $329.64 | Sep 30, 2026 | 0.32 | 0.23 |
- Rows × columns
- 4 × 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 | 4 distinct values (AAPL, KO, MSFT…) | |
close_label |
text | 4 distinct values ($183.32, $329.64, $508.57…) | |
price_date_label |
text | 1 distinct value (Sep 30, 2026) | |
gross_yield_pct |
number | 0.32 to 2.41 | percent |
net_yield_pct |
number | 0.23 to 1.69 | 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,
sum(amount) AS ttm_per_share
FROM
(
SELECT
ticker,
id,
any(toFloat64(cash_amount)) AS amount
FROM global_markets.stocks_dividends
WHERE ticker IN ('QCOM', 'AAPL', 'MSFT', 'KO')
AND ex_dividend_date >= today() - 365
AND ex_dividend_date < today()
GROUP BY ticker, id
)
GROUP BY ticker
),
px AS
(
SELECT
ticker,
argMax(toFloat64(close), date) AS last_close,
max(date) AS as_of
FROM global_markets.stocks_daily_aggs
WHERE ticker IN ('QCOM', 'AAPL', 'MSFT', 'KO')
AND date >= today() - 20
GROUP BY ticker
)
SELECT
t.ticker AS ticker,
concat('$', toString(round(p.last_close, 2))) AS close_label,
formatDateTime(p.as_of, '%b %e, %Y') AS price_date_label,
round(100 * t.ttm_per_share / p.last_close, 2) AS gross_yield_pct,
round(100 * t.ttm_per_share * 0.70 / p.last_close, 2) AS net_yield_pct
FROM ttm AS t
INNER JOIN px AS p ON p.ticker = t.ticker
ORDER BY gross_yield_pct DESC
اعمل على هذه البيانات في مساعد الذكاء الاصطناعي الخاص بك
يُفتح جاهزًا للاستعلام، مع بيانات هذه الصفحة. مجانًا، دون حساب.