Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Contents

Table of Contents
maxLevel3

Customer Registration

New Release

...

Customer registration is required for testing in New Release. Contact your Global Account Manager to obtain registered New Release SMP IDs. New SMP IDs and updates are valid same-day after 4:30 pm CT.

Production

Customer registration is required for Production use. Customers may register their Executing Firm IDs and SMP ID via the Firm Administrator Dashboard (FADB). Customer registration is required to access FADB or contact your Global Account Manager for an offline registration. New SMP IDs and updates are valid same-day after 4:30 pm CT Monday-Thursday and 9:30 am CT Sunday. During these times, CME Globex will eliminate any resting orders with unregistered SMP IDs. Orders submitted with new or modified SMP IDs before activation will be rejected.

More than one account number can be associated with an SMP ID. All accounts using a single SMP ID must have common ownership.

Self-Match Prevention Identifier Attributes

  • Randomly generated and universally unique number generated by CME Group
  • Numeric and will not start with a zero
  • 7 digits with no blank spaces

Partner Exchanges

Self-Match Prevention functionality is applicable on the following Partner Exchange markets hosted on the CME Globex platform:

  • Dubai Gulf Mercantile Exchange (DMEGME)
  • Minneapolis Grain Exchange (MGEX)
  • Bursa Malaysia Derivatives (BMD)

Markets

Self-Match Prevention functionality is applicable on the following markets hosted on the CME Globex platform:

Self-Match Prevention Video Overview

Watch this video for a brief overview of how SMP works.

Self-Match Prevention Functionality

Customers who opt to leverage Self-Match Prevention functionality by registering via the Firm Admin Dashboard will submit tag 7928-SelfMatchPreventionID on each quote and order message to prevent trading against an opposite side order with the same SMP ID.

...

The unsolicited cancel due to Self-Match Prevention is included in the CME Globex Messaging Efficiency Program with a pre-defined weighting factor = 3.

Self-Match Prevention Messaging

SMP prevents the matching of orders for accounts with common ownership if both the buy and sell orders contain the same Self-Match Prevention Identifier (SMP ID).

...

  • The order will be rejected with a Session Level Reject (tag 35=Msg-Type=3) message.
  • The quote will be rejected with a Business Level Reject (tag 35=Msg-Type=j) message.

Sample Messages

Expand
titleExpand for sample messages

New Order - SMP ID Value Exceeds Max Length

8=FIX.4.2|9=250|35=D|11=NMQ339|21=1|34=339|38=25|40=2|1=CSETTEST|44=1587.0000000|49=NMQ004N|50=CSET|52=20171103-17:01:47.453|54=1|55=DC|56=CME|57=G|59=0|1091=N|60=20171103-17:01:47.453|107=DCZ7|142=US,IL|1028=N|204=0|9702=4|9717=NMQ339|7928=927822777777777777777777|10=076|

New Order Reject

8=FIX.4.2|9=210|35=3|34=2648|369=339|52=20171103-17:01:47.482|49=CME|50=G|56=NMQ004N|57=CSET|143=US,IL|45=339|58=Business Reject: Fix Field Length Exceeds Max Length '7928 (SELF_MATCH_PREVENTION_ID) length: 24 max: 12'|1028=N|10=018|

Mass Quote - SMP ID Value Exceeds Max Length

8=FIX.4.2|9=267|35=i|34=343|49=NMQ004N|50=CSET|52=20171103-17:03:47.483|56=CME|57=G|1091=N|117=1234|142=US,IL|1028=N|204=0|9702=1|9706=C|9771=CSETACCT|9773=N|296=1|302=QS1|307=CLZ7|304=1|295=1|299=TEST4|55=XE|107=LOZ7 C20500|132=1|134=50|133=2|135=50|167=OPT|7928=839677999999999999|10=030|

Mass Quote Reject

