CME FX Spot Plus Matching Scenarios
This topic provides examples of CME FX Spot+ Matching.
Contents
- 1 Examples
- 1.1 Scenario 1 - FX Spot+ Outright Order Trades with FX Spot+ Outright Order
- 1.2 Scenario 2 - FX Link Order Trades with FX Link Order
- 1.3 Scenario 3 - Implied Match Occurs in FX Spot+ Order Book
- 1.4 Scenario 4 - Partial Fills on FX Spot+ Inverted Currency Pairs
- 1.5 Scenario 5 - FX Spot+ Inverted Pair Trades with FX Spot+ Implied and Outright Order
Examples
The following messages are referenced in the FX Spot+ matching examples:
Associated Order Messages | Associated Market Data Definitions |
---|---|
Scenario 1 - FX Spot+ Outright Order Trades with FX Spot+ Outright Order
Scenario 2 - FX Link Order Trades with FX Link Order
Scenario 3 - Implied Match Occurs in FX Spot+ Order Book
In this example the FX link Spread and FX Future customer orders generate an implied Bid order for 209858@1.42954 in the FX Spot+ order book.
Scenario 4 - Partial Fills on FX Spot+ Inverted Currency Pairs
CME Globex will aggregate quantities in the FX Spot+ order book across multiple price levels in order to fill an incoming aggressive FX futures or FX Link order on implied liquidity. This process exists to fill as much quantity as possible at the best available prices before having the quantity rest or be automatically cancelled. This will occur when customer orders spanning multiple price levels can be combined to represent an implied order at a single price level. CME Globex will use the full amount of FX Spot+ quantity from the first price level, then match the residual quantity needed using spot quantity in subsequent price levels. This residual quantity may result in small (sub-100k) fills.
In this example, the ask in the USDJPY FX link book and two sell orders in the USDJPY FX Spot+ book create a single implied order in the USDJPY FX futures bid, which is matched when customer submits a single sell order in USDJPY FX futures.
Customer Orders
FX Link Order | Quantity | Price |
---|---|---|
Ask | 50 | -11.1 |
FX Spot+ Order | Quantity | Price |
---|---|---|
Ask 1 | 500,000 | 146.625 |
Ask 2 | 500,000 | 146.626 |
Implied Order
FX Futures | Quantity | Price |
---|---|---|
Implied Bid | 10 | .0068250 |
When an aggressing futures sell order for 6 lots comes in, it matches with the full amount of Ask 1 and part of Ask 2 as follows
Futures aggressor fill: 5 @ .0068250
FX Spot+ Ask 1 Fill Quantity: 426,258 @ 146.625; Gross Trade Amt 426,257.46
Calculated as 5 * 12,500,000 / 146.625; Fill/LastQty is rounded up
This leaves, 500,000 - 426,258 = 73,742 remaining for Ask 1
The engine also tracking Gross Trade Amt: 500,000 - 426,257,46 = 73,742.54
There is still 1 remaining futures lot to fill but not enough remaining onAsk 1 to satisfy, but enough when combining the remaining of Ask 1 and a portion of Ask 2.
Futures aggressor fill: 1 @ .0068250
FX Spot+ Ask 1 Fill Quantity: 73,742 @ 146.625; Gross Trade Amt 73,742.54
FX Spot+ Ask 2 Fill Quantity: 11,510 @ 146.626; Gross Trade Amt 11,508.87
Solved by taking (73,742*146.625)+(x*146.626)=12,500,000 and rounding up.
GrossTradeAmt is solved after CalculatedCcyLastQty, which must equate 12,500,000 JPY to satisfy the whole futures contract amount. See table below.
Notice that 1/(146.625 + -0.111) and 1/(146.626 + -0.111), when rounded down to the nearest futures tick of 0.0000005, both result in an implied order resting on the same price level. Quantity is determined by dividing the product of the FXS+ price and quantity by the futures contract size and rounding down to the nearest whole contract. In this case, the two FXS+ orders round down from ~5.9 to 5 contracts.
FX Spot+ | Fill Qty (tag32) | Fill Price (tag31) | Gross Trade (tag 381) | CalculatedCcy (tag 1056) |
---|---|---|---|---|
Implied Fill 1 | ||||
Ask 1 Fill | 426,258 | 146.625 | 426,257.46 | 62,500,000 |
Implied Fill 2 | ||||
Ask 1 Fill | 73,742 | 146.625 | 73,742.54 (500k - 426,257.46) | 10,812,499.93 (Gross Trade * Fill Price) |
Ask 2 Fill | 11,510 | 146.626 | 11,508.87 (CalculatedCcy / Fill Price → 1,687,500.07 / 146.26, rounded to 2 decimals) | 1,687,500.07
(12,500,000 - prior CalculatedCcy, rounded to 2 decimals) |
Scenario 5 - FX Spot+ Inverted Pair Trades with FX Spot+ Implied and Outright Order
When an FX Spot+ order interacts with a combination of implied and customer orders in the same match event, the engine will match on the rounded LastQty (tag 32), causing the summation of the GrossTradeAmt (tag 381) to be under-filled relative to the order. Clients can use tag 32-LastQty to track fill quantities against orders
Assume the following resting bid side order book in USDJPY FX Spot+:
Order | Quantity | Price |
---|---|---|
Implied Bid | 1,997,541 | 143.927 |
Customer Bid | 2,000,000 | 143.923 |
Since the implied bid is at a better price, it receives priority over the customer order. When customer submits an aggressor sell order for 2,000,000 @ 143.923, it trades with:
Resting implied bid for 1,997,541 @ 143.927, leaving LeavesQty (tag 151) with 2,459 remaining on the order, which is used for the next fill
Remaining with resting customer order for 2,459 @ 143.923
The result is that summing tag 32 results in 2,000,000 filled and summing tag 381, which is what goes to settlement, results in 1,999,999.42. Below is a summary of traded quantity, remaining quantity, and settlement quantity:
| Fill qty (Tag 32) | Fill price(Tag 31) | Remaining qty (Tag 151) | Gross trade (Tag 381) | CcyLastQty (Tag 1056) |
---|---|---|---|---|---|
Fill with resting implied | 1,997,541 | 143.927 | 2,459 | 1,997,540.42 | 287,500,000 |
Fill with customer order | 2,459 | 143.923 | 0 | 2,459 | 353,906.66 |
How was your Client Systems Wiki Experience? Submit Feedback
Copyright © 2024 CME Group Inc. All rights reserved.