Libertas · Veritas · ProsperitasL · V · P

Avellaneda–Stoikov on a binary contract: inventory-aware quoting, simulated

LVP ResearchMarket makingPublished 29 October 20266 min read

AbstractAvellaneda and Stoikov (2008) quote around a reservation price derived for a Brownian mid-price. For an event contract the right object is the conditional variance of the terminal payoff, which is exactly . We derive the binary reservation price from CARA utility, then simulate four quoting rules on 4,000 martingale price paths with uninformed and informed takers. Inventory skew cuts inventory risk by a factor of eight relative to an unskewed fixed spread (risk measure 0.67 versus 5.32) and keeps the strategy profitable at an informed share where the fixed-spread rule loses money; widening spreads to price informed flow, in this setup, cost more volume than it saved.

Why the textbook formula breaks on a bounded asset#

In the Avellaneda–Stoikov (AS) model the mid-price follows , the market maker has exponential (CARA) utility with risk aversion , and market orders hit quotes at distance with intensity . The solution centres quotes on a reservation price and sets a total spread

(1)

The term is the variance of the asset between now and the horizon. On an event contract that quantity is not a constant times time. Prices live in [0, 1], and every contract ends at exactly 0 or 1. A Brownian mid with constant is the wrong model, and plugging a historical volatility into the formula gives quotes that are too wide in the middle of a contract's life and dangerously narrow near resolution.

The binary replacement: p(1−p)#

A clean way to generate event-contract prices is to let a latent variable decide the outcome, . The fair price is then

(2)

which is a martingale by construction and converges to 0 or 1 at . The quantity AS needs, the variance of the terminal payoff given today's information, is then exact and model-free:

(3)

So the natural substitution is . We can do better than substitution. A CARA market maker holding contracts has certainty equivalent

(4)

and the reservation prices for buying and selling one more contract are and . Their midpoint, to first order in , is

(5)

The skew per contract of inventory is largest at 50¢ and vanishes at the tails, exactly as it should: ten contracts of inventory at 97¢ are close to riskless, ten at 50¢ are not. Carrying the substitution into the spread term gives the quoting rule we test below:

(6)

Simulation design#

We simulated 4,000 contracts, each over 2,000 time steps, with fair value following equation (2) and so that contracts start across the whole price range. At every step and on each side:

  • Uninformed takers arrive with probability , , per dollar (a quote 1¢ from fair value is hit 22% as often as one at fair value), where is the quote's distance from fair value.
  • Informed takers arrive with probability = 0.08 and know the fair value 20 steps ahead. They buy if it exceeds the ask and sell if it is below the bid.
  • All trades are one contract. The market maker stops quoting for the last 2% of each contract's life and holds whatever inventory remains to resolution.

Four quoting rules were compared, all with the same seed:

RuleCentreHalf-spread
S1 fixedfair value p1¢
S2 volatilityfair value pmax(0.5¢, σp√(HΔt)), the expected informed move
S3 binary ASp − γ q p(1−p)½ [γ p(1−p) + (2/γ) ln(1+γ/k)], γ = 0.01
S4 AS + flooras S3max(S3, S2)
Table 1. Quoting rules. σp = φ(Φ−1(p))/√(T−t) is the instantaneous volatility of the price in equation (2).

Because terminal inventory can be large in contracts that drift to 0 or 1 (where it is nearly riskless), we report inventory risk as the time-averaged , the standard deviation of the inventory's payoff, rather than raw position size.

Results#

RuleMean P&LSDMean / SDCVaR 5%P(loss)FillsInformed share of fillsInventory risk
S1 · fixed 1¢ half-spread, no skew1.959.260.21-20.1235.1%74414.1%5.32
S2 · volatility-scaled spread, no skew0.453.550.13-8.6037.6%36913.7%2.17
S3 · binary Avellaneda–Stoikov4.180.775.412.370.1%103011.0%0.67
S4 · S3 skew + volatility floor0.572.180.26-5.0134.0%34914.1%1.13
Table 2. Per-contract results over 4,000 simulated contracts (P&L in dollars per contract-life at one-contract clip size; seed 7).

Three findings stand out.

Skew is what controls risk. The binary AS rule quotes the tightest spread of the four (about 0.67¢ each side at γ = 0.01) yet has the lowest inventory risk, 0.67 against 5.32 for the unskewed 1¢ rule. Its P&L standard deviation is a twelfth of the fixed rule's. The fixed rule earns as much spread but lets inventory build in the middle of the price range, where it is expensive.

