{"slug":"reading-an-event-contract-ladder","qid":"spy_call_ladder","label":"spy_call_ladder","post_title":"reading-an-event-contract-ladder","post_url":"/blog/reading-an-event-contract-ladder#q-spy_call_ladder","columns":["strike","call_price","as_of_label"],"rows":[{"strike":700,"call_price":59.13,"as_of_label":"May 29, 2026"},{"strike":710,"call_price":49.74,"as_of_label":"May 29, 2026"},{"strike":720,"call_price":40.14,"as_of_label":"May 29, 2026"},{"strike":730,"call_price":30.99,"as_of_label":"May 29, 2026"},{"strike":740,"call_price":23.03,"as_of_label":"May 29, 2026"},{"strike":750,"call_price":15.02,"as_of_label":"May 29, 2026"},{"strike":760,"call_price":8.98,"as_of_label":"May 29, 2026"},{"strike":770,"call_price":4.59,"as_of_label":"May 29, 2026"},{"strike":780,"call_price":1.97,"as_of_label":"May 29, 2026"},{"strike":790,"call_price":0.83,"as_of_label":"May 29, 2026"},{"strike":800,"call_price":0.26,"as_of_label":"May 29, 2026"},{"strike":810,"call_price":0.11,"as_of_label":"May 29, 2026"}],"shape":"ranking","sql":"WITH\n    pinned AS\n    (\n        SELECT max(date) AS as_of\n        FROM global_markets.options_greeks\n        WHERE underlying_symbol = 'SPY'\n          AND date <= '2026-05-29'\n    ),\n    chain AS\n    (\n        SELECT\n            date,\n            expiration_date,\n            strike_price,\n            option_close,\n            underlying_close,\n            volume\n        FROM global_markets.options_greeks\n        WHERE underlying_symbol = 'SPY'\n          AND date = (SELECT as_of FROM pinned)\n          AND iv_converged = 1\n          AND volume > 0\n          AND delta > 0.01\n          AND delta < 0.99\n          AND days_to_expiry BETWEEN 20 AND 45\n          AND toDayOfWeek(expiration_date) = 5\n    ),\n    busiest AS\n    (\n        SELECT expiration_date\n        FROM chain\n        GROUP BY expiration_date\n        ORDER BY sum(volume) DESC\n        LIMIT 1\n    )\nSELECT\n    toUInt32(round(toFloat64(strike_price)))   AS strike,\n    round(avg(toFloat64(option_close)), 2)     AS call_price,\n    formatDateTime(any(date), '%b %e, %Y')     AS as_of_label\nFROM chain\nWHERE expiration_date = (SELECT expiration_date FROM busiest)\n  AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.08\n  AND modulo(toUInt32(round(toFloat64(strike_price))), 10) = 0\nGROUP BY strike\nORDER BY strike","computed_at":"2026-10-01T15:24:59.940542+00:00","elapsed":0.003991815}