Architect Documentation
  • User Guide
  • SDK Documentation
  • Algos Book
  • Overview
  • TWAP
  • Smart order router (SOR)
  • Percent of volume (POV)
  • Market maker (MM)
  • Spreader (MM*)
  • Spreader
Powered by GitBook
On this page

Market maker (MM)

PreviousPercent of volume (POV)NextSpreader (MM*)

Last updated 10 months ago

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.

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.

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