Article

Avellaneda-Stoikov Market Making Strategy: A Practical Guide for Quants

A plain-English but technical guide to the Avellaneda-Stoikov market making model, from reservation price intuition to real-world implementation trade-offs.

Most beginner market making logic starts like this: quote around mid-price, collect spread, repeat.

Then reality hits. You get one-sided fills, your inventory drifts, and that “simple” spread strategy starts carrying directional risk.

This is exactly where the Avellaneda-Stoikov framework becomes useful.

It gives a structured answer to the practical question every market maker faces:

“Where should I quote bid and ask prices right now, given inventory risk and time left in the session?”

The Core Intuition

The model tries to balance two forces at the same time:

  1. Capture spread by posting competitive bid/ask quotes.
  2. Control inventory risk so you do not get stuck with a dangerous position.

Instead of always quoting symmetrically around mid, it adjusts your quoting center based on inventory and risk appetite.

Reservation Price: The Most Important Idea

Reservation price is your internal “fair value” after accounting for your current position.

  • If you are too long, the model lowers reservation price so your quotes lean toward selling.
  • If you are too short, it raises reservation price so your quotes lean toward buying.

This is what makes Avellaneda-Stoikov feel more “alive” than static spread rules. It reacts to your risk state, not just the market price.

Optimal Spread: How Wide Should You Quote?

The model also gives a spread width based on market and strategy conditions:

  • volatility,
  • risk aversion,
  • time horizon,
  • and order arrival sensitivity.

Higher volatility or stronger risk aversion generally pushes spreads wider. Calmer conditions allow tighter quoting.

Why Quants Keep Using It

Avellaneda-Stoikov is still popular because it sits in a sweet spot: mathematically grounded, but practical enough to implement fast.

  • You get explicit formulas.
  • You can backtest parameter sensitivity.
  • You can adapt it for crypto, equities, or derivatives with microstructure tweaks.

It is often the first serious step from “toy market making” to risk-aware quoting.

Where the Classic Model Breaks in Production

The classic model is not a full production strategy by itself.

It relies on simplified assumptions about price evolution and fill arrivals. Real markets are uglier:

  • queue priority effects,
  • changing fee/rebate structures,
  • toxic flow and adverse selection,
  • latency asymmetry,
  • and sudden regime shifts.

So production systems usually become an “Avellaneda-Stoikov plus” architecture:

  1. Base quote engine from the model.
  2. Fill-quality and toxicity filters.
  3. Dynamic volatility and fill-rate calibration.
  4. Venue-level smart routing.
  5. Kill-switch and position hard limits.

Practical Calibration Checklist

Before going live, calibrate and monitor:

  • risk aversion parameter,
  • volatility estimator window,
  • order arrival curve,
  • max inventory and skew caps,
  • spread floor/ceiling by market regime.

Bottom Line

Avellaneda-Stoikov is one of the best foundational models for quantitative market making because it ties quote placement to inventory risk in a disciplined way. Use it as a core engine, but do not treat it as a complete strategy. The real edge comes from how well you adapt it to market microstructure, execution quality, and operational risk in live trading.

Related Services

Related Case Studies

← Back to blog