You are the market maker.

Order flow hits you twenty times a second. Your quote is one line of Amber, re-evaluated on every tick, and the whole market (the tape, the fills, your inventory, your P&L) runs inside the engine. Quote too tight and informed flow picks you off; quote too wide and you never trade at all. The same seed is the same tape, so two scores mean something.

starting the engine…
60.0s
seed

the mid your bid–ask you bought you sold Space pauses · edit the quote mid-round and it takes effect on the next tick

How to play

A market maker does not predict the price. They stand in the middle, quote a price to buy and a price to sell, and try to earn the difference faster than the market takes it back. That is the whole game, and it is harder than it sounds.

1 · You quote both sides

Your line returns two numbers: a bid (where you will buy) and an ask (where you will sell). px+-0.05 0.05 is five cents either side of the mid.

Buyers and sellers arrive about twelve times a second. A buyer who is willing to pay your ask lifts it, and you are now short. A seller who will take your bid hits it, and you are long. You never choose to trade. You only choose your prices.

2 · Tight quotes get picked off

Each arriving order moves the mid a little in the direction it traded. So the flow that takes your quote tends to be right: you sell just before the price rises, and buy just before it falls. That is adverse selection, and it is what makes the suicide preset lose money on every seed despite trading constantly.

Widening your quote earns more per fill and gets you fewer of the bad ones, up to a point, after which you stop trading.

3 · Inventory is the other risk

Whatever you are holding is marked at the mid, so a position that moves against you costs you money even if you never trade again. Left alone, one-sided flow will push you to the position cap of 30.

The fix is to lean: subtract a multiple of inv from both prices, so the longer you are the cheaper you quote, and the market flattens you for free. That is the whole of px+(-0.05 0.05)-0.005*inv.

Reading the screen

  • The white line is the mid. The amber band is your own bid and ask, drawn around it. When the band is wide you are quoting defensively.
  • Amber dots are fills where you bought, cyan dots where you sold. Their size is the trade size.
  • Edge captured is the total distance between your fill prices and the mid at the moment each one happened. It is your gross income; P&L is what is left after the market moves against your position.
  • Max drawdown is the worst fall from your best P&L so far. Two quotes can end at the same number and be wildly different trades, which is where you see it.
  • The tape prints every fill: side, size, price, and the edge in cents versus the mid at that instant. A run of negative numbers means you are being run over.

A progression worth trying

  1. Run flat 5c once, all the way through. Watch the inventory bar drift to one side and stay there, and watch the P&L swing with it.
  2. Run suicide (a tenth of a cent each side). It trades on almost every tick and still loses. That is adverse selection on its own, with nothing else going on.
  3. Run skew. The same five-cent market, plus one term that leans against inventory. Compare the max drawdown, not the P&L.
  4. Now write your own. Try a wider base, or make the width depend on vol, or shade the whole quote in the direction of flow.

Comparing scores

The tape is generated from the seed, up front, before you trade. The same seed is the same market, every time, for everyone. Share copies a link carrying both your quote and the seed, and whoever opens it is trading against exactly the tape you did. Changing the seed gives you a different market to test against, which is the honest way to find out whether a quote is good or lucky.