8=FIX.4.2|9=231|35=j|34=2652|369=343|52=20171103-17:03:47.520|49=CME|50=G|56=NMQ004N|57=CSET|143=US,IL|45=343|58=Business Reject: Fix Field Length Exceeds Max Length '7928 (SELF_MATCH_PREVENTION_ID) length: 18 max: 12'|372=i|379=1234|380=5|1028=N|10=055|

New Order - SMP ID has a special character to show it is an invalid value

8=FIX.4.2|9=242|35=D|11=9Q3842|21=1|34=842|38=5|40=2|1=CSETTEST|44=9815.5000000|49=9Q3099N|50=CSET|52=20171031-19:21:12.429|54=2|55=SR1|56=CME|57=G|59=0|1091=N|60=20171031-19:21:12.430|107=SR1U3|142=US,IL|167=FUT|1028=N|204=0|9702=4|9717=9Q3842|7928=839&6779*|10=029|

New Order Reject

8=FIX.4.2|9=412|35=8|34=958|369=842|52=20171031-19:21:12.455|49=CME|50=G|56=9Q3099N|57=CSET|143=US,IL|1=CSETTEST|6=0|11=9Q3842|14=0|17=82347:825808|20=0|37=82627764551|38=5|39=8|40=2|41=0|44=9815.5|48=804055|54=2|55=SR1|58=Self Match Prevention ID is not associated with the given Firm ID|59=0|60=20171031-19:21:12.454|103=7614|107=SR1U3|150=8|151=0|167=FUT|432=20171031|1028=N|5979=1509477672454255548|7928=839&6779*|9717=9Q3842|10=211|

New Quote - SMP ID has a space at the being to show it is an invalid value

8=FIX.4.2|9=257|35=i|34=879|49=9Q3000N|50=CSET|52=20171031-19:39:56.648|56=CME|57=G|1091=N|117=1234|142=US,IL|1028=N|204=0|9702=1|9706=C|9771=CSETACCT|9773=N|296=1|302=QS1|307=CLZ7|304=1|295=1|299=TEST4|55=XE|107=LOZ7 C20500|132=1|134=50|133=2|135=50|167=OPT|7928= 8396779|10=179|

Quote Rejected

8=FIX.4.2|9=232|35=b|34=995|369=879|52=20171031-19:39:56.669|49=CME|50=G|56=9Q3000N|57=CSET|143=US,IL|117=1234|297=0|1028=N|7928= 8396779|9771=CSETACCT|9772=0|296=1|302=QS1|304=1|295=1|299=TEST4|55=LO|107=LOZ7 C20500|167=OPT|48=165239|22=4|368=102|10=221|

Self-Match Prevention at Execution

When CME Globex detects a buy and a sell order with the same SMP ID (tag 7928-SelfMatchPreventionID), it will automatically cancel the order if they are on the same executable price level can occur subject to the following conditions:

  • For the FIFO matching algorithm (tag 1142-MatchAlgorithm= F), SMP functionality is triggered when qualifying opposite side orders will match at a given price level.
  • For all other matching algorithms, SMP functionality is triggered when qualifying opposite side orders may potentially match due to presence at a given price level.
  • For Mass Quotes, if an SMP scenario is detected, all resting quotes in that group code under that SenderCompID are cancelled.

Self-Match Prevention Instruction

Self-Match Prevention instruction allows customers to indicate whether to cancel the resting or incoming (aggressing) order in the event of a self-match. To use SMP Instruction functionality, customers must submit tag 7928-SelfMatchPreventionID and tag 8000-SelfMatchPreventionInstruction on each order.

...

A modification to the value of tag 8000-SelfMatchPreventionInstruction does not cause the order to lose priority in the book. However, if tag 8000-SelfMatchPreventionInstruction is not present on the Cancel-Replace Request (35=G) message, CME Globex will remove the SMP Instruction from the resting order.

Self-Match Prevention ID and Self-Match Prevention Instruction

