CME FX Spot Plus Matching Scenarios

CME FX Spot Plus Matching Scenarios

This topic provides examples of CME FX Spot+ Matching.

Contents

Examples

The following messages are referenced in the FX Spot+ matching examples:

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

FX Link Order

Quantity

Price

Ask

50

-11.1

FX Spot+ Order

Quantity

Price

FX Spot+ Order

Quantity

Price

Ask 1

500,000

146.625

Ask 2

500,000

146.626

Implied Order

FX Futures

Quantity

Price

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)

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

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 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.