To test whether a strategy’s edge survives higher trading costs, rerun the backtest across a range of fees, spread, slippage, and market impact assumptions. Then find the cost level where performance turns negative and compare it with evidence from your intended venue and order size.
A single “realistic” cost estimate hides the question you need answered: how wrong can that estimate be before the result stops working? I want a cost curve, not a magic haircut.
What costs should I increase in a backtest?
Start with costs the strategy actually incurs. For a market order, that usually means the taker fee, spread, slippage, and any size-dependent impact. For a limit order, include the fee tier and the chance that the order fills; a maker rebate does not help if the optimistic fill assumption is doing the real work. Perpetual futures add funding, while some products add borrow, exercise, or settlement costs.
Change assumptions one at a time first. If you raise fees, double slippage, and halve fill rates together, a worse result tells you little about what broke. After that, run combined stresses that represent plausible bad conditions, such as a wider spread during volatile periods.
| Assumption | Useful stress | What it tests |
|---|---|---|
| Trading fee | Current tier, then a higher tier | Fee schedule and volume-tier dependence |
| Spread and slippage | Increase by 25%, 50%, and 100% | Sensitivity to worse execution prices |
| Market impact | Scale with order size or participation rate | Whether the tested capital can trade at the assumed price |
| Limit fill rate | Reduce estimated fills, including partial fills | Dependence on queue and fill assumptions |
| Funding or borrow | Use adverse historical periods or a higher rate | Carry costs and financing exposure |
These are starting points, not universal stress levels. A liquid spot pair and a thin altcoin perpetual should not share the same slippage multiplier just because it makes the comparison tidy.
How do I calculate a strategy’s break-even trading cost?
Hold the signals, sizing, and portfolio rules fixed. Increase the variable cost per unit of traded notional until net performance reaches zero. If the strategy trades $1 million of notional and generates $8,000 before variable execution costs, it has at most 0.80% of notional to spend across all those costs before that gross profit is gone.
That arithmetic is a ceiling, not evidence that the strategy can trade cheaply enough. The $8,000 may include profits from a handful of trades, and impact may rise sharply with order size. Calculate the break-even point both for the whole backtest and by period or market regime.
Keep units consistent. A fee quoted per side must be charged on both entry and exit. A funding rate may be periodic, while turnover is often reported annually. Convert each cost to the same time span and notional basis before comparing them.
How do I tell whether a strategy is fragile to costs?
Look at the shape of the cost curve. A gradual decline gives you some room for estimation error. A sudden collapse after a small increase often means the apparent edge is concentrated in trades whose expected profit barely clears their cost.
Consider a short-horizon strategy with a baseline net Sharpe of 1.2. If a 25% slippage increase pushes it to 0.3 and a 50% increase makes net return negative, the headline result depends heavily on execution quality. That doesn’t prove the strategy is unusable; it tells you to investigate the venue, order type, and trade size before trusting the backtest.
And inspect the distribution, not just Sharpe. Costs can erase many small winners while leaving a few large wins, making average return look acceptable even as drawdowns and losing periods worsen.
Should I use the worst cost assumption I can imagine?
No. An arbitrary worst case can make every strategy look bad and gives you no useful operating boundary. Build scenarios from observed data: venue fee schedules, spreads around your decision times, realized paper fills, and impact at the order sizes you expect to place.
Separate ordinary conditions from stress periods. For example, estimate spread and slippage by volatility bucket, then rerun the strategy with costs drawn from those buckets. This keeps the relationship between market conditions and execution costs intact. A flat doubling may miss the fact that the strategy trades most heavily exactly when liquidity is worst.
What should I record in a cost sensitivity report?
Save the assumptions beside the results so another researcher can reproduce them. At minimum, report:
- Fees, spread, slippage, impact, funding, and borrow assumptions, with units and sources.
- Net return and risk metrics at baseline and at each stress level.
- The break-even cost and the cost at which the strategy fails your research criteria.
- Results by market regime, instrument, and order size where the sample supports it.
- Which execution assumptions came from measurements and which remain estimates.
Then compare the paper strategy with the same cost ledger. If paper fills are consistently worse than the modeled scenario, update the model and rerun the research. The goal is not to find a single cost number that makes the backtest pass. It is to learn how much execution uncertainty the strategy can withstand, and whether your evidence supports that much room.
← All posts


