{"slug":"put-credit-spread-win-rate-and-breakeven","qid":"pinned_trace","label":"pinned_trace","post_title":"put-credit-spread-win-rate-and-breakeven","post_url":"/blog/lang/de/put-credit-spread-win-rate-and-breakeven#q-pinned_trace","columns":["date","spy_close","short_strike","breakeven"],"rows":[{"date":"2022-08-16","spy_close":429.7,"short_strike":415,"breakeven":412.86},{"date":"2022-08-17","spy_close":426.65,"short_strike":415,"breakeven":412.86},{"date":"2022-08-18","spy_close":427.89,"short_strike":415,"breakeven":412.86},{"date":"2022-08-19","spy_close":422.14,"short_strike":415,"breakeven":412.86},{"date":"2022-08-22","spy_close":413.35,"short_strike":415,"breakeven":412.86},{"date":"2022-08-23","spy_close":412.35,"short_strike":415,"breakeven":412.86},{"date":"2022-08-24","spy_close":413.67,"short_strike":415,"breakeven":412.86},{"date":"2022-08-25","spy_close":419.51,"short_strike":415,"breakeven":412.86},{"date":"2022-08-26","spy_close":405.31,"short_strike":415,"breakeven":412.86},{"date":"2022-08-29","spy_close":402.63,"short_strike":415,"breakeven":412.86},{"date":"2022-08-30","spy_close":398.21,"short_strike":415,"breakeven":412.86},{"date":"2022-08-31","spy_close":395.18,"short_strike":415,"breakeven":412.86},{"date":"2022-09-01","spy_close":396.42,"short_strike":415,"breakeven":412.86},{"date":"2022-09-02","spy_close":392.24,"short_strike":415,"breakeven":412.86},{"date":"2022-09-06","spy_close":390.76,"short_strike":415,"breakeven":412.86},{"date":"2022-09-07","spy_close":397.78,"short_strike":415,"breakeven":412.86},{"date":"2022-09-08","spy_close":400.38,"short_strike":415,"breakeven":412.86},{"date":"2022-09-09","spy_close":406.6,"short_strike":415,"breakeven":412.86},{"date":"2022-09-12","spy_close":410.97,"short_strike":415,"breakeven":412.86},{"date":"2022-09-13","spy_close":393.1,"short_strike":415,"breakeven":412.86},{"date":"2022-09-14","spy_close":394.6,"short_strike":415,"breakeven":412.86},{"date":"2022-09-15","spy_close":390.12,"short_strike":415,"breakeven":412.86},{"date":"2022-09-16","spy_close":385.56,"short_strike":415,"breakeven":412.86},{"date":"2022-09-19","spy_close":388.55,"short_strike":415,"breakeven":412.86},{"date":"2022-09-20","spy_close":384.09,"short_strike":415,"breakeven":412.86},{"date":"2022-09-21","spy_close":377.39,"short_strike":415,"breakeven":412.86},{"date":"2022-09-22","spy_close":374.22,"short_strike":415,"breakeven":412.86},{"date":"2022-09-23","spy_close":367.95,"short_strike":415,"breakeven":412.86},{"date":"2022-09-26","spy_close":364.31,"short_strike":415,"breakeven":412.86},{"date":"2022-09-27","spy_close":363.38,"short_strike":415,"breakeven":412.86},{"date":"2022-09-28","spy_close":370.53,"short_strike":415,"breakeven":412.86},{"date":"2022-09-29","spy_close":362.79,"short_strike":415,"breakeven":412.86},{"date":"2022-09-30","spy_close":357.18,"short_strike":415,"breakeven":412.86}],"shape":"series","sql":"WITH\npin AS\n(\n    SELECT\n        date                                              AS entry_date,\n        argMin(expiration_date, abs(days_to_expiry - 45)) AS expiry\n    FROM global_markets.options_greeks\n    WHERE underlying_symbol = 'SPY'\n      AND lower(option_type) IN ('put', 'p')\n      AND iv_converged = 1\n      AND volume > 0\n      AND days_to_expiry BETWEEN 38 AND 52\n      AND date = '2022-08-16'\n    GROUP BY date\n),\nshort_leg AS\n(\n    SELECT\n        p.entry_date                                                AS entry_date,\n        p.expiry                                                    AS expiry,\n        argMin(toFloat64(g.strike_price), abs(abs(g.delta) - 0.30)) AS short_strike,\n        argMin(toFloat64(g.option_close), abs(abs(g.delta) - 0.30)) AS short_mark\n    FROM global_markets.options_greeks AS g\n    INNER JOIN pin AS p\n        ON g.date = p.entry_date AND g.expiration_date = p.expiry\n    WHERE g.underlying_symbol = 'SPY'\n      AND lower(g.option_type) IN ('put', 'p')\n      AND g.iv_converged = 1\n      AND g.volume > 0\n      AND g.date = '2022-08-16'\n      AND abs(g.delta) BETWEEN 0.20 AND 0.40\n    GROUP BY p.entry_date, p.expiry\n),\nlong_leg AS\n(\n    SELECT\n        s.entry_date                                                                             AS entry_date,\n        argMin(toFloat64(g.option_close), abs(toFloat64(g.strike_price) - (s.short_strike - 10))) AS long_mark\n    FROM global_markets.options_greeks AS g\n    INNER JOIN short_leg AS s\n        ON g.date = s.entry_date AND g.expiration_date = s.expiry\n    WHERE g.underlying_symbol = 'SPY'\n      AND lower(g.option_type) IN ('put', 'p')\n      AND g.iv_converged = 1\n      AND g.date = '2022-08-16'\n      AND toFloat64(g.strike_price) BETWEEN s.short_strike - 12 AND s.short_strike - 8\n    GROUP BY s.entry_date\n),\nspread AS\n(\n    SELECT\n        s.entry_date                                  AS entry_date,\n        s.expiry                                      AS expiry,\n        s.short_strike                                AS short_strike,\n        s.short_strike - (s.short_mark - l.long_mark) AS breakeven\n    FROM short_leg AS s\n    INNER JOIN long_leg AS l ON s.entry_date = l.entry_date\n)\nSELECT\n    toString(d.date)             AS date,\n    round(toFloat64(d.close), 2) AS spy_close,\n    round(p.short_strike, 2)     AS short_strike,\n    round(p.breakeven, 2)        AS breakeven\nFROM global_markets.stocks_daily_aggs AS d\nCROSS JOIN spread AS p\nWHERE d.ticker = 'SPY'\n  AND d.date >= p.entry_date\n  AND d.date <= p.expiry\nORDER BY d.date","computed_at":"2026-10-01T15:49:13.980384+00:00","elapsed":0.00843791}