Implied Matching
CoinJar Exchange supports first-generation implied matching for incoming orders. Implied matching allows an incoming order to be matched against a combination of resting orders in other related order books where this yields a more favourable overall price. This functionality bridges the available liquidity in different trading products and offers more trading opportunities to participants.
As illustrated in the example below, within the BTC/AUD order book, a bid and an ask can be implied from BTC/USDC and USDC/AUD order books.
BTC/USDC Order Book | and | USDC/AUD Order Book | imply | BTC/AUD Order Book | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Bids | Asks | Bids | Asks | Bids | Asks | ||||||||
5.000 | 11290 | 11310 | 2.000 | 10000 | 1.369 | 1.370 | 20000 | 0.885i | 15450 | 15500 | 1.768i |
When a BTC/AUD buy order with a price of at least 15500 is received, the matching engine will execute against the implied order, triggering a fill against the 11310 BTC/USDC ask and the 1.370 USDC/AUD ask.
CoreMatch supports three directions of implication, covering all possible first-order links between order books on CoinJar Exchange:
Implication Direction | Example (A implied from B & C) | Price Formula (P) | Size Formula (Q) |
---|---|---|---|
From two pairs of same base currency | BTC/GBP implied from ETH/BTC & ETH/GBP | PA = PC / PB | QA = min(QB × PB, QC × PB) |
From two pairs chained | ETH/GBP implied from ETH/BTC & BTC/GBP | PA = PB × PC | QA = min(QB, QC / PB) |
From two pairs of same counter currency | ETH/BTC implied from ETH/GBP & BTC/GBP | PA= PB / PC | QA = min(QB, QC × PC / PB) |
A first-generation implied match (between an incoming native order and an implied order) always results in three fills in three different trading pairs. The two legs associated with the implied order are considered maker trades and the incoming order is considered a taker. An order book may contain implied orders from multiple implications. For example, BTC/GBP order book may contain implied orders from ETH/BTC & ETH/GBP, XRP/BTC & XRP/GBP, BTC/USDC & USDC/GBP, etc.
If the incoming order has a size greater than the top resting order or implied order (whichever has a better price), the remainder will be matched against the next best resting order or implied order, until there is no more order to be matched at the order price. When the price is equal, native orders have priority over implied orders.
Second-generation implied matching is not supported. As a result, while it is not possible for an order book to 'cross' with one native and one implied order, it is possible for the order book to remain in a crossed state with two implied orders at the top of the order book. When this happens, both the implied bid and the implied ask can be traded against at the overlapped prices.
Updated over 2 years ago