What Is a Worked Example of Spread Assumptions?

Example showing spread assumptions and their limitations in forex backtesting.

Definition: what “spread assumptions” means

Spread assumptions are the explicit estimates you set for the bid–ask spread (and related trading costs) when you model trades in backtesting or planning. The spread is the difference between the buy price (ask) and the sell price (bid). If you simulate a trade without knowing the true future bid and ask at execution time, you must assume a spread (for example, a fixed value, a rule based on volatility, or a schedule).

In a worked example, “worked” means every input used in the calculation is stated. That includes the assumed mid-price source, the assumed spread at entry and at exit, and any other modeled costs (such as commissions) that affect profit and loss.

Mechanics: how spread assumptions enter a simple calculation

A common modeling approach starts from a mid price and converts it into bid and ask using the assumed spread.

Let:

  • Mid price = (bid + ask) / 2
  • Assumed spread = ask − bid If spread is S, then:
  • Bid = Mid − S/2
  • Ask = Mid + S/2

For a long position (buy then sell):

  • Entry cost uses the ask
  • Exit proceeds use the bid For a short position (sell then buy):
  • Entry uses the bid
  • Exit uses the ask

To compute simulated P&L, you then apply the assumed entry and exit prices to the assumed position size. If you also model commission, it should be subtracted (or added, depending on convention) from the gross result so that the net result reflects the modeled total cost.

Worked example with fully stated assumptions

This example is purely illustrative and uses no live prices.

Scenario assumptions

  • You simulate 1 trade.
  • Position type: long.
  • Position size: 10,000 units (the exact unit definition is assumed consistent with your P&L formula).
  • You get mid prices from your dataset (assumed correct for the exercise):
    • Mid at entry time: 1.1000
    • Mid at exit time: 1.1050
  • You assume a fixed spread S = 0.0002 at both entry and exit.
  • No commission is modeled in this example.

Convert mid prices to bid/ask using the spread assumptions

At entry:

  • Bid_entry = 1.1000 − 0.0002/2 = 1.0999
  • Ask_entry = 1.1000 + 0.0002/2 = 1.1001

At exit:

  • Bid_exit = 1.1050 − 0.0002/2 = 1.1049
  • Ask_exit = 1.1050 + 0.0002/2 = 1.1051

Long trade price logic

For a long trade:

  • You buy at the ask: Entry price = 1.1001
  • You sell at the bid: Exit price = 1.1049

Compute gross P&L from the price difference

  • Price change = Exit_bid − Entry_ask = 1.1049 − 1.1001 = 0.0048
  • Gross P&L = (price change) × (position size, using a consistent P&L convention)

Important: the numeric P&L depends on the instrument and how your P&L converts price movement into currency terms. The point of the worked example is that spread assumptions directly shift entry upward (ask) and exit downward (bid), reducing simulated gains compared with a “mid-price only” model.

Limitations and failure modes (what can go wrong)

  1. Spread varies over time. A fixed spread assumption can be too optimistic during volatile periods and too pessimistic during calm periods. If real spreads widen, modeled P&L will be overstated.

  2. Execution is not guaranteed at the modeled price. Even if you assume a spread, real execution can involve slippage (your fill price differs from your modeled bid/ask). If slippage is not modeled, results can be misleading.

  3. Other costs may be missing. Commissions, financing/holding costs, or other fees can materially change net results. If they are excluded, the “worked” calculations may be incomplete.

  4. Dataset and timing mismatches. Your assumed mid prices must correspond to the same timestamps you use for trade entry/exit. If the dataset time alignment is wrong, any spread assumption becomes the wrong cost relative to the intended trade.

Verification: how to independently check the spread assumptions math

To verify your spread-assumption calculations, you can do a consistency check without relying on any live data:

  • Confirm that your conversion between mid, bid, and ask is consistent (bid = mid − S/2 and ask = mid + S/2). - Check that the trade direction uses the correct side (long: entry ask, exit bid; short: entry bid, exit ask).
Trading foreign exchange and CFDs involves substantial risk. Information on FoxiForex is educational and is not personal financial advice. Sponsored placements are labelled clearly.