{"slug":"collar-greeks-as-the-stock-moves","qid":"gamma_by_expiry","label":"Net collar gamma at 90, 30 and 7 days to expiry","post_title":"Collar Option Greeks as the Stock Moves","post_url":"/blog/collar-greeks-as-the-stock-moves#q-gamma_by_expiry","columns":["spot_price","gamma_90d","gamma_30d","gamma_7d"],"rows":[{"spot_price":"$85","gamma_90d":3.01,"gamma_30d":5.05,"gamma_7d":3.7},{"spot_price":"$90","gamma_90d":2.33,"gamma_30d":6.01,"gamma_7d":12.79},{"spot_price":"$100","gamma_90d":-0.67,"gamma_30d":-0.88,"gamma_7d":-0.19},{"spot_price":"$110","gamma_90d":-2.27,"gamma_30d":-4.96,"gamma_7d":-10.47},{"spot_price":"$118","gamma_90d":-1.94,"gamma_30d":-2.68,"gamma_7d":-1.15}],"shape":"ranking","sql":"SELECT\n    spot_price,\n    round(maxIf(net_gamma, days_out = 90), 2) AS gamma_90d,\n    round(maxIf(net_gamma, days_out = 30), 2) AS gamma_30d,\n    round(maxIf(net_gamma, days_out = 7),  2) AS gamma_7d\nFROM\n(\n    WITH\n        100.0 AS contract_multiplier,\n        90.0  AS put_strike,\n        110.0 AS call_strike,\n        0.25  AS vol,\n        0.04  AS rate\n    SELECT\n        spot,\n        days_out,\n        concat('$', toString(toUInt16(spot)))                                              AS spot_price,\n        days_out / 365.0                                                                   AS years,\n        (log(spot / put_strike)  + (rate + 0.5 * vol * vol) * years) / (vol * sqrt(years)) AS d1_put,\n        (log(spot / call_strike) + (rate + 0.5 * vol * vol) * years) / (vol * sqrt(years)) AS d1_call,\n        exp(-0.5 * d1_put  * d1_put)  / sqrt(2 * pi())                                     AS pdf_put,\n        exp(-0.5 * d1_call * d1_call) / sqrt(2 * pi())                                     AS pdf_call,\n        contract_multiplier * (pdf_put - pdf_call) / (spot * vol * sqrt(years))            AS net_gamma\n    FROM\n    (\n        SELECT\n            spot,\n            arrayJoin([7, 30, 90]) AS days_out\n        FROM\n        (\n            SELECT arrayJoin([85.0, 90.0, 100.0, 110.0, 118.0]) AS spot\n        )\n    )\n)\nGROUP BY spot, spot_price\nORDER BY spot","computed_at":"2026-08-18T14:47:00.981897+00:00","elapsed":0.164489918}