KILLED · adverse selection
Hypothesis
Quoting symmetric bid/ask around a reservation price with inventory-aware skew, per Avellaneda-Stoikov, earns the spread on liquid alts while controlling inventory risk.
Math: reservation price & optimal spread
Inventory-adjusted reservation price ($q$ = inventory, $\gamma$ = risk aversion):
$$ r(s,t) = s - q\,\gamma\,\sigma^2 (T-t) $$
Optimal half-spread combines risk and book-arrival intensity $\kappa$:
$$ \delta^{a}+\delta^{b} = \gamma\sigma^2(T-t) + \frac{2}{\gamma}\ln\!\Big(1+\frac{\gamma}{\kappa}\Big) $$
Method
Paper market-maker on 3 liquid alts, inventory cap, $\gamma$ and $\kappa$ calibrated from the arrival curve. Maker rebate modeled, latency penalty applied on requotes.
Results
| Gross spread captured | positive |
| Fill asymmetry (toxic fills) | severe |
| PnL after adverse selection | − |
| Inventory blow-outs on trends | frequent |
Why it failed for us
- We get filled preferentially on the wrong side: informed flow lifts our stale quote right before the move (adverse selection), exactly the cost AS assumes you can offset with requote speed.
- At public-API requote latency we cannot pull quotes fast enough; faster co-located MMs are always ahead in the queue.
- On trends the inventory term cannot keep up; the book runs against the held inventory.
The model is correct; the infrastructure is not ours. Market making is a latency game, the spread is compensation for adverse selection, and you only win it if you are the fastest to cancel. We are not. Hard rule: no passive MM on public-API latency.
Earning the spread is not free money. It is payment for being run over by informed flow. If you cannot cancel faster than the informed trader can hit you, the spread is a loss.