The following table illustrates how Self-Match Prevention functions based on the values for tag 7928-SelfMatchPreventionID and tag 8000-SelfMatchPreventionInstruction submitted in the originating message:

Originating Message

Execution Report

SMP ID tag 7928 is present

SMP Instruction tag 8000 valuetag 7928 is returnedtag 8000 valueResult

Yes

N (New)

Yes

N (New)

Self-Match prevented

Aggressing order cancelled

Yes

O (Old)

Yes

O (Old)

Self-Match prevented

Resting order cancelled

Yes

Not sent

Yes

Not returned

Self-Match prevented

Resting order cancelled

Yes

Invalid value

N/A

N/A

Session Level Reject sent for orders and cancel/replace

Business Level Reject sent for Mass Quotes

Yes – unregistered or not registered to Executing Firm ID

Not sent

N/A

N/A

Session Level Reject sent for orders and cancel/replace

Business Level Reject sent for Mass Quotes

No

N

No

Not returned

Self-Match occurs

No

O

No

Not returned

Self-Match occurs

No

Not sent

No

Not returned

Self-Match occurs

No

Invalid value

N/A

N/A

Session Level Reject sent for orders and cancel/replace

Business Level Reject sent for Mass Quotes

Values for Cancel Type Indicator

In the Execution Report - Order Cancel (tag 35-MsgType=8, tag 39-OrdStatus=4) message, tag 378-ExecRestatementReason indicates whether the resting or aggressing order was cancelled due to Self-Match Prevention.

Tag

NameReqFormatValuesDescription
378ExecRestatementReasonNInt (3)

103=Cancel Oldest (Resting) due to Self-Match Prevention

107=Cancel Newest (Aggressing) due to Self-Match Prevention

Identifies origin of the order cancel.

In the Quote the Quote Cancel Acknowledgment Acknowledgment (tag 35-MsgType=b)  messagemessage,  tag tag 9775-UnsolicitedCancelType=H indicates H indicates that quotes were cancelled due to Self-Match Prevention.

Panel
bgColor#FFFFE0

Note Regarding Stop Orders

If a triggered Stop order causes a Self-Match Event, the default behavior of cancel resting order applies, unless tag 8000=N, in which case the aggressor is canceled.

Order 1: Buy SR1U310-lot @ 13

SMP Instruction - Cancel Resting SMP ID – 1234567 & FirmID - 400

Order 2: Triggered Stop acting as aggressing order Sell SR1U3

20-lot @ 13 

SMP Instruction - Cancel Aggressing SMP ID – 1234567 & FirmID - 400

Results:

Order 1—the resting buy order, remains on the order book. 

Order 2—the aggressing sell order, is cancelled.

The aggressing order is cancelled regardless of quantity.

Scenarios

FIFO Market with SMP functionality configured across multiple CME Globex Firm IDs

This scenario illustrates a Self-Match event in a FIFO market.

...

Aggressing Buy Order
Remaining Quantity
Resting Sell OrdersAction

OrderSMP ID & Firm ID
100010 lot @ 13012345678 & 100Executed 10 lot @1301
99020 lot @ 13013456789 & 200Executed 20 lot @1301
97030 lot @ 13014567890 & 300Executed 30 lot @1301
940500 lot @ 13015678901 & 500Executed 500 lot @1301
44010 lot @ 1302

8765432 & 800

Executed 10 lot @1301

430

20 lot @ 1302

1234567 & 400 (Cancel Aggressing instruction)

The aggressing order’s instructions take priority and the resting 20 lot order is cancelled.

43030 lot @ 13027890123 & 700Executed 30 lot @ 1302
400


The aggressing buy order's remaining 400 lot @ 1302 rests on the order book.

FIFO Market without Self-Match Event

This scenario illustrates a FIFO market without a Self-Match event. A 1000-lot buy order (SMP ID:1234567 and FirmID:400) is entered at 1302, with a 'Cancel Resting' instruction.

