{"slug":"box-spreads-and-the-implied-loan-rate","qid":"box_payoff","label":"A ten point box valued at every level SPY closed at in June 2026","post_title":"Box Spread Options and the Implied Loan Rate","post_url":"/blog/box-spreads-and-the-implied-loan-rate#q-box_payoff","columns":["settle_level","box_strikes","call_leg_value","put_leg_value","box_value"],"rows":[{"settle_level":"$725","box_strikes":"$740 / $750","call_leg_value":0,"put_leg_value":10,"box_value":10},{"settle_level":"$730","box_strikes":"$740 / $750","call_leg_value":0,"put_leg_value":10,"box_value":10},{"settle_level":"$735","box_strikes":"$740 / $750","call_leg_value":0,"put_leg_value":10,"box_value":10},{"settle_level":"$740","box_strikes":"$740 / $750","call_leg_value":0,"put_leg_value":10,"box_value":10},{"settle_level":"$745","box_strikes":"$740 / $750","call_leg_value":5,"put_leg_value":5,"box_value":10},{"settle_level":"$750","box_strikes":"$740 / $750","call_leg_value":10,"put_leg_value":0,"box_value":10},{"settle_level":"$755","box_strikes":"$740 / $750","call_leg_value":10,"put_leg_value":0,"box_value":10},{"settle_level":"$760","box_strikes":"$740 / $750","call_leg_value":10,"put_leg_value":0,"box_value":10}],"shape":"table","sql":"WITH\n    daily AS\n    (\n        SELECT\n            toDate(toTimeZone(window_start, 'America/New_York'))   AS d,\n            toFloat64(argMax(close, window_start))                 AS spy_close\n        FROM global_markets.delayed_stocks_minute_aggs\n        WHERE ticker = 'SPY'\n          AND window_start >= '2026-06-01 00:00:00'\n          AND window_start <  '2026-07-01 00:00:00'\n          AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60\n               + toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570\n          AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60\n               + toMinute(toTimeZone(window_start, 'America/New_York'))) < 960\n        GROUP BY d\n    ),\n    strikes AS\n    (\n        SELECT\n            round(avg(spy_close) / 5) * 5 - 5 AS lower_strike,\n            round(avg(spy_close) / 5) * 5 + 5 AS upper_strike\n        FROM daily\n    ),\n    levels AS\n    (\n        SELECT DISTINCT round(spy_close / 5) * 5 AS settle\n        FROM daily\n    )\nSELECT\n    concat('$', toString(toUInt32(settle)))                                                AS settle_level,\n    concat('$', toString(toUInt32(lower_strike)), ' / $', toString(toUInt32(upper_strike))) AS box_strikes,\n    round(greatest(settle - lower_strike, 0) - greatest(settle - upper_strike, 0), 2)      AS call_leg_value,\n    round(greatest(upper_strike - settle, 0) - greatest(lower_strike - settle, 0), 2)      AS put_leg_value,\n    round(greatest(settle - lower_strike, 0) - greatest(settle - upper_strike, 0)\n        + greatest(upper_strike - settle, 0) - greatest(lower_strike - settle, 0), 2)      AS box_value\nFROM levels\nCROSS JOIN strikes\nORDER BY settle","computed_at":"2026-08-06T15:52:50.406529+00:00","elapsed":0.005419618}