For educational purposes only. This content does not constitute financial advice, a trading signal, or a recommendation to buy or sell any security.
← Learn
Concepts5 min read

Transaction Costs and Slippage

Transaction costs and slippage are the gap between the price your backtest assumes and the price your live execution actually receives. Ignoring them is the most common reason a strategy with a beautiful equity curve loses money in production — and the cost compounds with turnover, so high-frequency systems are punished disproportionately.

The total cost of a trade decomposes into explicit costs (commissions, exchange fees, regulatory fees, borrow costs for shorts) and implicit costs (bid-ask spread, market impact, timing slippage, opportunity cost from partial fills). A realistic backtest models both.

The computation

The standard per-trade cost model used in Kestrel Signal backtests sums the explicit and implicit components as a fraction of notional traded:

cost_bps = commission_bps + 0.5 × spread_bps + impact_bps + slippage_bps

Where the half-spread term assumes you cross the book on entry and exit, and market impact is typically modeled as a function of order size relative to average daily volume:

impact_bps = k × (order_size / ADV)^α

Empirical estimates put k in the range 10 to 30 and α near 0.5 to 0.6 for equities — the square-root law. Net strategy return after costs is then:

r_net = r_gross − Σ (cost_bps_i × turnover_i) / 10000

How to interpret it

For US large-cap equities during regular hours, expect round-trip costs of 2 to 8 basis points for small orders, climbing rapidly as order size approaches 1% of ADV. ETFs on the most liquid underlyings can trade at 1 to 3 bps. Small-caps, emerging markets, and after-hours sessions routinely exceed 30 bps. Futures vary widely: ES is among the cheapest at roughly 0.5 to 1 bps round-trip, while less liquid contracts can cost 5 to 15 bps.

The relevant diagnostic is the ratio of gross edge per trade to round-trip cost. A strategy generating 15 bps of gross alpha per trade against 5 bps of cost has a 3:1 ratio — workable but fragile. Below 2:1 the strategy is one regime shift away from unprofitability. Above 5:1 there is genuine margin for cost estimation error and capacity growth.

Turnover is the multiplier. A strategy with 10 bps of edge per trade and 5 bps cost is profitable at 50 turns per year (250 bps net) and catastrophic at 500 turns per year (—2,500 bps net loss from costs alone exceeding edge).

What it does not capture

A linear cost-per-notional model misses several real-world frictions. Adverse selection — the tendency for your fills to occur precisely when the market moves against you — is not captured by symmetric slippage assumptions. If you are providing liquidity, expect a fill bias of 1 to 3 bps against you on average; if you are taking liquidity on momentum, the bias can be larger.

The model also ignores queue position for limit orders, latency variance, partial fills that leave you with unintended exposure, and the reality that your own order changes the price you would have paid. Borrow availability for shorts can vanish overnight, and hard-to-borrow rates on small-caps can reach annualized 50% or more. Tax drag, while not strictly a transaction cost, lowers net realized returns in taxable accounts by 15 to 40% depending on holding period.

Backtests that use mid-price fills with zero slippage are not conservative — they are fictional. Any strategy whose edge disappears under a 5 bps round-trip cost assumption does not have an edge.

Finally, costs are state-dependent. Spreads widen 3 to 10x during volatility spikes, exactly when many mean-reversion and momentum strategies generate their strongest signals. A constant cost assumption underestimates drag during the periods that dominate strategy P&L.

In Kestrel Signal

Kestrel Signal applies a configurable cost model per instrument class with separate commission, spread, and impact terms. Backtest reports show gross and net equity curves side by side, with a cost attribution panel breaking down drag by component and by trade size bucket. Stress tests automatically rerun the backtest at 2x and 3x baseline costs so you can locate the threshold at which the strategy breaks — before live capital does.

More in Concepts
Overfitting and Curve-Fitting8 min readWhat Is a Systematic Trading Strategy?5 min readWin Rate vs Expectancy5 min read
← All conceptsTry it on a real backtest