How to Read an Option Chain, Column by Column
Where the trading happened: SPY contract volume by strike, August 21 2026 expiry, July 15 2026ranking ·
2026-07-31 · 8×3
Median quoted bid and ask by strike: SPY calls expiring August 21 2026, regular session of July 15 2026table ·
2026-07-31 · 7×5
Implied volatility by strike: SPY options expiring August 21 2026, as of July 15 2026ranking ·
2026-07-31 · 11×3
SPY option volume by time to expiration, July 15 2026ranking ·
2026-07-31 · 5×4
One expiration of the SPY chain: closing prices and delta by strike, August 21 2026 expiry, as of July 15 2026table ·
2026-07-31 · 8×6
← Previous
page 3 of 3
Monthly 30 delta call premium versus trailing dividend yield
Monthly 30 delta call premium versus trailing dividend yield
| symbol | monthly_call_premium_pct | trailing_dividend_yield_pct | quarterly_dividend_pct |
|---|---|---|---|
| KO | 1.07 | 2.44 | 0.61 |
| PG | 1.17 | 2.95 | 0.74 |
| XOM | 1.53 | 2.53 | 0.63 |
| JNJ | 1.3 | 1.99 | 0.5 |
| MSFT | 1.83 | 0.71 | 0.18 |
| AAPL | 1.41 | 0.32 | 0.08 |
| NVDA | 1.98 | 0.23 | 0.06 |
the exact SQL behind every number
WITH
premium AS
(
SELECT
underlying_symbol AS symbol,
round(100 * avg(toFloat64(option_close) / toFloat64(underlying_close)), 2) AS monthly_call_premium_pct
FROM global_markets.options_greeks
WHERE underlying_symbol IN ('KO', 'PG', 'JNJ', 'XOM', 'AAPL', 'MSFT', 'NVDA')
AND upper(toString(option_type)) IN ('C', 'CALL')
AND iv_converged = 1
AND volume > 0
AND days_to_expiry BETWEEN 25 AND 40
AND toFloat64(delta) BETWEEN 0.25 AND 0.35
AND date >= '2026-07-01'
AND date < '2026-10-01'
GROUP BY symbol
),
cash AS
(
SELECT
ticker AS symbol,
sum(toFloat64(cash_amount)) AS ttm_dividend_usd
FROM
(
SELECT
ticker,
ex_dividend_date,
max(cash_amount) AS cash_amount
FROM global_markets.stocks_dividends
WHERE ticker IN ('KO', 'PG', 'JNJ', 'XOM', 'AAPL', 'MSFT', 'NVDA')
AND ex_dividend_date >= '2025-10-01'
AND ex_dividend_date < '2026-10-01'
GROUP BY ticker, ex_dividend_date
)
GROUP BY symbol
),
price AS
(
SELECT
ticker AS symbol,
toFloat64(argMax(close, date)) AS last_close
FROM global_markets.stocks_daily_aggs
WHERE ticker IN ('KO', 'PG', 'JNJ', 'XOM', 'AAPL', 'MSFT', 'NVDA')
AND date >= '2026-09-01'
AND date < '2026-10-01'
GROUP BY symbol
)
SELECT
p.symbol AS symbol,
p.monthly_call_premium_pct AS monthly_call_premium_pct,
round(100 * c.ttm_dividend_usd / pr.last_close, 2) AS trailing_dividend_yield_pct,
round(25 * c.ttm_dividend_usd / pr.last_close, 2) AS quarterly_dividend_pct
FROM premium AS p
INNER JOIN cash AS c ON c.symbol = p.symbol
INNER JOIN price AS pr ON pr.symbol = p.symbol
ORDER BY (p.symbol = 'KO') DESC, trailing_dividend_yield_pct DESC
More from this analysisCovered Calls on KO: Premium vs Dividend
KO call chain: premium split into intrinsic and extrinsic value, by delta band
ranking 8×4
→
Median near-the-money implied volatility, July to September 2026
ranking 7×2
→
KO 30 delta monthly call premium, month by month
series 12×4
→
Extrinsic value in KO's in-the-money calls versus the dividend, in the week before each ex date
series 11×5
→
See all 3,256 queries →