Transaction Cost
Transaction cost is the percentage of each trade deducted in a backtest to model bid-ask spread, slippage, and commissions. SledgeKey applies it symmetrically to buys and sells; the default is 0.001 (10 basis points per side, roughly 20 basis points round-trip).
What is Transaction Cost?
Transaction cost is the modeled friction between a backtest and the real world. Real trades pay a bid-ask spread, can move the market against the order on size, and incur exchange and broker fees. A backtest that ignores this friction overstates returns, and the overstatement compounds with turnover.
In SledgeKey the input is a percentage applied to both legs of every trade. A 0.10% setting means a sell of $10,000 nets $9,990 to cash, and a $10,000 buy uses $10,010 of cash to take delivery. The cost is treated as a deduction from realized cash flow, not a separate expense bucket. Cash carried by the portfolio shrinks at every rebalance by the trade volume times the cost.
The result is that turnover and cost interact multiplicatively. A 100% turnover quarterly strategy at 10 bps per side pays roughly 80 basis points per year of cost drag (4 rebalances times 2 legs times 10 bps). For a strategy with a 4% annualized edge, that is 20% of the alpha gone before any other consideration. For a 1% edge, it can mean the strategy fails the realistic-cost test entirely.
Why Transaction Cost Matters in Backtesting
Costs scale linearly with turnover and with the per-side rate. Strategies with higher turnover (momentum, short-term reversal, microcap) feel costs disproportionately; low-turnover quality screens feel them less. That asymmetry alone can flip the ranking between two candidate strategies once cost is introduced honestly.
A backtest with cost set to zero is a fair test of whether a signal exists. A backtest with realistic cost is a fair test of whether the signal can be captured. Both numbers are useful, but the second is the one that should drive a deployment decision. A strategy that survives a realistic cost assumption is a meaningfully different claim than a strategy that simply has positive alpha in a frictionless world.
How SledgeKey Implements Transaction Cost
Transaction cost is a numeric input in the backtest configuration panel, displayed and entered as a percentage. The default is 0.10% per side, a defensible mid-cap U.S. equity assumption for retail-scale orders. SledgeKey applies the cost identically to both legs of every trade: when a position is sold, the cash that lands is the trade value minus the cost; when a position is bought, the cash required is the trade value plus the cost. The same percentage is used at every rebalance event, on every position that turns over.
The backtester accumulates the dollars lost to friction across the entire run and reports the total alongside the return series, so the cost drag is visible rather than buried inside the headline number. For a sense of reasonable values: 5 to 10 basis points per side is defensible for liquid U.S. mid-caps, where commissions are zero and the binding cost is half the spread plus a small slippage allowance. 20 to 30 basis points per side is more honest for small caps or thinly traded names where spreads widen materially. Zero is fine for sanity checks but should not be the number that drives a real allocation decision.
Common Pitfalls
The biggest pitfall is mistaking the SledgeKey input for a round-trip cost. The parameter is per-side; a 0.001 setting is paid once on the sell and again on the buy, so the round-trip cost is 0.002 (20 basis points). If you have calibrated against a published cost assumption, double-check whether that source quotes per-side or round-trip before plugging the number in.
A second pitfall is assuming a constant percentage cost is conservative simply because it is above zero. Linear cost models compress the difference between scales: the same 10 bps applied to a $10K backtest implies $20 trades that no one would feel, while the same percentage applied to a real $10M portfolio implies $20K trades that may move the market. For very large or very small AUM, the cost assumption deserves a second look rather than a default.
A third pitfall is comparing a zero-cost strategy result against a benchmark that itself has nonzero implementation cost (SPY's expense ratio is small but real, and so is its rebalancing cost). When stress-testing relative performance, hold the cost regime constant on both sides of the comparison.
A backtest where the strategy beats the benchmark only with cost set to zero is telling you the cost-free signal exists but the implementable strategy does not. Always run the headline result with a realistic cost before drawing a conclusion.
See Transaction Cost in your own backtest
Run a backtest on any screening strategy and stress-test it against realistic cost on point-in-time data, free.
Run a Backtest