One-Step Avellaneda-Stoikov Market Making
You are a market maker quoting around a mid price $m$. You post an ask at $m + s_a$ and a bid at $m - s_b$, where $s_a, s_b > 0$ are your quote offsets.
Noise-driven orders arrive as independent Poisson processes. The arrival rate on each side decays exponentially with the offset you quote:
$\lambda_a = A e^{-\kappa s_a}, \quad \lambda_b = A e^{-\kappa s_b}$
where $A > 0$ is the baseline arrival intensity and $\kappa > 0$ controls how sensitive flow is to your spread.
In a single period, you also face adverse selection: with probability
Your one-step expected P&L is:
$\Pi(s_a, s_b) = q \left( \lambda_a s_a + \lambda_b s_b \right) - (1 - q) \sigma (\lambda_a + \lambda_b)$
The first term is expected profit from noise flow (earn the spread), and the second is expected loss from informed flow (lose $\sigma$ on adverse fills).
- Derive the optimal ask offset $s_a^{*}$ and bid offset $s_b^{*}$ that maximize $\Pi$.
- Interpret the result: what is the minimum spread the market maker is willing to quote, and how does it depend on $q$, $\kappa$, and $\sigma$?
- What happens to the optimal spread as adverse selection increases (i.e., $q \to 0$)?
Hints
- The ask and bid offsets decouple in the P&L expression -- you can optimize each side independently.
- For each side, the objective has the form $e^{-\kappa s}(q \cdot s - (1-q)\sigma)$. Differentiate and set to zero. The exponential factor never vanishes, so solve the linear equation in the bracket.
- The optimal offset should have two interpretable components: one from the monopoly pricing of order flow (/\kappa$) and one compensating for adverse selection ($(1-q)\sigma/q$).
Worked Solution
How to Think About It: This is the fundamental trade-off of market making: you earn the spread on noise flow but lose to informed traders. The exponential arrival model captures the real-world fact that wider spreads repel order flow -- quote too tight and you get run over by informed traders, quote too wide and nobody trades with you. The optimal spread balances these two forces. Before doing any calculus, you should expect the optimal offset to have two components: a term for the "natural" profit-maximizing spread (like a monopolist pricing) and a term that compensates for adverse selection.
Quick Estimate: The profit-maximizing offset for a monopolist facing exponential demand is
/\kappa$ (standard result: revenue $= s \cdot e^{-\kappa s}$ is maximized at $s = 1/\kappa$). Adverse selection adds a penalty, so the optimal offset should be roughly/\kappa + \text{something involving } \sigma$ and $q$. The break-even condition is where the spread earned equals the expected adverse selection cost per fill, which is $\sigma(1-q)/q$. So the minimum viable spread is around $\sigma(1-q)/q$.Approach: Take derivatives of $\Pi$ with respect to $s_a$ and $s_b$ separately (they decouple since the arrival processes are independent).
Formal Solution:
Substitute $\lambda_a = A e^{-\kappa s_a}$ into $\Pi$:
$\Pi = q \cdot A e^{-\kappa s_a} \cdot s_a + q \cdot A e^{-\kappa s_b} \cdot s_b - (1-q) \sigma A (e^{-\kappa s_a} + e^{-\kappa s_b})$
The ask and bid terms separate, so we can optimize each independently. For the ask side:
$\Pi_a(s_a) = A e^{-\kappa s_a} \left[ q \cdot s_a - (1-q) \sigma \right]$
Taking the derivative and setting it to zero:
$\frac{d\Pi_a}{ds_a} = A e^{-\kappa s_a} \left[ q - \kappa q \cdot s_a + \kappa (1-q) \sigma \right] = 0$
Since $A e^{-\kappa s_a} > 0$, the bracket must vanish:
$q - \kappa q \cdot s_a + \kappa (1-q) \sigma = 0$
$s_a^{*} = \frac{1}{\kappa} + \frac{(1-q)\sigma}{q}$
By symmetry (the bid side has the same structure):
$s_b^{*} = \frac{1}{\kappa} + \frac{(1-q)\sigma}{q}$
So the optimal offsets are symmetric, and the total optimal spread is:
$s_a^{*} + s_b^{*} = \frac{2}{\kappa} + \frac{2(1-q)\sigma}{q}$
Part 2 -- Interpretation:
The optimal offset has two components:
- /\kappa$: the monopoly spread -- the profit-maximizing offset a market maker would quote even with no adverse selection. This is driven purely by the elasticity of order flow. When $\kappa$ is large (flow is very price-sensitive), the monopoly spread is small.
- $(1-q)\sigma / q$: the adverse selection component -- compensation for the expected loss from informed traders. This grows with $\sigma$ (the magnitude of informed moves) and with $(1-q)/q$ (the ratio of informed to noise probability).
The minimum viable spread (break-even on the adverse selection side) occurs when $q \cdot s = (1-q) \cdot \sigma$, i.e., $s = (1-q)\sigma/q$. Below this, the market maker loses money on average.
Part 3 -- As $q \to 0$ (all flow is informed):
$s_a^{*} \approx \frac{\sigma}{q} \to \infty$
The market maker quotes an infinitely wide spread -- effectively withdrawing from the market. This is exactly what happens in practice during information events: spreads blow out because market makers cannot distinguish noise from informed flow.
Answer: The optimal one-sided offset is $s^{*} = \dfrac{1}{\kappa} + \dfrac{(1-q)\sigma}{q}$, giving a total spread of $\dfrac{2}{\kappa} + \dfrac{2(1-q)\sigma}{q}$. The first term is the monopoly pricing component, the second is the adverse selection premium. As informed flow dominates ($q \to 0$), spreads blow out to infinity.
Intuition
The Avellaneda-Stoikov framework captures the essential economics of market making in one elegant equation. Every market maker faces the same dilemma: tighter spreads attract more flow (and more revenue per unit time), but also expose you to more adverse selection. The exponential arrival model makes this trade-off analytically tractable, and the result is clean: the optimal spread is the sum of a monopoly component (how much can you charge given the elasticity of flow?) and an adverse selection component (how much do you need to charge to break even against informed traders?).
The practical implication is immediate. When you see spreads widen during earnings announcements or macro events, it is not market makers being greedy -- it is the $(1-q)\sigma/q$ term blowing up because $q$ drops (more flow is informed) and $\sigma$ increases (informed moves are larger). Conversely, in calm markets with lots of noise flow, $q$ is high and the adverse selection component shrinks, producing tight spreads. This model is the foundation of electronic market making -- every real quoting engine has some version of this spread decomposition at its core.