Imported from previous forum
Hello,
Is it allowed in FIX to change the OrderID on an OrderCacel/Repalce Request?
In the documentation is says.
The OrderID field is populated with the sell-side brokergenerated
order number (or fund manager-generated order number for CIVs). Unlike ClOrdID/OrigClOrdID
which requires a chaining through Cancel/Replaces and Cancels, OrderID and SecondaryOrderID are not
required to change through changes to an order.
But on the Execution Report where fields are described.
37 OrderID Y OrderID is required to be unique for each chain of orders.
Then again on the Order Cancel Request/replace Request text:
Note that while it is necessary for the ClOrdID to change and be unique, the broker’s OrderID field does not
necessarily have to change as a result of the Cancel/Replace request.
So what dose “OrderId Field does not necessairly have to change” actully mean when the Execution Report must have an unique OrderID in the Chain of orders.
Since most exchanges uses the same OrderId during a day. While I have seen examples where each Execution report has an Unique OrderId. Aka both fill, Modifies cancels has new Orderids.
The short answer is “yes”. The term “unique” does not mean “identical”, i.e. you can have a single OrderID or multiple OrderIDs within a single chain. As soon as you have a second chain, i.e. a different order, you cannot re-use the OrderIDs(s) used for the first chain. If you will, the rules are somewhat relaxed for OrderID compared to ClOrdID.
Some legacy systems still link order identification and order prioritization together, i.e. OrderID must change due to a cancel/replace if the order is to fall back in priority (higher order number = worse priority). A change in a text field would keep OrderID stable (no affect on priority) whereas a change in price would create a new OrderID. Newer systems decouple the two elements, enabling OrderID to become a true entity identifier that does not change during the lifetime of the order.
FIX already requires ClOrdID to change for every cancel/replace, making it serve as message and entity identifier at the same time. I would not recommend to have OrderID do the same.
Hello,
Is it allowed in FIX to change the OrderID on an
OrderCacel/Repalce Request?In the documentation is says.
The OrderID field is populated with the sell-side brokergenerated order
number (or fund manager-generated order number for CIVs). Unlike
ClOrdID/OrigClOrdID which requires a chaining through Cancel/Replaces
and Cancels, OrderID and SecondaryOrderID are not required to change
through changes to an order.But on the Execution Report where fields are described. 37 OrderID Y
OrderID is required to be unique for each chain of orders.Then again on the Order Cancel Request/replace Request text: Note that
while it is necessary for the ClOrdID to change and be unique, the
broker’s OrderID field does not necessarily have to change as a result
of the Cancel/Replace request.
So what dose “OrderId Field does not necessairly have to change” actully
mean when the Execution Report must have an unique OrderID in the Chain
of orders.Since most exchanges uses the same OrderId during a day. While I have
seen examples where each Execution report has an Unique OrderId. Aka
both fill, Modifies cancels has new Orderids.
Ok,
Thank you.
The short answer is “yes”. The term “unique” does not mean “identical”,
i.e. you can have a single OrderID or multiple OrderIDs within a single
chain. As soon as you have a second chain, i.e. a different order, you
cannot re-use the OrderIDs(s) used for the first chain. If you will, the
rules are somewhat relaxed for OrderID compared to ClOrdID.Some legacy systems still link order identification and order
prioritization together, i.e. OrderID must change due to a
cancel/replace if the order is to fall back in priority (higher order
number = worse priority). A change in a text field would keep OrderID
stable (no affect on priority) whereas a change in price would create a
new OrderID. Newer systems decouple the two elements, enabling OrderID
to become a true entity identifier that does not change during the
lifetime of the order.FIX already requires ClOrdID to change for every cancel/replace, making
it serve as message and entity identifier at the same time. I would not
recommend to have OrderID do the same.Hello,
Is it allowed in FIX to change the OrderID on an OrderCacel/Repalce
Request?In the documentation is says.
The OrderID field is populated with the sell-side brokergenerated
order number (or fund manager-generated order number for CIVs). Unlike
ClOrdID/OrigClOrdID which requires a chaining through Cancel/Replaces
and Cancels, OrderID and SecondaryOrderID are not required to change
through changes to an order.But on the Execution Report where fields are described. 37 OrderID Y
OrderID is required to be unique for each chain of orders.Then again on the Order Cancel Request/replace Request text: Note that
while it is necessary for the ClOrdID to change and be unique, the
broker’s OrderID field does not necessarily have to change as a result
of the Cancel/Replace request.
So what dose “OrderId Field does not necessairly have to change”
actully mean when the Execution Report must have an unique OrderID in
the Chain of orders.Since most exchanges uses the same OrderId during a day. While I have
seen examples where each Execution report has an Unique OrderId. Aka
both fill, Modifies cancels has new Orderids.
Hi,
Normally only ClOrdId got changed on cancel or mod request and OrderID (Tag 37) remains same , which is sensible and as per because they are essentially represent the same order chain in broker’s system and this ID is the identification on broker side ,neither on client side nor on exchange side.
Thanks
Manish
Hello,
Is it allowed in FIX to change the OrderID on an
OrderCacel/Repalce Request?In the documentation is says.
The OrderID field is populated with the sell-side brokergenerated order
number (or fund manager-generated order number for CIVs). Unlike
ClOrdID/OrigClOrdID which requires a chaining through Cancel/Replaces
and Cancels, OrderID and SecondaryOrderID are not required to change
through changes to an order.But on the Execution Report where fields are described. 37 OrderID Y
OrderID is required to be unique for each chain of orders.Then again on the Order Cancel Request/replace Request text: Note that
while it is necessary for the ClOrdID to change and be unique, the
broker’s OrderID field does not necessarily have to change as a result
of the Cancel/Replace request.
So what dose “OrderId Field does not necessairly have to change” actully
mean when the Execution Report must have an unique OrderID in the Chain
of orders.Since most exchanges uses the same OrderId during a day. While I have
seen examples where each Execution report has an Unique OrderId. Aka
both fill, Modifies cancels has new Orderids.