How liquidity and spreads work in forex
In forex, prices are not a single fixed number. They are quotes that change as participants place orders and as market-making or liquidity-providing systems respond. Two core ideas help explain why those quotes move and why trading costs can change even when the “underlying” currency values feel similar: liquidity and spread.
Liquidity is the ability of the market to absorb buy and sell orders with minimal price impact. If many buy and sell orders are available around a price, new orders are more likely to be filled near that price.
Spread is the difference between the quoted buy price (ask) and sell price (bid). It exists even before any trade is executed, because quoting systems typically present both sides of a market.
These concepts connect in a simple sequence: liquidity conditions help determine how tight or wide spreads can be, and spreads affect the effective price you receive when you trade.
Mechanics: definitions, inputs, and the quote lifecycle
1) Liquidity and order matching
Think of liquidity as “how crowded” the market is near current prices. In practice, forex activity comes from multiple sources (for example, banks, institutional participants, and trading venues), but the important mechanism is that buy orders meet sell orders either directly or through intermediaries.
When liquidity is high, there are more opportunities to match orders close to the current quote. When liquidity is low, fewer counterparties may be willing or able to transact at that moment, so the same order size can move prices more.
2) How spreads are formed
A spread can be viewed as compensation for several operational realities:
- The provider or venue must quote both sides.
- Quotes must account for uncertainty about short-term price movement.
- The provider’s systems may manage inventory or risk.
From the trader’s perspective, the spread shows up as an immediate cost: if you buy at the ask and later sell at the bid, the difference between those two is part of the total outcome, regardless of subsequent price direction.
3) The quote lifecycle (inputs → output)
A typical flow is:
- A provider observes demand and supply signals (from internal systems and/or observed market activity).
- It computes a bid and an ask for a given currency pair.
- It publishes the quote to the client.
- When you submit an order, execution happens using that quote plus the provider’s execution rules.
Key inputs that can change the output (the quoted prices) include:
- Market conditions (for example, volatility and event-driven bursts).
- Available liquidity at that moment.
- Order size relative to typical market depth.
- Execution model and routing rules used by the provider.
Even with no “fundamental change” in currencies, these inputs can vary quickly, changing both liquidity conditions and spread width.
Evidence via a worked example (with explicit assumptions)
Below is a simplified numerical illustration of the mechanism. It is not real-time data and uses stated assumptions.
Assumptions:
- Currency pair is quoted with a bid and ask.
- Spread remains at the quoted width for the moment of execution.
- No additional fees or commissions are included.
Example:
- Bid = 1.10000
- Ask = 1.10020
- Spread = Ask − Bid = 0.00020
If a client buys using the ask, the entry price is 1.10020. If later the client sells using the bid, the exit price would be whatever the bid is at that later moment. If the bid returns to 1.10000 at some point, then the price-based move alone may look like it “reverted,” but the spread has already been paid at entry (and again at exit if the spread remains).
Now consider a liquidity limitation:
- Suppose liquidity drops and the spread widens.
- New quote (liquidity worse): Bid = 1.09980, Ask = 1.10040, spread = 0.00060.
With the same “momentary” direction, the wider spread can increase the immediate cost. Additionally, during low liquidity, orders can fill at prices worse than the last quoted bid/ask due to rapid movement between quote update times.
Important note: this example isolates spread mechanics. In real execution, order size, latency, and price changes between quote display and fill can introduce extra effects such as slippage.
Limitations and failure modes to verify independently
Material limitation 1: liquidity can change faster than quotes
The market can transition from higher to lower liquidity quickly (for example, around major announcements, rollover periods, or end-of-day activity). In such windows, spread widening may be abrupt, even if the long-term currency relationship does not change.
Material limitation 2: execution may not equal the last shown quote
Even if you see a bid/ask, your actual fill can differ because of:
- The time between quote updates and order processing.
- How your order is matched or routed.
- Whether partial fills occur.
This matters most when liquidity is thin, where there may be fewer counterparties at the displayed price.
Material limitation 3: provider and venue settings affect what you observe
“Spread” you see in your platform depends on the provider’s quoting and execution rules. Two providers may present different spreads at the same time, because they may:
- Quote using different liquidity sources.
- Use different risk or inventory constraints.
- Apply different execution models.
Therefore, “why is my spread wide?” cannot be answered purely by referring to general market liquidity; it often requires checking the provider’s documentation and your own order execution records.
Risk and uncertainty summary
- Outcomes vary with market conditions, costs, and execution quality.
- Historical spread behavior does not guarantee future spread behavior.
- Verification should be done using your own observed bid/ask and fill data under stated conditions, not assumptions.
How to verify liquidity and spread facts without guessing
A practical approach to independently confirm how liquidity and spreads are behaving involves observing consistent data under controlled assumptions:
- Record bid and ask (or spread) around different market conditions (for example, quieter vs. more active periods).
- Compare the last displayed quote to your actual fill price for similar order types and sizes.
- Note whether the same currency pair behaves differently across providers.
- Check your provider’s execution policy (for example, how orders are handled and what fee components exist) so you can separate spread from other costs.