Direct answer
Spread assumptions estimate trading costs by treating the spread (the difference between buy and sell prices) as if it is stable, known, or predictable. The main limitation is that spreads and effective costs often change when conditions change. As a result, calculations that look precise under the assumption can be materially wrong in live or even different testing conditions.
Spread assumptions are most useful when you can justify why the spread behavior stays close to the assumed value. They are less useful when spreads are variable, when execution differs from the modeling approach, or when additional cost components (such as commissions or other charges) are handled differently than assumed.
Mechanism or definition
A spread assumption is an input used in calculations—often for forecasting profit and loss, estimating breakeven, or evaluating strategies—where the spread is treated as a constant (or as following a simple rule). The spread matters because it effectively acts like an immediate cost: if you buy at the ask and later sell at the bid, your position starts with the spread as a “gap” that must be covered by price movement.
When someone uses spread assumptions in an example, backtest, or risk estimate, they are implicitly making several assumptions:
- The spread used matches the spread you would actually face at execution time.
- The execution model (how and when orders fill) is consistent with the data source.
- Any other trading costs are either excluded or included in a way that matches reality.
These assumptions can be stable in a controlled setting, but trading environments rarely stay that controlled.
Evidence or example
Consider a simplified scenario for illustrating failure modes. Suppose a model assumes a fixed spread of 1 unit for every trade. Under that assumption, a strategy’s costs scale predictably with the number of trades.
Failure mode A: variable spread. If the actual spread widens during certain times, trades entered or exited during those intervals incur higher costs than modeled.
Failure mode B: different liquidity and execution. If the model assumes immediate fills at the modeled bid/ask, but real fills occur at different prices (for example, due to order size relative to available liquidity), the effective cost becomes larger than the spread assumption.
Failure mode C: partial or delayed fills. If only part of an order fills at the expected price level, or if the rest fills later when the spread has changed, the average effective spread differs from the assumed value.
Even when the historical record shows certain “typical” spreads, the assumed value may not represent the tail behavior—the moments when spreads move most.
Limitations and risks
The key limitations are uncertainty and mismatch between the assumed spread and the effective cost you experience.
-
Market-condition mismatch: Spreads can change with volatility, liquidity, and trading hours. A single assumed value cannot represent all regimes.
-
Data mismatch: Historical or aggregated spread data may not match the timing and microstructure of the trades you model (for example, whether quotes reflect what you could actually transact at each moment).
-
Cost-composition mismatch: The “spread” you measure or assume may not include every cost component you later experience. If commissions or other charges are treated inconsistently, calculations can be systematically off.
-
Execution-model mismatch: Spread assumptions often sit inside a broader execution simplification (instant fill, full fill, no slippage beyond spread). When those simplifications fail, the spread assumption no longer captures the true cost.
-
Backtest-to-future transfer risk: A historical relationship between spread and outcomes does not automatically establish a future relationship. Future spreads and execution conditions can differ from the period used to derive assumptions.
Verification or next question
To independently verify whether spread assumptions are appropriate for a use case, check whether your calculation logic can reproduce the same effective cost concept you intend to model:
- Confirm what “spread” measure is being used (for example, quote spread vs. executed effective cost). - Ensure your assumed spread is tied to the same time granularity as your execution logic. - Test sensitivity by recalculating results under multiple plausible spread scenarios (narrow, typical, and wider conditions), rather than relying on a single number.