{"slug":"how-delta-hedging-works","qid":"hedge_trade_size","label":"Shares a 1% move forces per 100 at-the-money SPY contracts, by time left (June 2026)","post_title":"How Delta Hedging Actually Works","post_url":"/blog/how-delta-hedging-works#q-hedge_trade_size","columns":["expiry_window","hedge_shares"],"rows":[{"expiry_window":"0-2 days","hedge_shares":3429},{"expiry_window":"3-7 days","hedge_shares":2282},{"expiry_window":"8-21 days","hedge_shares":1542},{"expiry_window":"22-45 days","hedge_shares":905},{"expiry_window":"46-90 days","hedge_shares":587}],"shape":"ranking","sql":"SELECT\n    multiIf(bucket = 1, '0-2 days',\n            bucket = 2, '3-7 days',\n            bucket = 3, '8-21 days',\n            bucket = 4, '22-45 days',\n                        '46-90 days')            AS expiry_window,\n    toUInt32(round(avg(shares_per_contract) * 100)) AS hedge_shares\nFROM\n(\n    SELECT\n        multiIf(days_to_expiry <= 2,  1,\n                days_to_expiry <= 7,  2,\n                days_to_expiry <= 21, 3,\n                days_to_expiry <= 45, 4,\n                                      5) AS bucket,\n        toFloat64(gamma) * toFloat64(underlying_close) AS shares_per_contract\n    FROM global_markets.options_greeks\n    WHERE underlying_symbol = 'SPY'\n      AND iv_converged = 1\n      AND volume > 0\n      AND underlying_close > 0\n      AND days_to_expiry BETWEEN 0 AND 90\n      AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) <= 0.01\n      AND date >= '2026-06-01'\n      AND date <  '2026-07-01'\n)\nGROUP BY bucket\nORDER BY bucket","computed_at":"2026-08-16T14:39:45.446571+00:00","elapsed":0.00321969}