Why Slippage and Commissions Quietly Destroy Most Strategies
Backtests that ignore execution costs almost always lie. Here is how slippage and commissions actually work, why they matter more than you think, and how to model them honestly.
Most retail backtests have one fatal flaw in common: they assume you can fill at the price the strategy says. You cannot. Every real trade involves friction — the bid-ask spread, broker commissions, exchange fees, market impact, and slippage from latency. Ignoring these costs makes losing strategies look profitable on paper.
The math is unforgiving. A strategy that wins by an average of 0.10% per trade looks great on a noiseless backtest. After 0.05% commission and 0.10% slippage round-trip, that 0.10% edge becomes −0.05%. The same strategy, run live, will bleed money slowly enough that you might trade it for months before realizing it is broken.
What "slippage" actually means
Slippage is the difference between the price your strategy intended to fill at and the price it actually got. Three things cause it:
**Bid-ask spread.** A market order to buy crosses the spread, paying the ask rather than the mid. On liquid stocks the spread is a single cent; on small-cap or low-liquidity instruments it can be 1% or more.
**Market impact.** Your own order moves the price. Buying a million shares of a thinly traded stock pushes the ask up bar by bar as you eat through resting offers.
**Latency.** Between the moment your strategy generates a signal and the moment your order reaches the exchange, the market moves. On fast-moving bars this can be several ticks of adverse fill.
For most retail strategies on liquid instruments, total slippage runs 1–5 basis points (0.01–0.05%) per side on calm days, climbing to 20+ bps on volatile bars or thin markets. Crypto perpetuals, in particular, can show 50–100 bps slippage during stressed conditions.
What commissions actually cost
Commissions are easier to model — they are quoted up-front. But they are often larger than people realize.
**US futures (Tiger Brokers retail):** ~$3.71 per side, all-in (broker + exchange + clearing). For a $50,000 ES contract, that is 7 bps per round-trip — small but not negligible.
**Crypto perpetuals (Hyperliquid taker tier):** 0.045% per side. For a $1,000 perp position, that is $0.45 in and $0.45 out — 9 bps round-trip.
**Hong Kong index futures (HSI):** HKD 37.54 per side, all-in. For a small contract, that is hundreds of basis points.
When a strategy trades 10 times a day, even modest commissions compound dramatically. A 9-bp round-trip × 10 trades × 252 days = 22.7% per year just in fees, before slippage.
Two ways to model slippage in a backtest
There is no single right answer. The two practical approaches:
**ATR-based slippage.** Slippage = slipK × ATR, where slipK is a small multiplier (typical 0.05–0.20). This adapts to volatility — a wider-than-usual bar costs you more, just like real markets. Used by most futures backtest engines.
**Percentage-of-price slippage.** Slippage = atPrice × pct, where pct is calibrated against actual fills (typical 0.05–0.15% per side for crypto). Better for crypto perps where bid-ask is roughly proportional to price.
Backstrap's engine supports both modes and applies them by spec — futures default to ATR mode, crypto perps to percentage. The slippage shows up as a price-units adjustment to entry and exit, and the commission as a separate line item in the trade log.
How to calibrate against real data
If you have actual live trades, calibrate slippage from them rather than guessing. The process:
1. Record the signal price (what your strategy said it was filling at) and the actual broker fill price for each trade. 2. Compute the per-trade slippage in basis points: (fill − signal) / signal × 10,000, signed by side. 3. Take the median across at least 30 trades. The median is robust to outliers. 4. Use that number (or the 75th-percentile for conservatism) as your slipPct.
Going from "I assumed 0.10% slippage" to "my live data shows median 0.06%" is a small change in number but a huge change in confidence. You are no longer guessing.
Why this matters more than fancy strategies
A useful exercise: take a strategy that looks profitable in a no-cost backtest and re-run it with realistic costs. You will be shocked how often the equity curve flips from up-and-to-the-right to down-and-to-the-right. This is not a bug — it's the cost reality that retail backtests typically hide.
The honest implication: most edges that beat-cost are small. They require patience, discipline, and accepting that brilliant-looking parameter combinations will not generalize. The boring strategies with modest edges and low turnover often survive cost reality better than the exciting high-frequency ones.
How Backstrap models costs
Every Backstrap backtest applies both commission and slippage to every trade by default. Crypto perp specs (Hyperliquid model) charge 0.045% per side commission and apply 0.10% per-side slippage calibrated against real mainnet fills. Futures specs charge a flat $3.71 per side and use ATR-based slippage (default slipK = 0.10).
You can disable slippage in the Risk Management section to see the no-cost version of the same strategy — a useful sanity check to understand how much of your apparent edge depends on cost assumptions. In our experience, a strategy whose apparent profitability depends entirely on zero slippage is a strategy that does not exist.