{"slug":"stock-repair-strategy","qid":"repair_levels","label":"The repair, priced: strikes, cost, breakeven and cap","post_title":"Stock Repair Strategy: A Real NKE Example","post_url":"/blog/stock-repair-strategy#q-repair_levels","columns":["label","per_share","vs_spot_pct"],"rows":[{"label":"Current share price","per_share":36.36,"vs_spot_pct":0},{"label":"Long call strike (at the money)","per_share":37.5,"vs_spot_pct":3.1},{"label":"Long call price","per_share":2.35,"vs_spot_pct":6.5},{"label":"Short call strike (the recovery cap)","per_share":40,"vs_spot_pct":10},{"label":"Short call price (each of the two)","per_share":1.4,"vs_spot_pct":3.9},{"label":"Net cost of the 1x2 per share (negative = credit)","per_share":-0.45,"vs_spot_pct":-1.2},{"label":"Repair breakeven","per_share":55.81,"vs_spot_pct":53.5},{"label":"Original purchase price (hold-and-hope breakeven)","per_share":74.57,"vs_spot_pct":105.1},{"label":"Crossover price (plain shares pull ahead above this)","per_share":42.95,"vs_spot_pct":18.1}],"shape":"ranking","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    label,\n    round(raw_value, 2)    AS per_share,\n    round(raw_pct, 1)      AS vs_spot_pct\nFROM\n(\n    SELECT\n        any(spot)          AS spot_px,\n        any(atm_k)         AS k1,\n        any(atm_px)        AS k1_px,\n        max(k)             AS k2,\n        argMax(px, k)      AS k2_px\n    FROM\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    )\n    WHERE k > atm_k\n      AND k <= atm_k * 1.30\n      AND atm_px - 2 * px <= 0\n) AS pick\nARRAY JOIN\n    [0, 1, 2, 3, 4, 5, 6, 7, 8] AS ord,\n    ['Current share price',\n     'Long call strike (at the money)',\n     'Long call price',\n     'Short call strike (the recovery cap)',\n     'Short call price (each of the two)',\n     'Net cost of the 1x2 per share (negative = credit)',\n     'Repair breakeven',\n     'Original purchase price (hold-and-hope breakeven)',\n     'Crossover price (plain shares pull ahead above this)'] AS label,\n    [spot_px,\n     k1,\n     k1_px,\n     k2,\n     k2_px,\n     k1_px - 2 * k2_px,\n     (purchase_price + k1 + (k1_px - 2 * k2_px)) / 2,\n     purchase_price,\n     2 * k2 - k1 - (k1_px - 2 * k2_px)] AS raw_value,\n    [0,\n     (k1 / spot_px - 1) * 100,\n     k1_px / spot_px * 100,\n     (k2 / spot_px - 1) * 100,\n     k2_px / spot_px * 100,\n     (k1_px - 2 * k2_px) / spot_px * 100,\n     ((purchase_price + k1 + (k1_px - 2 * k2_px)) / 2 / spot_px - 1) * 100,\n     (purchase_price / spot_px - 1) * 100,\n     ((2 * k2 - k1 - (k1_px - 2 * k2_px)) / spot_px - 1) * 100] AS raw_pct\nORDER BY ord","computed_at":"2026-09-19T15:36:56.509025+00:00","elapsed":6.998756525}