The single most common reason a backtested strategy fails in production is transaction-cost underestimation. Costs that look small per trade — 5 bps, 10 bps — compound across a strategy's life into the difference between profit and loss.
The Components of Cost
- Commissions. The broker's fee per trade. Often quoted as zero on retail platforms today, but bid-ask spreads and other components are not actually zero.
- Bid-ask spread. The gap between the best bid and best offer. You typically buy at the offer and sell at the bid, so a round trip costs you the full spread.
- Slippage (market impact). The price moves against you as your order executes. Larger orders, less liquid names, and faster strategies all have higher slippage.
- Borrow cost (for shorts). Hard-to-borrow names can cost 5–50% annualized in borrow fees.
- Financing cost (for leverage). Margin balances accrue interest.
How to Model It
The simplest realistic model: charge a flat round-trip cost per trade, expressed in basis points (1 bp = 0.01%). Common defaults:
- Liquid US large-caps (e.g., S&P 100): 5–10 bps round-trip.
- Mid-caps and liquid ETFs: 10–20 bps.
- Small-caps, less liquid stocks: 20–50 bps.
- Illiquid names, micro-caps: 50–200 bps and highly variable.
- Crypto majors: 10–30 bps including funding.
Sensitivity, Not Accuracy
You will never know the exact cost in advance. The right approach is sensitivity testing: run the strategy at 5 bps, 15 bps, and 30 bps. The shape of the equity curve at each level tells you how dependent your edge is on cost assumptions.
If a strategy is profitable at 5 bps but unprofitable at 15 bps, it is a cost-sensitive strategy and you should assume real-world costs will land in the worst part of your range. If it is robustly profitable from 5 to 30 bps, costs are not the binding constraint and you can focus elsewhere.
Strategy-Level Implications
- Trade frequency dominates. A strategy with 200 trades/year and 5 bps each loses 10% to costs. The same edge in a 20-trade/year strategy loses only 1%.
- Holding period matters. Short-holding strategies (intraday, scalping) are far more cost-sensitive than swing or position strategies.
- Edge per trade is the right unit. If your edge per round-trip is smaller than 2× round-trip cost, the strategy is unlikely to survive in production.
- Live results are the truth. Once you have a few months of paper trading or live trading, the realized cost is your best estimate going forward — use it to recalibrate your backtests.
The Bottom Line
Always backtest at multiple cost levels. The strategy that survives the worst plausible cost assumption is the strategy you can actually trade. The one that only works at 0 bps is a teaching exercise, not a strategy.
Further Reading
Foundational papers
- Almgren, R. & Chriss, N. (2001). Optimal Execution of Portfolio Transactions. Journal of Risk, 3(2), 5–39.
- Sullivan, R., Timmermann, A. & White, H. (1999). Data-Snooping, Technical Trading Rule Performance, and the Bootstrap. Journal of Finance, 54(5), 1647–1691.
Textbook references
- Chan, E. P. (2013). Algorithmic Trading: Winning Strategies and Their Rationale. Wiley.
- López de Prado, M. (2018). Advances in Financial Machine Learning. Wiley.
Related QuanterLab articles
Try it in QuanterLab
In any builder, increase the slippage assumption from 5 bps to 20 bps and re-run. The difference between the two equity curves is your strategy's sensitivity to execution quality — and most retail strategies are far more sensitive than they look.