{"slug":"how-many-puts-to-hedge-a-portfolio","qid":"hedge_math","label":"hedge_math","post_title":"how-many-puts-to-hedge-a-portfolio","post_url":"/blog/how-many-puts-to-hedge-a-portfolio#q-hedge_math","columns":["product","priced_from","reference_level","notional_per_contract_k","contracts_needed","exposure_covered_multiple"],"rows":[{"product":"SPX put (cash settled)","priced_from":"Sep 28, 2026","reference_level":7676.4,"notional_per_contract_k":767.6,"contracts_needed":0.25,"exposure_covered_multiple":4.06},{"product":"SPY put (delivers shares)","priced_from":"Sep 28, 2026","reference_level":767.64,"notional_per_contract_k":76.8,"contracts_needed":2.46,"exposure_covered_multiple":0.41},{"product":"XSP put (cash settled)","priced_from":"Sep 28, 2026","reference_level":767.64,"notional_per_contract_k":76.8,"contracts_needed":2.46,"exposure_covered_multiple":0.41}],"shape":"table","sql":"SELECT\n    p.product                                       AS product,\n    s.asof_label                                    AS priced_from,\n    round(s.px * p.index_units, 2)                  AS reference_level,\n    round(s.px * p.index_units * 100 / 1000, 1)     AS notional_per_contract_k,\n    round(189000 / (s.px * p.index_units * 100), 2) AS contracts_needed,\n    round(s.px * p.index_units * 100 / 189000, 2)   AS exposure_covered_multiple\nFROM\n(\n    SELECT 'SPX put (cash settled)' AS product, 10 AS index_units\n    UNION ALL\n    SELECT 'SPY put (delivers shares)' AS product, 1 AS index_units\n    UNION ALL\n    SELECT 'XSP put (cash settled)' AS product, 1 AS index_units\n) AS p\nCROSS JOIN\n(\n    SELECT\n        argMax(toFloat64(close), date)         AS px,\n        formatDateTime(max(date), '%b %e, %Y') AS asof_label\n    FROM global_markets.stocks_daily_aggs\n    WHERE ticker = 'SPY'\n      AND date >= today() - 30\n) AS s\nORDER BY notional_per_contract_k DESC, product","computed_at":"2026-09-28T15:14:56.196291+00:00","elapsed":0.039125311}