Bayesian quote update after a tradeAbout 6 min · Untimed

Discover

The tide mark

A fill is a signal, so the quote must move after every trade. When a buy arrives, Bayes reweights the prior toward the high value in proportion to how much more often buys occur there. With values 90 or 110 at equal odds and buy probabilities 0.8 on high versus 0.2 on low, a buy lifts P(high) from 0.5 to (0.5 × 0.8) / (0.5 × 0.8 + 0.5 × 0.2) = 0.40 / 0.50 = 0.8, moving the mid from 100 to 0.8 × 110 + 0.2 × 90 = 88 + 18 = 106. A sell mirrors to 0.2 and a mid of 94.

Words you need

Bid and ask
The bid is the highest price a buyer is offering right now; the ask (also called the offer) is the lowest price a seller will take. To sell immediately you sell at the bid; to buy immediately you buy at the ask.e.g. A market '99 at 101': bid 99, ask 101.
Fill
Your order actually traded. 'My bid got filled' means someone sold to me at my bid.
Quote (making a market)
Stating a bid and an ask together, as 'bid at ask'. You promise to buy at the bid and sell at the ask.e.g. '99 at 101' means I buy at 99 and sell at 101.
Why it works

The posterior odds equal the prior odds times the likelihood ratio of the observed direction, so the mid follows the posterior mean exactly.

P(high | buy) = p × b_H / (p × b_H + (1 - p) × b_L), mid = P(high | side) × V_H + P(low | side) × V_L

Spot it: A trade hits your quote and you must re-center before quoting again.

Technique reference and sources

Picture the mid as a tide mark on a wall. A buy is a wave pushing it up the wall and a sell is a wave pulling it down. The size of the push depends on how informative the wave is: a buy that arrives almost only on high values shoves the mark hard, while an uninformative coin-flip fill barely moves it.

When this method fits

  • A trade hits your quote and you must re-center before quoting again.
  • You know the prior and the direction likelihoods for each state.
  • An interviewer asks for the posterior and the new fair value after a buy or sell.
  • You need the size of the mid move to check whether a quote update was large enough.
  1. Start from the prior mid. Compute E[V] = p × V_H + (1 - p) × V_L as the pre-trade center.
  2. Apply Bayes to the direction. Posterior = prior × direction likelihood, divided by total direction probability across both states.
  3. Recompute the mid. New mid = posterior × V_H + (1 - posterior) × V_L.
  4. Move both quotes. Shift bid and ask together to the new posterior mean as the new belief anchor. Then recompute each side's conditional price from the updated prior: the next buy is priced off E[V | next buy] and the next sell off E[V | next sell], since the posterior mean alone does not price one-sided flow.
Posterior after a buy: P(high | buy) = p × b_H / (p × b_H + (1 - p) × b_L), where b_H and b_L are the buy probabilities in each state.
  • p = 0.5, buys 0.8 / 0.2: 0.40 / 0.50 = 0.8
  • p = 0.5, buys 0.75 / 0.25: 0.375 / 0.50 = 0.75
Posterior after a sell: P(high | sell) = p × (1 - b_H) / (p × (1 - b_H) + (1 - p) × (1 - b_L)). Sells reweight toward the low value.
  • p = 0.5, buys 0.8 / 0.2: 0.10 / 0.50 = 0.2, mid 94
  • p = 0.5, buys 0.75 / 0.25: 0.125 / 0.50 = 0.25, mid 95
Odds multiplication plus low-value anchoring: Multiply prior odds by the likelihood ratio b_H / b_L to get posterior odds, convert to a probability, then anchor on the low value: mid = V_L + p_post × (V_H - V_L). Fastest for repeated independent signals.
  • p = 0.5, buys 0.8 / 0.2: prior odds 1:1 × ratio 4 = 4:1, p = 4/5, mid 90 + 20 × 4/5 = 106
  • p = 0.5, buys 0.75 / 0.25: prior odds 1:1 × ratio 3 = 3:1, p = 3/4, mid 90 + 20 × 3/4 = 105

Common traps

Leaving the quote centered at 100 after a buy that moves the posterior to 0.8. The old center is 6 below the updated mean of 106. Evaluate each resting price against the relevant conditional value: a resting ask at 100 + h keeps edge h - 6 against 106, so with a half-width of 10 it still earns +4 if lifted, while with a half-width of 1 it sells 5 too cheap.

Moving the mid by a fixed 1 tick regardless of how informative the fill was. The move equals posterior mean minus prior mean: +6 after the 0.8-posterior buy, -6 after the 0.2-posterior sell. Token moves underreact to strong signals.

Updating only the touched side, raising the ask after a buy while leaving the bid at the old level. Beliefs changed about value, not about one side. Both bid and ask re-center on the new mid of 106 as the new belief anchor; then re-derive each side's conditional spread from the updated prior before quoting size.

Another example: Buy update from a 0.25 prior with 1.0 / 0.5 buy likelihoods
  1. Prior mid: 0.25 × 110 + 0.75 × 90 = 27.5 + 67.5 = 95
  2. Total buy probability: 0.25 × 1.0 + 0.75 × 0.5 = 0.25 + 0.375 = 0.625
  3. Posterior: 0.25 / 0.625 = 0.4
  4. New mid: 0.4 × 110 + 0.6 × 90 = 44 + 54 = 98

Source notes

These explanations and questions are written for QuantArc. Links show the underlying mathematics and learning design.

Harvard Stat 110: Probability (Joe Blitzstein)
Free course site with videos and the open companion book Introduction to Probability; the topic spine for counting, Bayes, and linearity. Lesson examples and questions are original.

Jane Street: Probability & Markets Trading Interview Guide
Interview preparation guide (page 9) testing optimal stopping and market making on a d6 with one optional reroll. Lesson examples and questions are original.

IES: Organizing Instruction and Study to Improve Student Learning
Supports worked examples, retrieval, explanations and spaced study. Does not establish QuantArc's exact lesson length, mastery threshold or review intervals.