OptiNod Academy
Slippage, Fees, and Liquidity: The Trading Costs Backtests Hide
Subtracting fees alone does not turn a backtest into a realistic live-trading estimate. Slippage and liquidity often take a much larger bite out of performance.
> Fees are listed on the exchange screen *before* you trade. The slippage caused by order book liquidity, which often hurts live performance more, only becomes clear when your order hits the book.
Trading costs have three parts: exchange fees, slippage, and liquidity. Fees are what you pay the exchange. Slippage is the difference between the displayed price and your actual fill price. Liquidity is the order book depth that determines how large that slippage becomes. Fees are shown clearly on the exchange screen, with numbers such as 0.02% maker and 0.04% taker, so anyone can calculate them in advance. The other two are only known when the order is placed, and they are not shown anywhere beforehand.
Most traders estimate live expectancy by subtracting only fees from their backtest results. They assume subtracting 0.04% one way, or 0.08% round trip, is realistic enough. But that only captures one piece of trading cost. Exchange fees are usually fixed somewhere between 0.02% and 0.1% per trade, while slippage can range from 0bp to several hundred bp depending on the asset, order size, and market conditions.
The core point is simple. Slippage and liquidity usually reduce performance more than fees, and in low-volume assets or high-frequency strategies, those costs can accumulate until expectancy turns negative. Market orders in particular consume order book depth, so larger orders create a wider gap between the displayed price and the average fill price. Run the same strategy on BTC and on an altcoin with a few million dollars in daily turnover: the fee is the same, but slippage can be dozens of times larger.

Fees Are Fixed. Slippage Moves.
Fees are the only trading cost you can calculate in advance. Exchanges publish maker and taker rates, and once your volume tier is set, the cost per trade is known. A common industry level is about 0.04% for a taker order, or roughly 0.08% round trip. That number is the same whether you trade BTC or a small altcoin.
Slippage is different. The displayed price is the top of the order book, but a market order only fills the quantity available at that price. The rest fills against higher ask levels. The larger the order, the more price levels it consumes, so the average fill price rises above the displayed price. That difference is slippage, and the thinner the order book, the larger it becomes for the same order size.
The scale difference is clear. Exchange fees stop around 8bp round trip, but slippage can range from 0bp to more than 100bp depending on the asset and order size. Suppose a short-term strategy has an average profit of 0.15% per trade. After subtracting a 0.08% round-trip fee, the remaining edge is 0.07%. Add just 0.1% of slippage per trade, and expectancy turns negative. This is where fee-only P&L calculations break down in live trading.
Market Orders Consume Order Book Depth
An order book is the list of buy and sell orders stacked at each price level. A market buy fills from the lowest ask upward until the full size is filled. If the quantity at the best ask is smaller than your order, the order moves to the next ask, and the average fill price is finalized above the displayed price.
Look at the BTCUSDT order book right now and you can see how deep it is. The top ask alone has about 2.18 BTC, roughly $160,000, available at nearly the same price. In that case, a $50,000 market buy is filled entirely at the top ask, so slippage is close to 0bp. The displayed price and fill price are effectively the same.
A small altcoin order book at the same moment looks different. In ZILUSDT, which has about $200,000 in daily turnover, the top ask holds only about $5,800. If you place a $25,000 market buy, the order consumes several price levels and the average fill price ends up 130bp, or 1.3%, above the displayed price. If you try to buy $100,000, even the top 20 ask levels are exhausted and only about $30,000 gets filled. Same order style, same market order logic: 0bp on BTC, 130bp on ZIL. That difference overwhelms an 8bp fee.

Lower Volume Means Wider Spreads
The bid-ask spread is the difference between the best bid and the best ask. It depends on how densely orders are stacked in that asset. More volume usually means a tighter spread; less volume means a wider one. Every time you enter with a market order, the spread effectively becomes part of your cost. If you buy and immediately sell, you start with a loss equal to the spread.
Current order book spreads show the relationship with volume clearly. BTCUSDT, with about $1 billion in daily turnover, has a spread near 0bp. ETHUSDT, around $500 million, is near 0.05bp. By contrast, ALGOUSDT, below $2 million in daily turnover, has a 9bp spread, while ZILUSDT, around $200,000, reaches 25bp. If you buy ZIL at market and immediately sell at market, spread plus slippage on entry and exit creates more than 50bp of round-trip cost before anything else happens.
Volume and turnover are not the same. Volume is the number of coins traded. Turnover is that quantity multiplied by price. Order book depth and slippage are driven by turnover. Coin volume may look huge at hundreds of millions of units, but if the token trades at $0.004, actual turnover may be only a few hundred thousand dollars. This is why asset selection should use USDT-denominated turnover. Coin-count volume can mislead you.

Per-Trade Cost Multiplied by Frequency Becomes Total Cost
Trading cost looks small when viewed per trade. A 0.1% round-trip cost is easy to dismiss once. But strategy expectancy is determined over many trades. Total cost is per-trade cost multiplied by trade frequency, and the higher the frequency, the faster that number grows.
Assume a scalping strategy trades 10 times per day. If round-trip cost is 0.1%, that is 1% per day. Over 22 trading days in a month, about 22% is lost to trading costs. Under the same cost assumption, a swing strategy that trades twice a month pays only 0.2% for the month. Even if the per-trade cost is identical, a 100x difference in frequency creates a 100x difference in cumulative cost. High-frequency strategies often fall below breakeven first because costs accumulate in proportion to frequency, independent of signal quality.
This multiplication is one of the most common omissions in backtests. A backtest that sets slippage to zero and includes only fees is using less than half of the real per-trade cost. The per-trade error may look small, but in high-frequency strategies it compounds until it can flip the entire slope of the equity curve. A high-frequency strategy that rises sharply in a backtest can turn into a slow account bleed in live trading. The cause is cumulative cost.

