Skip to content
All library documents

Estimating Forex Mid-Prices from Quotes and Order Book Depth

Article Quant Q&A · Author: lostlostlostlostlost

Summary

The note distinguishes the bid–ask spread from the mid-price: the spread is the difference between the best offer and bid, while the mid-price is their arithmetic midpoint. It then cautions that this quote midpoint is only a simple proxy for fair value, especially when quotes are stale, liquidity is low, or the spread is unusually wide. Previous quotes may help contextualize wide spreads, and unequal bid and offer sizes can signal that the fair price lies away from the midpoint.

A further suggestion is to calculate a volume-weighted estimate using several bid and offer levels rather than relying on only the top quote. This may reduce distortion from a single illiquid or skewed quote, though the document does not give validation results or establish that the weighted estimate is universally superior. The guidance is aimed at constructing forex price data for analysis and distinguishes descriptive midpoint calculation from estimating a risk-neutral fair price.

Key ideas

  • The mid-price is the average of the best bid and best ask, while their difference is the spread.
  • The quote midpoint may be a poor fair-value proxy when spreads are wide or quotes are illiquid.
  • Bid and offer size imbalance can indicate that fair value differs from the midpoint.
  • A volume-weighted estimate across multiple order book levels is one alternative for illiquid quotes.

Tags

Full text
# How do I get a good mid-price?


# How do I get a good mid-price?












I 'm trying to get a mid price for forex data. This answer by alex suggests that I shouldn't simply take ask minus bid. I am not a high frequency trader or market maker. My purpose for the fx mid point data would be to run some pattern recognition algorithms.

My question is how should I get a mid price if not just using ask minus bid?

## Answer by Chris Taylor (score 7)

https://quant.stackexchange.com/a/27934

Ask minus bid has nothing to do with the mid price - it is the spread.

Generally you see a collection of bid/offer orders resting on different price levels. In the simplest case, you just see one bid at price $p_b$ and one offer at price $p_a$. In this case the mid price is

$$ p_m = \frac{p_a + p_b}{2} $$

That's all there is to it - you don't need to "approximate" the mid price if you know the best bid and offer. The half-way point between them just is the mid price.

Really, the question you should be asking is "what is the fair price?" and not "what is the mid price?". The fair price is the exchange rate at which you would be ambivalent about buying or selling (assuming you don't care about risk).

Most of the time, the fair price $p_f$ satisfies $p_b < p_f < p_a$ and you want to get an accurate value for this, using all the information at your disposal. Just using the mid price i.e. $p_f=p_m$ is not a bad approach, but it can break down -

- If the spread is wide i.e. $p_a \gg p_b$ then the possible range of values for the fair price is very large. This can happen in illiquid markets. In this case, you may want to use information from previous quotes (for example, what was the mid price the last time you saw a bid-offer spread that was not unreasonably wide).

- If the quoted volumes on the bid and offer are very different, it may indicate that the fair price is far away from the mid. For example, if the amount bid far exceeds the amount offered, it indicates that demand exceeds supply, so probably $p_f > p_m$, and similarly if the amount offered exceeds the amount bid, you probably have $p_f < p_m$. You can search for "bid ask imbalance" or "liquidity imbalance" to read more about this.

## Answer by rrg (score 2)

https://quant.stackexchange.com/a/31574

This is an `implied mid` price.

If an illiquid market and/or quiet time of day to snap bid and ask prices, you may have an implied mid that is skewed (consider the case that a dealer offers at his mid to quickly close a position, but fails to find a buyer unless he hits a bid, crossing full B-A).

A better solution would be `weighted implied mid`, pick the top five/ten quotes on the orderbook and average. Bloomberg does something very close to this on ALLQ.

p(mid) = [SUM(i=1 to 5){bid(i)(pvol)} + SUM(i=1 to 5){ask(i)(pvol)} ] / {SUM(i=1 to 5){bid(vol)+ask(vol)}}* 1/2

## Answer by Arnoldik (score -1)

https://quant.stackexchange.com/a/83641

Regime shifts can wreck your models fast ⚠️. Go for adaptive algos that spot volatility or trend flips and tweak themselves on the fly. Also, keep tabs on macro stuff — it’s your early warning system 🚨

Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.