{"slug":"how-much-slippage-to-assume-in-a-backtest","qid":"cost_ladder","label":"A naive open-to-close yardstick, netted against a ladder of slippage assumptions","post_title":"How Much Slippage to Assume in a Backtest","post_url":"/blog/how-much-slippage-to-assume-in-a-backtest#q-cost_ladder","columns":["assumed_slippage_bps","names_tested","names_still_positive","avg_net_edge_bps"],"rows":[{"assumed_slippage_bps":0,"names_tested":10,"names_still_positive":7,"avg_net_edge_bps":2.04},{"assumed_slippage_bps":0.5,"names_tested":10,"names_still_positive":6,"avg_net_edge_bps":1.04},{"assumed_slippage_bps":1,"names_tested":10,"names_still_positive":6,"avg_net_edge_bps":0.04},{"assumed_slippage_bps":2,"names_tested":10,"names_still_positive":5,"avg_net_edge_bps":-1.96},{"assumed_slippage_bps":3,"names_tested":10,"names_still_positive":3,"avg_net_edge_bps":-3.96},{"assumed_slippage_bps":5,"names_tested":10,"names_still_positive":2,"avg_net_edge_bps":-7.96}],"shape":"ranking","sql":"WITH\n    naive_rule AS\n    (\n        SELECT\n            ticker,\n            round(avg((toFloat64(close) / toFloat64(open) - 1) * 10000), 3) AS gross_edge_bps\n        FROM global_markets.stocks_daily_aggs\n        WHERE ticker IN ('SPY', 'AAPL', 'MSFT', 'NVDA', 'KO', 'JNJ', 'XOM', 'PG', 'WMT', 'JPM')\n          AND date >= '2026-01-02'\n          AND date <  '2026-07-01'\n          AND open > 0\n          AND volume > 0\n        GROUP BY ticker\n    ),\n    ladder AS\n    (\n        SELECT arrayJoin([0., 0.5, 1., 2., 3., 5.]) AS slippage_bps\n    )\nSELECT\n    l.slippage_bps                                        AS assumed_slippage_bps,\n    count()                                               AS names_tested,\n    countIf(r.gross_edge_bps - 2 * l.slippage_bps > 0)    AS names_still_positive,\n    round(avg(r.gross_edge_bps - 2 * l.slippage_bps), 2)  AS avg_net_edge_bps\nFROM naive_rule AS r\nCROSS JOIN ladder AS l\nGROUP BY l.slippage_bps\nORDER BY assumed_slippage_bps","computed_at":"2026-10-08T16:10:24.496736+00:00","elapsed":0.260104328}