{"slug":"what-is-a-risk-reversal","qid":"structure","label":"The two legs closest to 25 delta, and what they net to","post_title":"Risk Reversal Options: Sell a Put, Buy a Call","post_url":"/blog/what-is-a-risk-reversal#q-structure","columns":["component","strike","delta","iv_pct","premium_per_share","stock_close"],"rows":[{"component":"short put (premium received)","strike":"$310","delta":-0.268,"iv_pct":31.69,"premium_per_share":5.25,"stock_close":"$326"},{"component":"long call (premium paid)","strike":"$347.5","delta":0.267,"iv_pct":30.63,"premium_per_share":4.6,"stock_close":"$326"},{"component":"net credit","strike":"","delta":0.535,"iv_pct":1.07,"premium_per_share":0.65,"stock_close":"$326"}],"shape":"table","sql":"SELECT\n    multiIf(ord = 1, 'short put (premium received)',\n            ord = 2, 'long call (premium paid)',\n            net >= 0, 'net credit', 'net debit')                                        AS component,\n    multiIf(ord = 1, concat('$', toString(put_strike)),\n            ord = 2, concat('$', toString(call_strike)), '')                            AS strike,\n    round(multiIf(ord = 1, put_delta, ord = 2, call_delta, call_delta - put_delta), 3) AS delta,\n    round(100 * multiIf(ord = 1, put_iv, ord = 2, call_iv, put_iv - call_iv), 2)      AS iv_pct,\n    round(multiIf(ord = 1, put_premium, ord = 2, call_premium, abs(net)), 2)          AS premium_per_share,\n    concat('$', toString(round(spot, 2)))                                             AS stock_close\nFROM\n(\n    SELECT\n        arrayJoin([1, 2, 3])          AS ord,\n        put_strike, put_delta, put_iv, put_premium,\n        call_strike, call_delta, call_iv, call_premium,\n        put_premium - call_premium    AS net,\n        spot\n    FROM\n    (\n        SELECT\n            anyIf(strike, side = 'put')     AS put_strike,\n            anyIf(delta, side = 'put')      AS put_delta,\n            anyIf(iv, side = 'put')         AS put_iv,\n            anyIf(premium, side = 'put')    AS put_premium,\n            anyIf(strike, side = 'call')    AS call_strike,\n            anyIf(delta, side = 'call')     AS call_delta,\n            anyIf(iv, side = 'call')        AS call_iv,\n            anyIf(premium, side = 'call')   AS call_premium,\n            any(spot)                       AS spot\n        FROM\n        (\n            SELECT\n                if(delta < 0, 'put', 'call')   AS side,\n                toFloat64(strike_price)        AS strike,\n                delta,\n                implied_volatility             AS iv,\n                toFloat64(option_close)        AS premium,\n                toFloat64(underlying_close)    AS spot\n            FROM global_markets.options_greeks\n            WHERE underlying_symbol = 'AAPL'\n              AND date = '2026-07-20'\n              AND expiration_date = '2026-08-21'\n              AND iv_converged = 1\n              AND volume > 0\n            ORDER BY abs(abs(delta) - 0.25)\n            LIMIT 1 BY side\n        )\n    )\n)\nORDER BY ord","computed_at":"2026-09-19T15:30:57.772719+00:00","elapsed":0.048851835}