Spreads, Commissions & Slippage
How transaction costs eat into returns and why a profitable strategy on paper can lose money in practice.
Spreads, Commissions & Slippage
Every real trade has a cost beyond the price movement. You pay the spread when you enter and exit. You pay a commission to your broker. And you may experience slippage -- getting a slightly worse price than expected. These costs are small individually, but they add up with every trade. A strategy that looks profitable without costs can become a net loser once realistic costs are applied.
This article explains what each cost type is, how Simula models them, and why they matter more than most people expect.
What Is the Spread?
The spread is the difference between the price you can buy at (the ask) and the price you can sell at (the bid). In any market, the ask is always higher than the bid. When you buy, you pay the higher price. When you sell, you receive the lower price. The gap between them is the spread -- and it is a cost you pay on every trade.
Think of it like exchanging currency at an airport. The booth shows two rates: one for buying and one for selling. The difference between them is how the booth makes money. In trading, the spread works the same way -- it is the market's built-in transaction cost.
In Simula, you enter the spread as a price value. For forex, this is typically in pips -- for example, 0.0002 for EUR/USD means a 2-pip spread. For crypto, you might enter 0.50 for a 50-cent spread on BTC. Stock backtests have no spread setting: Simula does not apply a spread to stocks, so commission and slippage are the costs you set there.
When you enter a long trade, you buy at the ask -- the higher price. When you exit, you sell at the bid -- the lower price. The gap between those two prices is the spread, and you pay it on every round trip. For short trades, the directions are reversed: you sell at the bid on entry and buy at the ask on exit. Either way, the full spread is deducted from your trade's return.
What Is Commission?
Commission is the fee your broker charges for executing a trade. Unlike the spread, which is built into the market price, commission is a separate charge. Some brokers offer zero commission but compensate with wider spreads. Others charge a commission but offer tighter spreads.
In Simula, commission is entered as a percentage. If you set it to 0.1%, the engine deducts 0.1% of the trade value on entry and another 0.1% on exit. A 0.1% commission therefore costs roughly 0.2% per round trip.
The commission is factored into the profit or loss calculation for each trade. A trade that gained 1% in raw price movement with a 0.1% commission on each side actually nets about 0.8% after costs.
What Is Slippage?
Slippage is the difference between the price you expected and the price you actually got. It happens in live trading when the market moves between the moment you submit an order and the moment it is filled, or when there is not enough liquidity at your target price and the order fills at a worse level.
In Simula, slippage is entered as a percentage. If you set it to 0.05%, the engine worsens your execution price by that amount on both entry and exit. On a long entry, the price is shifted up by 0.05% (you pay more than expected). On a long exit, the price is shifted down by 0.05% (you receive less than expected). Short trades work in reverse.
Real-world slippage is unpredictable -- it depends on market conditions, order size, time of day, and liquidity. Simula models it as a fixed percentage so you can see how your results hold up under consistent execution drag. If your strategy is still profitable with a conservative slippage setting, it has a better chance of surviving real-world execution.
Why Costs Matter
Trading costs are deducted from every single trade. The impact scales directly with how often the strategy trades. A strategy that takes 10 trades per year barely notices a 0.2% round-trip cost. A strategy that takes 500 trades per year pays that cost 500 times -- roughly 100% of the starting capital consumed by costs alone.
This is why cost settings are especially important on shorter timeframes. A 1-minute strategy produces far more trades than a daily strategy, so even a small per-trade cost accumulates rapidly. The raw return might look strong, but the net return after costs can be dramatically lower -- or negative.
The Cost Check
When you run a backtest with costs enabled, the results include a Transaction Cost Analysis card that shows your gross return (before costs), net return (after costs), total cost drag, and a breakdown of how much each cost type -- commission, spread, and slippage -- contributed. This makes it easy to gauge cost sensitivity at a glance.
If the drag is small relative to your return, the strategy's edge is large relative to trading costs, which is a good sign. If the drag is dramatic -- or it turns a profitable strategy unprofitable -- the edge is too thin to survive real-world costs.
How Simula Applies Costs
Here is the sequence for a long trade:
Entry: You buy at the ask price. If slippage is set, the price is worsened by that percentage. Commission is calculated as a percentage of the entry price.
Exit: You sell at the bid price. If slippage is set, the price is worsened by that percentage. Commission is calculated as a percentage of the exit price.
Profit/loss: The trade's return is calculated from these cost-adjusted prices. The spread reduces the effective price difference between entry and exit. Slippage worsens the execution price further on each side. Commission reduces the net proceeds on top of that. All three are reflected in the trade's reported profit or loss percentage.
Short trades work the same way with directions reversed -- you sell at the bid on entry and buy at the ask on exit.
Setting Realistic Costs
The goal is to match or slightly exceed what your broker charges. It is better to overestimate costs in a backtest than to underestimate them. A strategy that survives conservative cost assumptions has a cushion built in. A strategy that only works with unrealistically low costs will disappoint in live trading.
Forex
Major pairs like EUR/USD typically have spreads around 0.5 to 2 pips (0.00005 to 0.0002). Cross pairs and exotics can be wider. Commission varies by broker -- some charge nothing (wider spread instead), others charge 0.003% to 0.01% per side.
Crypto
Spreads vary widely by exchange and asset. BTC/USD on a major exchange might have a spread under $1, while smaller altcoins can have spreads of several cents or more as a percentage of price. Exchange fees typically run 0.05% to 0.1% per side for maker/taker orders.
Stocks
Most US stocks have spreads of $0.01 (one cent) for liquid names. Less liquid stocks can have wider spreads. Simula does not apply a spread to stock backtests, so if you want the cost of crossing the spread in a stock result, include it in your slippage setting. Commission varies -- many retail brokers offer zero commission, but payment for order flow means you may get slightly worse execution (effectively a hidden cost).
Common Mistakes
Running with Zero Costs
A backtest with no spread, no slippage, and no commission assumes perfect, free execution. This is unrealistic for any market. For forex and crypto, always set at least a spread value -- you are paying the bid-ask spread on every trade whether your broker shows it or not. For stocks, Simula applies no spread, so commission and slippage are the settings to use.
Using the Same Costs for Every Asset
A 2-pip spread is reasonable for EUR/USD but may be too narrow for an exotic forex pair and irrelevant for BTC (where spread is in dollars, not pips). Adjust your cost settings when switching between assets.
Forgetting That Costs Scale with Trades
A 0.1% commission sounds negligible. Over 200 trades, that is 40% of your capital consumed by commission alone (0.1% entry + 0.1% exit = 0.2% per trade, times 200 trades). Check the trade count in your results and multiply by the round-trip cost to see the total drag.
Where to Go Next
How the Simulation Works -- the candle-by-candle loop where costs are applied.
Timeframes & Data -- why shorter timeframes amplify the impact of trading costs.
Leverage & Position Sizing -- how leverage interacts with costs.
Profit Factor -- a metric that reveals how sensitive your strategy is to costs.
Statistical Significance & Trade Count -- the trade volume that determines how much costs accumulate.