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.