Client Order ID of Order In Cancel Pending

Imported from previous forum

I have a situation where a broker is sending me trades using the Client Order ID in my Order Cancel Request Message.

Send: New Order Single - Client Order Id X
Recv: Execution Message (order acknowledged) - Client Order Id X
Send: Order Cancel Request - Client Order Id Y referencing X
Recv: Execution Message (cancel pending) - Client Order Id Y
Recv: Execution Message (trade) - Client Order Id Y

This is causing havoc with my systems since there is no order message with client order id Y so my system is rejecting the trade. The broker is saying that it’s valid to send a trade with the client order id of the cancel message. I say it is not valid. Who is correct?

[ original email was from Marcello Cultrera - marcello.cultrera@reuters.com ]
> I have a situation where a broker is sending me trades using the Client

Order ID in my Order Cancel Request Message.

Send: New Order Single - Client Order Id X Recv: Execution Message
(order acknowledged) - Client Order Id X Send: Order Cancel Request -
Client Order Id Y referencing X Recv: Execution Message (cancel pending)

  • Client Order Id Y Recv: Execution Message (trade) - Client Order Id Y

This is causing havoc with my systems since there is no order message
with client order id Y so my system is rejecting the trade. The broker
is saying that it’s valid to send a trade with the client order id of
the cancel message. I say it is not valid. Who is correct?

HI Xavier as described in the Appendix D (Order State Change Matrix) of the FIX 4.0 specifics; for a New Order Single with ClOrdID = X and an Order Cancel Request with ClOrdID = Y, the state of the original order becomes Pending Cancel/Replace(6) and the state of the cancel becomes New(0). The broker is correct stating that the CIorderID mapped in tag 11 in the 35=F message (cancel request from your side) should be the reference in all the following sell fixout side replies (Y); Pending Cancel/Replace (35=8 39=6), cancelled (35=8 39=4), replaced (35=8 39=5), (35=8 39=1) and/or (35=8 39=2). Please let me know if you need more details.

regards,

Marcello Cultrera

Reuters FIX Equity Transactions Desk

[ original email was from Niall McCallion - nmccallion@espeed.co.uk ]
> > I have a situation where a broker is sending me trades using the

Client Order ID in my Order Cancel Request Message.

Send: New Order Single - Client Order Id X Recv: Execution Message
(order acknowledged) - Client Order Id X Send: Order Cancel Request -
Client Order Id Y referencing X Recv: Execution Message (cancel
pending)

  • Client Order Id Y Recv: Execution Message (trade) - Client
    Order Id Y

This is causing havoc with my systems since there is no order message
with client order id Y so my system is rejecting the trade. The broker
is saying that it’s valid to send a trade with the client order id of
the cancel message. I say it is not valid. Who is correct?

HI Xavier as described in the Appendix D (Order State Change Matrix) of
the FIX 4.0 specifics; for a New Order Single with ClOrdID = X and an
Order Cancel Request with ClOrdID = Y, the state of the original order
becomes Pending Cancel/Replace(6) and the state of the cancel becomes
New(0). The broker is correct stating that the CIorderID mapped in tag
11 in the 35=F message (cancel request from your side) should be the
reference in all the following sell fixout side replies (Y); Pending
Cancel/Replace (35=8 39=6), cancelled (35=8 39=4), replaced (35=8
39=5), (35=8 39=1) and/or (35=8 39=2). Please let me know if you need
more details.

regards,

Marcello Cultrera

Reuters FIX Equity Transactions Desk

I agree with you Xavier. The Order Id stays X on execution reports until the cancel is accepted. Otherwise, if the cancel is rejected, you have lost the original orderId X and are using the new order id Y but with the old order state. Doesn’t make sense.

This is not explicit in the 4.0 State Change matrices, although I believe the column headings hint at it, but does logically follow and is made clear in the 4.2 State Change matrices D10 and D9.

There’s a short discussion (I was involved in) that addressed the same issue here http://fixprotocol.org/discuss/read/435fa3e3

regards

Niall

Cantor Fitzgerald Equities Technology