Master the true cost of trading. Learn how commissions, spreads, and slippage drain your edge—and how to model them accurately in backtests.
Per-trade fees charged by brokers. Typically fixed per share/contract or percentage of notional.
Examples:
• Stocks: \$0-5 per round trip (many brokers now \$0)
• Options: \$0.25-1.00 per contract
• Crypto: 0.05-0.30% per trade
• Futures: \$2-10 per round trip
Difference between what buyers offer and sellers ask. You pay this on entry AND exit (round trip = 2× spread).
Examples:
• Large cap stocks (SPY): 0.01% spread
• Small cap stocks: 0.05-0.20% spread
• Illiquid options: 0.50-5.00% spread
• Crypto major pairs (BTC/USD): 0.01-0.10% spread
• Forex majors: 0.001-0.002% spread
Difference between expected fill price and actual fill price. Increases during volatility and low liquidity.
Typical slippage:
• Market order vs best bid/ask: 0.01-0.20%
• During gaps: 1-10%
• Flash crashes: Up to 50%+
• Limit orders: 0% (you set the price)
Your order moving the price against you if it's large relative to typical volume.
Examples:
• Large block orders: 0.05-0.30% market impact
• Retail trader (small orders): Negligible
• Illiquid altcoins: Can be 1-5%
| Market | Commissions | Spread | Total Round Trip |
|---|---|---|---|
| Stocks (Large Cap) | $0 | 0.01% | 0.02% |
| Stocks (Small Cap) | $0-5 | 0.05-0.20% | 0.10-0.40% |
| Forex (Majors) | 0.002-0.01% | 0.001-0.005% | 0.006-0.03% |
| Crypto (Major Pairs) | 0.05-0.30% | 0.01-0.10% | 0.12-0.70% |
| Crypto (Altcoins) | 0.10-0.50% | 0.20-1.00% | 0.60-3.00% |
| Options | $0.25-1.00 per leg | 0.10-1.00% | 0.30-2.00% |
Many backtests assume perfect fills and zero costs. Result: a strategy shows 15% CAGR, but once you trade it with real costs, you get 5% CAGR or worse.
Rule: Always include commissions and spreads in backtests. At minimum, use 0.15-0.25% round-trip for stocks; 0.50% for crypto.
Simplest: assume fixed % cost per round trip. Works for similar-sized trades.
Entry: -0.15% (half round trip)
Exit: -0.15% (half round trip)
Total: -0.30% per round trip
Apply to backtest PnL
More accurate: break down by commission, spread, slippage separately.
Commission: 0.05% (your broker)
Spread (half on entry/exit): 0.02%
Slippage (market orders): 0.05-0.10%
Total: 0.15-0.20% per round trip
Advanced: model costs varying by volatility and time of day.
Low vol days: 0.10% round trip
Normal vol: 0.25% round trip
High vol (earnings, macros): 0.75%+ round trip
Apply cost based on backtest conditions
Strategy: Swing Trading (10 trades/month)
Backtest result (no costs): 25% annual return
Average trade duration: 5 days
With 0.15% cost:
Annual cost: 120 trades × 0.15% = 1.8%
Final return: 25% - 1.8% = 23.2%
With 0.50% cost:
Annual cost: 120 trades × 0.50% = 6.0%
Final return: 25% - 6.0% = 19.0%
With 1.00% cost (realistic for altcoin/options):
Annual cost: 120 trades × 1.00% = 12.0%
Final return: 25% - 12.0% = 13.0% ❌
Edge cut in half!
• High-frequency (100+ trades/month): Costs > 30% of gross profit → needs sub-0.10% total cost
• Swing (10-30 trades/month): Costs 5-15% of profit → use 0.15-0.50%
• Position (5-10 trades/month): Costs 1-5% of profit → up to 1.00% acceptable
Limit orders have zero slippage but risk not filling. Market orders fill instantly but cost the full spread + slippage. For backtests, assume you'll use limit orders on 70% of entries, market orders on 30%. This is realistic.
Check your broker's fee schedule. Many disclose commissions, but spreads vary. Best: backtest on a small live account first and track actual costs vs your assumptions.
Spreads still exist (broker makes money on bid-ask). Model spread + slippage instead. For crypto, many exchanges charge 0.1-0.30% taker fees even if commission is free.