Versions Compared

Key

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

...

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)

...

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

...

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.

...

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

 

...

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

...