Aggressing Buy Order

Remaining Quantity
Resting Sell OrdersAction

OrderSMP ID & Firm ID

1000

10-lot @ 1301

2345678 & 100

Executed 10-lot @1301

990

20-lot @ 1301

3456789 & 200

Executed 20-lot @1301

970

30-lot @ 1301

4567890 & 300

Executed 30-lot @1301

940

500-lot @ 1301

5678901 & 500

Executed 500-lot @1301

440

450-lot @ 1302

6789012 & 600

Executed 440-lot @1302
Aggressing buy order is fully filled. 

 

20-lot @ 1302

1234567 & 400 (Cancel Resting instruction)

 

 

30-lot @ 1302

7890123 & 700


FIFO Market with Cancel Resting

This scenario illustrates a Self-Match event in a FIFO market. A 1000-lot buy order (SMP ID:1234567 and FirmID:400) is entered at 1302, with a Cancel Resting instruction.

Aggressing Buy Order

Remaining Quantity
Resting Sell OrdersAction

OrderSMP ID & Firm ID

1000

10-lot @ 1301

2345678 & 100

Executed 10-lot @1301

990

20-lot @ 1301

3456789 & 200

Executed 20-lot @1301

970

30-lot @ 1301

4567890 & 300

Executed 30-lot @1301

940

500-lot @ 1301

5678901 & 500

Executed 500-lot @1301

440

10-lot @ 1302

6789012 & 600

Executed 10-lot @ 1302

430

20-lot @ 1302

1234567 & 400 (Cancel Aggressing instruction)

The aggressing order's instructions take priority and the resting 20-lot order is cancelled.

430

30-lot @ 1302

7890123 & 700

Executed 30-lot @ 1302

400



The aggressing buy order's remaining 400-lot @ 1302 rests on the order book.

Pro-Rata Market with Cancel Aggressing

This scenario illustrates a Self-Match event in a pro-rata market. A 1000-lot buy order (SMP ID:1234567 and FirmID:400) is entered at 1302, with a 'Cancel Aggressing' instruction.

Aggressing Buy Order

Remaining Quantity
Resting Sell OrdersAction

OrderSMP ID & Firm ID

1000

500-lot @ 1301

2345678 & 100

A potential self-match at price level 1302 is recognized and the Self-Match event is triggered even though the aggressing order would not have reached the resting self-match order.

The aggressing order's instructions take priority and the entire aggressing order is cancelled.

0

300-lot @ 1301

3456789 & 200


0

200-lot @ 1301

4567890 & 300


0

500-lot @ 1301

5678901 & 500



20-lot @ 1302

1234567 & 400, Cancel Resting instruction

Resting order at same price with same SMP ID triggers the cancel of the aggressing order per the aggressing Instruction

 

30-lot @ 1302

7890123 & 700

 

Pro-Rata Market with Cancel Resting

This scenario illustrates a Self-Match event in a pro-rata market. A 1000-lot buy order (SMP ID:1234567 and FirmID:400) is entered at 1302, with a 'Cancel Resting' instruction.

Aggressing Buy Order

Remaining Quantity
Resting Sell OrdersAction

OrderSMP ID & Firm ID

1000

500-lot @ 1301

2345678 & 100

A potential self-match at price level 1302 is recognized and the Self-Match event is triggered even though the aggressing order would not have reached the resting self-match order.

The aggressing order's instructions take priority and the resting order is cancelled even though it would not have matched.

The aggressing order is then matched according to standard priority rules.

Matched 500 @ 1301

500

300-lot @ 1301

3456789 & 200

Matched 300 @ 1301

200

200-lot @ 1301

4567890 & 300

Matched 200 @ 1301

0

500-lot @ 1301

5678901 & 500


0

20-lot @ 1301

1234567 & 400, Cancel Resting instruction

Resting order at same price with same SMP ID triggers the cancel of the resting order per the aggressing Instruction

...