If the Edge Is Smaller Than the Cost, Expectancy Is Negative
A strategy should be judged by its breakeven trading cost. Expectancy is the average P&L per trade minus round-trip trading cost. A strategy only makes money when that number is positive. Once trading cost exceeds average P&L, expectancy turns negative, and the account declines no matter how accurate the signal looks.
Use concrete numbers. A strategy with a 60% win rate and average take-profit and stop-loss sizes of 0.3% has an average P&L of 0.06% per trade. Subtract only a 0.08% round-trip fee and it is already negative. If a fee-only backtest showed this strategy as profitable, that result depended on assuming zero slippage. Add just 0.05% slippage per trade in live trading and expectancy falls deeper below zero. A strategy with an average P&L of 0.06% per trade only makes sense in assets and market conditions where trading cost is lower than that.
Calculating breakeven trading cost first lets you decide which strategies can stay positive in which assets. A scalping strategy with 0.06% average P&L per trade is only a candidate in highly liquid assets such as BTC or ETH, where round-trip cost can stay below 0.06%. Apply the same strategy to a small altcoin with a 50bp round-trip cost, and expectancy is negative regardless of signal accuracy. By contrast, a swing strategy with 3% average P&L per trade still has room after a 50bp round-trip cost, so small alts may remain viable candidates. The size of the strategy edge determines the minimum liquidity of the assets it can trade.
During Volatility Shocks, Slippage Widens and Liquidity Disappears
Even assets with thick books in normal conditions can lose order book depth quickly during volatility shocks. When price moves rapidly in one direction, resting limit orders are either filled or canceled, and new liquidity cannot replenish the book as fast as orders remove it. At that moment, a market order of the same size consumes much deeper levels than usual, increasing slippage.
The BTC selloff on August 5, 2024 shows this clearly. The BTCUSDT daily candle opened at $58,161 and fell to $49,000, a drop of about 16% within the day. Turnover that day was $8.58 billion, more than four times the $1.87 billion recorded on August 4. The surge in turnover means market orders rapidly depleted the order book and pushed price lower. In this kind of environment, a market stop-loss can fill far below the stop price you expected.
Slippage during fast markets cannot be estimated from normal conditions. BTC may show 0bp slippage in calm markets, but widen by dozens of bp in the middle of a crash. Assets that normally have tight spreads can suddenly have empty books, causing market orders to fill at unexpected prices. The more a strategy trades volatile periods, the more conservative its backtest slippage assumption needs to be. Assets prone to gaps, and thin-liquidity periods such as weekends or early-morning sessions, create larger slippage for the same reason.
Use Trading Cost Filters Before Choosing Assets and Strategies
Applying trading cost filters before selecting assets and strategies lets you reject negative-expectancy combinations before entering. Set numerical thresholds for daily turnover, maximum spread, and assumed per-trade cost, and you can exclude assets where slippage would consume the edge.
- [ ] Minimum turnover: Check whether the asset has at least $10 million in daily turnover measured in USDT. Use turnover. Coin-count volume can mislead you.
- [ ] Maximum spread: Confirm that the order book spread is 10bp or less immediately before entry. Above 10bp, entry and exit alone create more than 20bp of round-trip cost.
- [ ] Per-trade cost assumption: In the backtest, include round-trip fees of 0.08% plus at least 0.05% slippage. For high-frequency strategies, assume slippage of 0.1% or more.
- [ ] Breakeven check: Confirm that the strategy's average P&L per trade is greater than the round-trip cost assumed above. If average P&L is smaller than cost, do not trade that asset.
- [ ] Order size check: Confirm that the entry order size does not exceed the quantity available at the top of the book. If it does, split the entry with limit orders or reduce size. Skip the market order in that case.
The higher the strategy frequency, the stricter these filters should be. A strategy that trades several times per day needs a larger per-trade cost assumption and a higher turnover floor so cumulative cost does not exceed the edge. A swing strategy with a larger per-trade edge can tolerate a slightly lower turnover floor, but even then, you must still check whether order size exceeds available book depth.
Rerun Backtests With Realistic Cost Assumptions
Even after a strategy passes the trading cost filters, you still need to check whether the backtest cost assumptions match reality. A zero-slippage backtest, an altcoin backtest that assumes fills at the close, and a high-turnover strategy tested without costs all overstate live expectancy. Rerunning the same strategy with conservative cost assumptions shows where the equity curve breaks before live capital is at risk.
The most common misuse is assuming fills at the close. If a backtest engine assumes the trade filled exactly at the close of the signal candle, it ignores the actual order book quantity available at that price. In BTC, where the book is deep, the error may be small. But in altcoins with only a few million dollars in daily turnover, there often is not enough liquidity at the close to fill that size. Backtest profits from altcoin strategies tested with close-price fills are not reproducible in live trading.
For high-turnover strategies, one cost assumption can change the entire result. Raising slippage from 0 to just 0.05% increases the monthly cost of a strategy trading 10 times per day from 22% to 33%, and a rising backtest equity curve can turn downward in live trading. To trust a backtest, you cannot rely on results that assume zero slippage. You need results tested with conservative cost assumptions based on the actual order book depth of the assets traded and the behavior of liquidity during volatility shocks. An expectancy estimate that subtracts only fees captures just one piece of trading cost. The other two pieces drive live account performance.