{"slug":"how-much-slippage-to-assume-in-a-backtest","qid":"option_tick_cost","label":"A five cent concession as a share of premium, near-the-money SPY contracts by expiry","post_title":"How Much Slippage to Assume in a Backtest","post_url":"/blog/how-much-slippage-to-assume-in-a-backtest#q-option_tick_cost","columns":["dte_bucket","avg_premium_usd","nickel_pct_of_premium"],"rows":[{"dte_bucket":"0 to 2 days","avg_premium_usd":5.17,"nickel_pct_of_premium":8.21},{"dte_bucket":"3 to 7 days","avg_premium_usd":6.15,"nickel_pct_of_premium":3.43},{"dte_bucket":"8 to 21 days","avg_premium_usd":7.89,"nickel_pct_of_premium":1.23},{"dte_bucket":"22 to 45 days","avg_premium_usd":13.29,"nickel_pct_of_premium":0.45},{"dte_bucket":"46 days or more","avg_premium_usd":38.4,"nickel_pct_of_premium":0.17}],"shape":"ranking","sql":"SELECT\n    multiIf(days_to_expiry <= 2,  '0 to 2 days',\n            days_to_expiry <= 7,  '3 to 7 days',\n            days_to_expiry <= 21, '8 to 21 days',\n            days_to_expiry <= 45, '22 to 45 days',\n                                  '46 days or more')    AS dte_bucket,\n    round(avg(toFloat64(option_close)), 2)              AS avg_premium_usd,\n    round(avg(0.05 / toFloat64(option_close)) * 100, 2) AS nickel_pct_of_premium\nFROM global_markets.options_greeks\nWHERE underlying_symbol = 'SPY'\n  AND date = '2026-09-16'\n  AND iv_converged = 1\n  AND volume > 0\n  AND option_close > 0.05\n  AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.02\nGROUP BY dte_bucket\nORDER BY min(days_to_expiry)","computed_at":"2026-10-08T16:10:24.061305+00:00","elapsed":0.001440994}