{"slug":"stock-repair-strategy","qid":"repair_ladder","label":"The 1x2 priced at every short strike above the money","post_title":"Stock Repair Strategy: A Real NKE Example","post_url":"/blog/stock-repair-strategy#q-repair_ladder","columns":["strike","pct_above_spot","short_call_price","net_cost_1x2","max_pnl_per_share","as_of","expiry_label"],"rows":[{"strike":"40","pct_above_spot":10,"short_call_price":1.4,"net_cost_1x2":-0.45,"max_pnl_per_share":-31.62,"as_of":"Sep 17, 2026","expiry_label":"Nov 20, 2026 (64 days out)"},{"strike":"42.5","pct_above_spot":16.9,"short_call_price":0.85,"net_cost_1x2":0.65,"max_pnl_per_share":-27.72,"as_of":"Sep 17, 2026","expiry_label":"Nov 20, 2026 (64 days out)"},{"strike":"45","pct_above_spot":23.8,"short_call_price":0.5,"net_cost_1x2":1.35,"max_pnl_per_share":-23.42,"as_of":"Sep 17, 2026","expiry_label":"Nov 20, 2026 (64 days out)"},{"strike":"47.5","pct_above_spot":30.6,"short_call_price":0.31,"net_cost_1x2":1.73,"max_pnl_per_share":-18.8,"as_of":"Sep 17, 2026","expiry_label":"Nov 20, 2026 (64 days out)"}],"shape":"table","sql":"WITH\n    (\n        SELECT max(date)\n        FROM global_markets.options_greeks\n        WHERE underlying_symbol = 'NKE'\n          AND iv_converged = 1\n          AND volume > 0\n    ) AS asof_date,\n    (\n        SELECT expiration_date\n        FROM global_markets.options_greeks\n        WHERE underlying_symbol = 'NKE'\n          AND lower(toString(option_type)) IN ('call', 'c')\n          AND iv_converged = 1\n          AND volume > 0\n          AND days_to_expiry BETWEEN 60 AND 90\n          AND date = (\n              SELECT max(date)\n              FROM global_markets.options_greeks\n              WHERE underlying_symbol = 'NKE'\n                AND iv_converged = 1\n                AND volume > 0\n          )\n        GROUP BY expiration_date\n        ORDER BY sum(volume) DESC, expiration_date\n        LIMIT 1\n    ) AS expiry,\n    (\n        SELECT toFloat64(max(close))\n        FROM global_markets.stocks_daily_aggs\n        WHERE ticker = 'NKE'\n          AND date >= today() - 371\n          AND date <  today()\n    ) AS purchase_price\nSELECT\n    toString(k)                                                     AS strike,\n    round((k / spot - 1) * 100, 1)                                  AS pct_above_spot,\n    round(px, 2)                                                    AS short_call_price,\n    round(atm_px - 2 * px, 2)                                       AS net_cost_1x2,\n    round(2 * k - atm_k - (atm_px - 2 * px) - purchase_price, 2)    AS max_pnl_per_share,\n    concat(formatDateTime(asof_date, '%b'), ' ', toString(toDayOfMonth(asof_date)), ', ', toString(toYear(asof_date))) AS as_of,\n    concat(formatDateTime(expiry, '%b'), ' ', toString(toDayOfMonth(expiry)), ', ', toString(toYear(expiry)),\n           ' (', toString(dateDiff('day', asof_date, expiry)), ' days out)')                                          AS expiry_label\nFROM\n(\n    SELECT\n        k,\n        px,\n        spot,\n        first_value(k)  OVER (ORDER BY abs(k - spot), k ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS atm_k,\n        first_value(px) OVER (ORDER BY abs(k - spot), k ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS atm_px\n    FROM\n    (\n        SELECT\n            toFloat64(strike_price)              AS k,\n            toFloat64(any(option_close))         AS px,\n            toFloat64(any(underlying_close))     AS spot\n        FROM global_markets.options_greeks\n        WHERE underlying_symbol = 'NKE'\n          AND lower(toString(option_type)) IN ('call', 'c')\n          AND date = asof_date\n          AND expiration_date = expiry\n          AND iv_converged = 1\n          AND volume > 0\n        GROUP BY strike_price\n    )\n)\nWHERE k > atm_k\n  AND k <= atm_k * 1.30\nORDER BY k","computed_at":"2026-09-19T15:36:49.402960+00:00","elapsed":6.421345764}