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:
- Capture spread by posting competitive bid/ask quotes.
- 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:
- Base quote engine from the model.
- Fill-quality and toxicity filters.
- Dynamic volatility and fill-rate calibration.
- Venue-level smart routing.
- 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.