Spreads Get quoting
Strategy

Getting run over, and not

Every fill is either income or information. The losing makers are the ones who can't tell which.

The mechanics of getting run over

At 4:47pm a company guides down. At 4:47:02 whoever read the release fastest sells every bid still resting at the old price — including yours if it is still there. You were quoting 99.90 for a stock that is now worth 94. That single fill costs you 5.9% of notional; at a 20 basis point spread, that is roughly thirty sessions of honest spread income returned in one trade. This is adverse selection: the flow that chooses you because you are wrong.

Reading the tape for toxicity

Informed flow has a signature, and the kit surfaces it:

The response ladder

  1. Skew — shade both quotes toward the side hitting you, so the market pays you to reduce your exposure.
  2. Widen — uncertainty went up, so the price of immediacy you charge goes up.
  3. Size down — same quotes, less at stake per fill.
  4. Pull — cancel everything, flatten what you can, re-enter only when you can price the news. Pulling is not a failure state; it is the strategy working. A maker with no quotes loses nothing.

Where the intelligence actually matters

Steps 1–3 are arithmetic; any bot can run them. Step 4 is judgment: is this headline priced in? Is this halt real? Does this filing change fair value or just volatility? That is a reading-comprehension problem under time pressure, which is precisely what a language model is for. The quoter.py loop hands every unpriceable signal to the model driving it and treats "no quote" as a first-class answer. A pool cannot do this. A cron job cannot do this. This is the moat.