{"slug":"leaps-vs-margin-loan-financing-cost","qid":"parity_ladder","label":"parity_ladder","post_title":"leaps-vs-margin-loan-financing-cost","post_url":"/blog/leaps-vs-margin-loan-financing-cost#q-parity_ladder","columns":["strike","stock_price","call_price","put_price","net_debit","amount_financed","term_label","expiry_label","priced_on"],"rows":[{"strike":"$250","stock_price":336.86,"call_price":107.5,"put_price":7.51,"net_debit":99.99,"amount_financed":236.87,"term_label":"450 calendar days","expiry_label":"Dec 2027","priced_on":"Sep 23, 2026"},{"strike":"$300","stock_price":336.86,"call_price":71.96,"put_price":18.48,"net_debit":53.48,"amount_financed":283.38,"term_label":"450 calendar days","expiry_label":"Dec 2027","priced_on":"Sep 23, 2026"},{"strike":"$310","stock_price":336.86,"call_price":66.27,"put_price":21.5,"net_debit":44.77,"amount_financed":292.09,"term_label":"450 calendar days","expiry_label":"Dec 2027","priced_on":"Sep 23, 2026"},{"strike":"$320","stock_price":336.86,"call_price":60,"put_price":26.45,"net_debit":33.55,"amount_financed":303.31,"term_label":"450 calendar days","expiry_label":"Dec 2027","priced_on":"Sep 23, 2026"}],"shape":"table","sql":"SELECT\n    concat('$', toString(toUInt32(strike_price)))                          AS strike,\n    round(avg(toFloat64(underlying_close)), 2)                             AS stock_price,\n    round(avgIf(toFloat64(option_close), leg = 'call'), 2)                 AS call_price,\n    round(avgIf(toFloat64(option_close), leg = 'put'), 2)                  AS put_price,\n    round(avgIf(toFloat64(option_close), leg = 'call')\n        - avgIf(toFloat64(option_close), leg = 'put'), 2)                  AS net_debit,\n    round(avg(toFloat64(underlying_close))\n        - avgIf(toFloat64(option_close), leg = 'call')\n        + avgIf(toFloat64(option_close), leg = 'put'), 2)                  AS amount_financed,\n    concat(toString(max(days_to_expiry)), ' calendar days')                AS term_label,\n    formatDateTime(max(expiration_date), '%b %Y')                          AS expiry_label,\n    formatDateTime(max(date), '%b %e, %Y')                                 AS priced_on\nFROM\n(\n    SELECT\n        strike_price,\n        underlying_close,\n        option_close,\n        days_to_expiry,\n        expiration_date,\n        date,\n        if(lower(toString(option_type)) LIKE 'c%', 'call', 'put') AS leg\n    FROM global_markets.options_greeks\n    WHERE underlying_symbol = 'AAPL'\n      AND date = (\n            SELECT max(date)\n            FROM global_markets.options_greeks\n            WHERE underlying_symbol = 'AAPL'\n      )\n      AND expiration_date = (\n            SELECT expiration_date\n            FROM global_markets.options_greeks\n            WHERE underlying_symbol = 'AAPL'\n              AND date = (\n                    SELECT max(date)\n                    FROM global_markets.options_greeks\n                    WHERE underlying_symbol = 'AAPL'\n              )\n              AND days_to_expiry >= 200\n              AND toDayOfWeek(expiration_date) = 5\n            GROUP BY expiration_date\n            ORDER BY abs(toInt32(max(days_to_expiry)) - 450) ASC\n            LIMIT 1\n      )\n      AND toFloat64(option_close) > 0\n      AND toFloat64(strike_price) / toFloat64(underlying_close) BETWEEN 0.50 AND 0.95\n      AND modulo(toUInt32(strike_price), 10) = 0\n)\nGROUP BY strike_price\nHAVING countIf(leg = 'call') > 0\n   AND countIf(leg = 'put') > 0\nORDER BY strike_price\nLIMIT 12","computed_at":"2026-09-25T15:04:25.457224+00:00","elapsed":0.005750589}