Widening for informed flow did not pay here. Scaling the spread to the expected informed move (S2, S4) halved the number of fills and cut spread capture from about $5.9 to $3.1 per contract. Adverse selection fell only slightly as a share of fills. With takers this price-sensitive (k = 150), uninformed volume is too valuable to give up. With a lower k (less price-sensitive flow) the conclusion would shift toward wider quotes.

Skew also buys robustness to informed flow. Varying the informed arrival rate:

Informed arrival rate πS1 fixedS2 volatilityS3 binary ASS4 AS + floor
0.05.091.365.141.39
0.043.540.904.650.95
0.081.960.454.180.57
0.16-1.23-0.423.32-0.18
Table 3. Mean P&L per contract as informed flow increases. All else as in Table 2.

At π = 0.16 the fixed rule loses money while binary AS still earns $3.32 per contract. Skewing away from inventory after being hit means the next informed trade in the same direction is filled at a worse price for the informed trader.

γ (S4)Mean P&LSDMean / SDCVaR 5%Inventory risk
0.00250.482.780.17-6.811.67
0.0050.512.450.21-5.901.41
0.010.572.180.26-5.011.13
0.020.661.940.34-4.050.86
0.040.871.720.50-3.070.62
Table 4. Risk-aversion sensitivity for S4. Higher γ means more skew per contract of inventory.

Within S4, increasing from 0.0025 to 0.04 improves every metric at once. That is a sign the inventory penalty implied by equation (5) at small is too weak for this flow. In practice is a calibration parameter, not a preference, and should be chosen by exactly this kind of experiment on a venue's own flow.

Limitations#

  • Taker behaviour at the tails is unrealistic. Uninformed arrivals follow the same intensity at 2¢ as at 50¢, so market makers accumulate large positions near 0 and 1 at prices the model treats as fair. That inflates terminal |q| (88–138 contracts on average) without much risk, which is why we report the payoff-variance measure instead.
  • No fees, ticks or queue position. Real quotes sit on a 1¢ grid, and a 0.67¢ half-spread is not quotable on most venues. Adding the fee schedule from our fee note would raise the break-even spread at mid-range prices by up to 1.75¢ per side for takers, and less for makers.
  • Informed traders are myopic and unit-sized. Strategic informed traders who split orders (as in Kyle 1985) would erode the advantage of skewing.
  • One contract at a time. Real books are correlated across contracts. Theme-level inventory, discussed in our market-making guide, is the natural extension.
# research/as_binary.py (excerpt): binary AS quotes
pp = p * (1 - p)
r = p - q * gamma * pp                       # reservation price, eq. (5)
half = 0.5 * (gamma * pp + (2 / gamma) * np.log(1 + gamma / K))  # eq. (6)
ask, bid = r + half, r - half

Questions#

Can the Avellaneda–Stoikov model be used for prediction markets?

Yes, with one change: replace the price variance σ²(T−t) by the conditional variance of the contract's payoff, p(1−p). The reservation price becomes approximately p − γ q p(1−p), so inventory skew is strongest at 50¢ and vanishes near 0 and 1.

What is the reservation price for a binary contract?

For a market maker with CARA utility holding q contracts, the certainty equivalent is −(1/γ) ln(p e^(−γq) + 1 − p). Differencing gives reservation bid and ask prices whose midpoint is approximately p − γ q p(1−p).

Should market makers widen spreads to protect against informed traders?

Only up to a point. In our simulation with price-sensitive uninformed flow, widening to the expected informed move halved volume and reduced profit, while inventory skew controlled risk far more cheaply. The answer depends on how price-sensitive the uninformed flow is.

References#

  1. Avellaneda, M. and Stoikov, S. (2008). High-frequency trading in a limit order book. Quantitative Finance, 8(3), 217–224.
  2. Guéant, O., Lehalle, C.-A. and Fernandez-Tapia, J. (2013). Dealing with the inventory risk: a solution to the market making problem. Mathematics and Financial Economics, 7(4), 477–507.
  3. Ho, T. and Stoll, H. R. (1981). Optimal dealer pricing under transactions and return uncertainty. Journal of Financial Economics, 9(1), 47–73.
  4. Kyle, A. S. (1985). Continuous auctions and insider trading. Econometrica, 53(6), 1315–1335.

DisclosureThis note is research and education. It is not investment advice or an offer to trade, and nothing in it describes the firm's own results. Code and outputs: research/as_binary.py in our research repository, reproducible with a fixed seed.

Questions about this note? The research desk replies to every serious one.

Write to research →