{"slug":"iron-condor-screener-from-the-free-sql-api","qid":"chain","label":"chain","post_title":"iron-condor-screener-from-the-free-sql-api","post_url":"/blog/iron-condor-screener-from-the-free-sql-api#q-chain","columns":["strike","put_delta","call_delta","expiry","as_of"],"rows":[{"strike":"720","put_delta":-0.123,"call_delta":0.918,"expiry":"Oct 30, 2026","as_of":"Sep 24, 2026"},{"strike":"725","put_delta":-0.137,"call_delta":0.874,"expiry":"Oct 30, 2026","as_of":"Sep 24, 2026"},{"strike":"730","put_delta":-0.162,"call_delta":0.859,"expiry":"Oct 30, 2026","as_of":"Sep 24, 2026"},{"strike":"735","put_delta":-0.183,"call_delta":0.822,"expiry":"Oct 30, 2026","as_of":"Sep 24, 2026"},{"strike":"740","put_delta":-0.212,"call_delta":0.759,"expiry":"Oct 30, 2026","as_of":"Sep 24, 2026"},{"strike":"745","put_delta":-0.249,"call_delta":0.73,"expiry":"Oct 30, 2026","as_of":"Sep 24, 2026"},{"strike":"750","put_delta":-0.288,"call_delta":0.692,"expiry":"Oct 30, 2026","as_of":"Sep 24, 2026"},{"strike":"755","put_delta":-0.332,"call_delta":0.651,"expiry":"Oct 30, 2026","as_of":"Sep 24, 2026"},{"strike":"760","put_delta":-0.384,"call_delta":0.61,"expiry":"Oct 30, 2026","as_of":"Sep 24, 2026"},{"strike":"765","put_delta":-0.441,"call_delta":0.557,"expiry":"Oct 30, 2026","as_of":"Sep 24, 2026"},{"strike":"770","put_delta":-0.504,"call_delta":0.497,"expiry":"Oct 30, 2026","as_of":"Sep 24, 2026"},{"strike":"775","put_delta":-0.576,"call_delta":0.434,"expiry":"Oct 30, 2026","as_of":"Sep 24, 2026"},{"strike":"780","put_delta":-0.639,"call_delta":0.368,"expiry":"Oct 30, 2026","as_of":"Sep 24, 2026"},{"strike":"785","put_delta":-0.66,"call_delta":0.309,"expiry":"Oct 30, 2026","as_of":"Sep 24, 2026"},{"strike":"790","put_delta":-0.767,"call_delta":0.246,"expiry":"Oct 30, 2026","as_of":"Sep 24, 2026"},{"strike":"800","put_delta":-0.821,"call_delta":0.143,"expiry":"Oct 30, 2026","as_of":"Sep 24, 2026"}],"shape":"table","sql":"WITH\n    (\n        SELECT max(date)\n        FROM global_markets.options_greeks\n        WHERE underlying_symbol = 'SPY'\n    ) AS snapshot,\n    (\n        SELECT expiration_date\n        FROM global_markets.options_greeks\n        WHERE underlying_symbol = 'SPY'\n          AND date = snapshot\n          AND iv_converged = 1\n          AND volume > 0\n          AND days_to_expiry BETWEEN 25 AND 45\n        GROUP BY expiration_date\n        ORDER BY sum(volume) DESC\n        LIMIT 1\n    ) AS target_expiry\nSELECT\n    toString(toUInt32(toFloat64(strike_price)))              AS strike,\n    round(avgIf(toFloat64(delta), toFloat64(delta) < 0), 3)  AS put_delta,\n    round(avgIf(toFloat64(delta), toFloat64(delta) > 0), 3)  AS call_delta,\n    formatDateTime(target_expiry, '%b %e, %Y')               AS expiry,\n    formatDateTime(snapshot, '%b %e, %Y')                    AS as_of\nFROM global_markets.options_greeks\nWHERE underlying_symbol = 'SPY'\n  AND date = snapshot\n  AND expiration_date = target_expiry\n  AND iv_converged = 1\n  AND volume > 0\n  AND toFloat64(option_close) > 0\n  AND toUInt32(round(toFloat64(strike_price) * 100)) % 500 = 0\n  AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.06\nGROUP BY strike_price\nHAVING countIf(toFloat64(delta) < 0) > 0\n   AND countIf(toFloat64(delta) > 0) > 0\nORDER BY strike_price","computed_at":"2026-09-28T15:27:51.365347+00:00","elapsed":0.005298337}