{"slug":"collar-greeks-as-the-stock-moves","qid":"aapl_skew","label":"AAPL implied volatility by strike distance, downside puts vs upside calls (May to July 2026)","post_title":"Collar Option Greeks as the Stock Moves","post_url":"/blog/collar-greeks-as-the-stock-moves#q-aapl_skew","columns":["strike_distance","downside_put_iv_pct","upside_call_iv_pct","put_minus_call_pts"],"rows":[{"strike_distance":"2.5% out","downside_put_iv_pct":26.1,"upside_call_iv_pct":26,"put_minus_call_pts":0.1},{"strike_distance":"5% out","downside_put_iv_pct":27.1,"upside_call_iv_pct":25.8,"put_minus_call_pts":1.3},{"strike_distance":"7.5% out","downside_put_iv_pct":28.5,"upside_call_iv_pct":25.6,"put_minus_call_pts":2.9},{"strike_distance":"10% out","downside_put_iv_pct":30.3,"upside_call_iv_pct":26,"put_minus_call_pts":4.3},{"strike_distance":"12.5% out","downside_put_iv_pct":32.4,"upside_call_iv_pct":26.4,"put_minus_call_pts":6},{"strike_distance":"15% out","downside_put_iv_pct":34.5,"upside_call_iv_pct":26.7,"put_minus_call_pts":7.8}],"shape":"ranking","sql":"SELECT\n    concat(toString(distance_pct), '% out')                                    AS strike_distance,\n    round(100 * avgIf(implied_volatility, below_spot AND put_leg), 1)          AS downside_put_iv_pct,\n    round(100 * avgIf(implied_volatility, above_spot AND call_leg), 1)         AS upside_call_iv_pct,\n    round(100 * (avgIf(implied_volatility, below_spot AND put_leg)\n               - avgIf(implied_volatility, above_spot AND call_leg)), 1)       AS put_minus_call_pts\nFROM\n(\n    SELECT\n        implied_volatility,\n        round(abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) * 100 / 2.5) * 2.5 AS distance_pct,\n        toFloat64(strike_price) < toFloat64(underlying_close) AS below_spot,\n        toFloat64(strike_price) > toFloat64(underlying_close) AS above_spot,\n        delta < 0 AS put_leg,\n        delta > 0 AS call_leg\n    FROM global_markets.options_greeks\n    WHERE underlying_symbol = 'AAPL'\n      AND date >= '2026-05-01'\n      AND date <  '2026-08-01'\n      AND iv_converged = 1\n      AND volume > 0\n      AND days_to_expiry BETWEEN 20 AND 45\n      AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) BETWEEN 0.015 AND 0.16\n)\nGROUP BY distance_pct\nHAVING countIf(below_spot AND put_leg) > 50\n   AND countIf(above_spot AND call_leg) > 50\nORDER BY distance_pct","computed_at":"2026-08-18T14:47:01.335877+00:00","elapsed":0.039845221}