# Market maker (MM)

The Market Maker (MM) algo provides liquidity in a designated market by sending orders on both sides of the market, using the midpoint of the current market as the reference price, and fade to maintain a neutral position.

<figure><img src="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeAUlgqmwkYTmKcyTbHKL%2Fuploads%2F3WF1kSeXo0Yk5267vli0%2Fimage.png?alt=media&#x26;token=ba3e631b-2afd-403e-ac69-ff437717d5a1" alt=""><figcaption><p>Market Maker (MM) algo in the AVAX/USDT market on Binance. Will send size 0.25 AVAX orders 0.1% away on each side, and will cancel/replace if market moves by 0.025%. As MM algo picks up positions, fade quotes by 0.05 USDT per 1 AVAX position accumulated, and will not send orders to exceed a total position of 10 AVAX.</p></figcaption></figure>

| Parameter                   | Description                                                                                                                                                                                                                             |
| --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Market                      | Symbol & price currency of the market, as well as the exchange                                                                                                                                                                          |
| Buy/Sell Quantity           | Size of each order to send                                                                                                                                                                                                              |
| Minimum/Maximum Position    | Position bounds that the algo will not exceed. Will only send one sided orders the cumulative position reaches the minimum or maximum.                                                                                                  |
| Max Improve BBO             | Most an order can be more aggressive than the current best bid or offer. Can prevent order from being too tight inside current spread.                                                                                                  |
| Position Tilt               | The amount order prices should shift as a position is accumulated. For example, if MM algo net buys tokens, this will lower the price of bids & offers to fade the market. Measured in price change per unit.                           |
| Reference Distance Fraction | Distance away from reference price to send orders. For example if Reference Distance Fraction is 0.01, the bid and offer order sent will be 1% around the current reference price (and thus 2% wide).                                   |
| Tolerance Fraction          | Amount a new order would differ from current order to cancel and replace. Used to prevent flickering quotes and unnecessary cancel and replace, as well as maintaining queue priority. Measured as a fraction, i.e. not in price terms. |
| Order Lockout               | Minimum amount of time to wait between orders                                                                                                                                                                                           |
| Fill Lockout                | Amount of time to wait after a trade to send a new order                                                                                                                                                                                |
| Reject Lockout              | If an order is rejected, wait this amount of time before trying again                                                                                                                                                                   |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.architect.co/algos-book/market-maker-mm.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
