How Many Puts to Hedge a Portfolio: Formula
What rounding the contract count leaves uncovered, by account sizetable ·
2026-10-11 · 7×6
SPY put premium as a percent of protected notional, by strike distanceranking ·
2026-10-11 · 4×3
The same $189,000 hedge priced three ways (levels scaled from the ETF close)table ·
2026-10-11 · 3×6
Beta for six household names, measured over two consecutive 12-month windowsranking ·
2026-10-11 · 6×4
Implied Volatility vs Beta: What Each Tells You
NVDA beta against SPY, re-estimated monthly over a rolling twelve-month windowseries ·
2026-09-26 · 48×4
Average absolute daily move on sessions when SPY moved less than 0.25 percentranking ·
2026-09-26 · 10×4
Near-the-money implied volatility, 20 to 45 days to expiry, three weeks to Aug 21 2026table ·
2026-09-26 · 11×5
Beta and R-squared against SPY: daily returns versus weekly, twelve months to Aug 21 2026table ·
2026-09-26 · 10×5
What rounding the contract count leaves uncovered, by account size
What rounding the contract count leaves uncovered, by account size
| portfolio_size | exact_contracts | contracts_rounded_down | unhedged_usd_thousands | unhedged_pct | overhedge_pct |
|---|---|---|---|---|---|
| $60k | 0.81 | 0 | 63 | 105 | 24.76 |
| $120k | 1.62 | 1 | 48.1 | 40.12 | 24.76 |
| $180k | 2.43 | 2 | 33.3 | 18.49 | 24.76 |
| $300k | 4.05 | 4 | 3.6 | 1.19 | 24.76 |
| $500k | 6.74 | 6 | 57.9 | 11.57 | 4 |
| $700k | 9.44 | 9 | 34.3 | 4.9 | 6.22 |
| $900k | 12.14 | 12 | 10.7 | 1.19 | 7.46 |
the exact SQL behind every number
SELECT
portfolio_size,
round(exact_raw, 2) AS exact_contracts,
toUInt16(floor(exact_raw)) AS contracts_rounded_down,
round((beta_notional - floor(exact_raw) * contract_notional) / 1000, 1) AS unhedged_usd_thousands,
round(100 * (beta_notional - floor(exact_raw) * contract_notional) / portfolio, 2) AS unhedged_pct,
round(100 * (ceil(exact_raw) * contract_notional - beta_notional) / portfolio, 2) AS overhedge_pct
FROM
(
SELECT
v.portfolio AS portfolio,
concat('$', toString(intDiv(v.portfolio, 1000)), 'k') AS portfolio_size,
v.portfolio * 1.05 AS beta_notional,
s.px * 100 AS contract_notional,
v.portfolio * 1.05 / (s.px * 100) AS exact_raw
FROM
(
SELECT arrayJoin([60000, 120000, 180000, 300000, 500000, 700000, 900000]) AS portfolio
) AS v
CROSS JOIN
(
SELECT argMax(toFloat64(close), date) AS px
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'SPY'
AND date >= today() - 30
) AS s
)
ORDER BY exact_contracts
More from this analysisHow Many Puts to Hedge a Portfolio: Formula
The same $189,000 hedge priced three ways (levels scaled from the ETF close)
table 3×6
→
Beta for six household names, measured over two consecutive 12-month windows
ranking 6×4
→
SPY put premium as a percent of protected notional, by strike distance
ranking 4×3
→
Median theta and implied volatility by days to expiry: near-the-money SPY contracts, H1 2026
table 60×4
→
See all 3,256 queries →