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

Spreader (MM*)

PreviousMarket maker (MM)NextSpreader

Last updated 1 year ago

The Spreader algo market makes and trades one market based on another market. This can be used for a variety of different strategies, including cross-exchange arbitrage, futures vs spot basis trading, and relative value trading. Spreader will also send orders in the hedge market, and thus is able to lay off risk or complete the legs of an arbitrage trade.

Parameter
Description

Market

Symbol & price currency & exchange of the primary market

Hedge Market

Symbol & price currency & exchange of the hedge market. The Hedge Market is the source of the reference price as well where hedging orders are sent

Conversion Ratio & Premium

The factors to relate the Market to the Hedge Market, using the formula: Market Price = Hedge Market Price * Conversion Ratio + Premium The Conversion Ratio also determines the quantity of the Hedge Market order sent for each fill in Market

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

Upon getting a fill in the Market, Spreader algo will then trade in the Hedge Market (based on the Conversion Ratio). For the above examples, if Spreader buys AAVE on Coinbase it will then sell AAVE on Binance, or if Spreader buys BTC quarterly futures on Deribit it will sell spot BTC on Binance.

Pricing the AAVE/USD market on Coinbase using the quotes from AAVE/USDT on Binance
Trading quarterly Bitcoin future on Deribit based on spot BTC/USDT market on Binance, using a computed premium (future basis)