Reopen Done for the day order

Imported from previous forum

Whether Sell side firm can reopen “Done for the day” order. If yes, what message should be used to communicate Buy Side. For ex : Sell side has sent “Done for the day” in any order. Now they want to restate the same to work on. What should be message to Buy Side for restate “Done for the day” order in FIX 4.2.

In the same way, whether Buy Side can reopen any “Done for the day” Order. What should be the message to Sell side.

Well, why would you send a Done for day if you may not be done with the order? In general ExecType=Restatement is to convey unsolicited changes of an order other than an execution or cancellation. ExecRestatementReason can describe the reopening and OrdStatus should be determined by CumQty (zero = New, >zero but <OrderQty = Partially Filled, =OrderQty = Filled). I do not understand why the buyside needs to reopen. There you need a bilateral agreement that you can send OrderCancelReplace also after having received Done for day. Whether that only means that the sell side takes in modifications or if that means more is up to your agreement. Done for day from the sell side usually means that there will be no more executions and the buy side can kick off their end of day processing. What good is the message if you cannot rely on it?
Maybe you can describe the business requirements that you are trying to fulfill (in both directions).

Whether Sell side firm can reopen “Done for the day” order. If yes, what message should be used to communicate Buy Side. For ex : Sell side has sent “Done for the day” in any order. Now they want to restate the same to work on. What should be message to Buy Side for restate “Done for the day” order in FIX 4.2.

In the same way, whether Buy Side can reopen any “Done for the day” Order. What should be the message to Sell side.

[ original email was from Greg Wood - greg.wood@credit-suisse.com ]
Hi Hanno,

A couple of points from a sell-side perspective.

It is common that orders submitted via execution algos get closed without being completed, perhaps because they have an end time on them that kicks in before the order could be completed due to lack of liquidity, etc. The client then asks for the order to be extended so that it can complete. We would usually handle this by manually amending the order within the execution algos, and subsequent fills would flow back after the original closure of the order. However this breaks the FIX protocol since previously the order was marked as closed (through a done-for-day, a cancel, etc). The same principle could be applied to a care (manually worked) order that is incorrectly closed but needs to be reopened.

From a FIX perspective I would think that the reply should be a restatement with 378=4 (broker option), but that needs to be interpreted as “cancel the done-for-day and reopen the order” by the client system, which isn’t part of the order state change matrix in 4.2.

It would also be nice to have this request to reopen the order sent electronically as opposed to verbally, which is a natural evolution of the FIX protocol as pertains to execution algos rather than DMA. Would this be an extension of the OrderCancelReplaceRequest message?

Another common scenario is the reopening of a completely filled order by amending the order size up. This is often seen for orders routed directly from an OMS rather than an EMS. Most sell-sides have to handle this scenario by treating the delta in quantity as a new child order for an execution algo. Of course that approach is not usable for reopening a previously closed order if the quantity does not change.

Regards,

  • Greg

Well, why would you send a Done for day if you may not be done with the order? In general ExecType=Restatement is to convey unsolicited changes of an order other than an execution or cancellation. ExecRestatementReason can describe the reopening and OrdStatus should be determined by CumQty (zero = New, >zero but <OrderQty = Partially Filled, =OrderQty = Filled). I do not understand why the buyside needs to reopen. There you need a bilateral agreement that you can send OrderCancelReplace also after having received Done for day. Whether that only means that the sell side takes in modifications or if that means more is up to your agreement. Done for day from the sell side usually means that there will be no more executions and the buy side can kick off their end of day processing. What good is the message if you cannot rely on it?
Maybe you can describe the business requirements that you are trying to fulfill (in both directions).

Whether Sell side firm can reopen “Done for the day” order. If yes, what message should be used to communicate Buy Side. For ex : Sell side has sent “Done for the day” in any order. Now they want to restate the same to work on. What should be message to Buy Side for restate “Done for the day” order in FIX 4.2.

In the same way, whether Buy Side can reopen any “Done for the day” Order. What should be the message to Sell side.

Hi Greg,

I fully agree with you.

Appreciate your response and i will try to use the same .

Hanno,it is more a business requirement to have flexible to reopen “Day for the Done” order. First place, they shoud not
perform “Day for the Done” order if they have to work. But that are scenarios (some have been covered by Greg) where Business is interested to reopen that same and we need to find out the way either electronically (through FIX message) or manual.

Appreciate your suggested approach, i will try how best,i can use it.

Thanks and Regards,
Vikash Parakh

Hi Hanno,

A couple of points from a sell-side perspective.

It is common that orders submitted via execution algos get closed without being completed, perhaps because they have an end time on them that kicks in before the order could be completed due to lack of liquidity, etc. The client then asks for the order to be extended so that it can complete. We would usually handle this by manually amending the order within the execution algos, and subsequent fills would flow back after the original closure of the order. However this breaks the FIX protocol since previously the order was marked as closed (through a done-for-day, a cancel, etc). The same principle could be applied to a care (manually worked) order that is incorrectly closed but needs to be reopened.

From a FIX perspective I would think that the reply should be a restatement with 378=4 (broker option), but that needs to be interpreted as “cancel the done-for-day and reopen the order” by the client system, which isn’t part of the order state change matrix in 4.2.

It would also be nice to have this request to reopen the order sent electronically as opposed to verbally, which is a natural evolution of the FIX protocol as pertains to execution algos rather than DMA. Would this be an extension of the OrderCancelReplaceRequest message?

Another common scenario is the reopening of a completely filled order by amending the order size up. This is often seen for orders routed directly from an OMS rather than an EMS. Most sell-sides have to handle this scenario by treating the delta in quantity as a new child order for an execution algo. Of course that approach is not usable for reopening a previously closed order if the quantity does not change.

Regards,

  • Greg

Well, why would you send a Done for day if you may not be done with the order? In general ExecType=Restatement is to convey unsolicited changes of an order other than an execution or cancellation. ExecRestatementReason can describe the reopening and OrdStatus should be determined by CumQty (zero = New, >zero but <OrderQty = Partially Filled, =OrderQty = Filled). I do not understand why the buyside needs to reopen. There you need a bilateral agreement that you can send OrderCancelReplace also after having received Done for day. Whether that only means that the sell side takes in modifications or if that means more is up to your agreement. Done for day from the sell side usually means that there will be no more executions and the buy side can kick off their end of day processing. What good is the message if you cannot rely on it?
Maybe you can describe the business requirements that you are trying to fulfill (in both directions).

Whether Sell side firm can reopen “Done for the day” order. If yes, what message should be used to communicate Buy Side. For ex : Sell side has sent “Done for the day” in any order. Now they want to restate the same to work on. What should be message to Buy Side for restate “Done for the day” order in FIX 4.2.

In the same way, whether Buy Side can reopen any “Done for the day” Order. What should be the message to Sell side.

Hi Greg,

thanks for the background information and I see your point. FIX does not foresee the order submitter to set the status, this is th esole responsibility of the recipient of the order. Similar to CumQty and LeavesQty which cannot be changed by the order submitter.
However, the recipient can decide whether to accept or refuse an OrderCancelReplaceRequest for an order based on that order’s current status. Exchanges would refuse a modification for a filled order but as you describe below this needs to be supported elsewhere (and is actually covered as scenario C.1.c in Vol 4 of the FIX spec). The same applies in my view to other OrdStatus values such as Done for Day or Cancelled. In general I would avoid reviving orders that have reached a terminal state (filled, cancelled, expired).
If it is really needed, I would suggest to simply send in an OrderCancelReplaceRequest without actually making changes or maybe just a change to the text field to convey a reason for reopening the order. The recipient can interpret a modification against a Done for Day order as “please reopen my order”. An explicit request would need to use a field such as ExecInst but I believe there is no good value to use for that action.
Regards,
Hanno.

Hi Hanno,

A couple of points from a sell-side perspective.

It is common that orders submitted via execution algos get closed without being completed, perhaps because they have an end time on them that kicks in before the order could be completed due to lack of liquidity, etc. The client then asks for the order to be extended so that it can complete. We would usually handle this by manually amending the order within the execution algos, and subsequent fills would flow back after the original closure of the order. However this breaks the FIX protocol since previously the order was marked as closed (through a done-for-day, a cancel, etc). The same principle could be applied to a care (manually worked) order that is incorrectly closed but needs to be reopened.

From a FIX perspective I would think that the reply should be a restatement with 378=4 (broker option), but that needs to be interpreted as “cancel the done-for-day and reopen the order” by the client system, which isn’t part of the order state change matrix in 4.2.

It would also be nice to have this request to reopen the order sent electronically as opposed to verbally, which is a natural evolution of the FIX protocol as pertains to execution algos rather than DMA. Would this be an extension of the OrderCancelReplaceRequest message?

Another common scenario is the reopening of a completely filled order by amending the order size up. This is often seen for orders routed directly from an OMS rather than an EMS. Most sell-sides have to handle this scenario by treating the delta in quantity as a new child order for an execution algo. Of course that approach is not usable for reopening a previously closed order if the quantity does not change.

Regards,

  • Greg

Going back to the original question, I think it should also be brought to mind that ‘Done for the Day’ messages mean precisely that, for multi-day orders. In this context, it is envisaged that Execution Report Restatement messages are sent ‘the next day’, before any further updates are sent on the order.

I would have thought that it would not be hard to allow for such messages to re-open the order, providing the last previous message on the order was a Done for Day, and there are no other changes in the order characteristics being communicated in the message.

Most buy-sides I have worked with or opposite have not required a Restatement message to re-open their orders, but there are a few that do.

Having said that, for many buy-sides it would cause more issues to ‘re-open’ a closed / warehoused order their side. Under those circumstances, opening a new ticket may be best.

Traders can have the capability to send a manual restatement message on an order, should it be required. This gives them additional flexibility to respond to client’s requests.

Hi Greg,

thanks for the background information and I see your point. FIX does not foresee the order submitter to set the status, this is th esole responsibility of the recipient of the order. Similar to CumQty and LeavesQty which cannot be changed by the order submitter.
However, the recipient can decide whether to accept or refuse an OrderCancelReplaceRequest for an order based on that order’s current status. Exchanges would refuse a modification for a filled order but as you describe below this needs to be supported elsewhere (and is actually covered as scenario C.1.c in Vol 4 of the FIX spec). The same applies in my view to other OrdStatus values such as Done for Day or Cancelled. In general I would avoid reviving orders that have reached a terminal state (filled, cancelled, expired).
If it is really needed, I would suggest to simply send in an OrderCancelReplaceRequest without actually making changes or maybe just a change to the text field to convey a reason for reopening the order. The recipient can interpret a modification against a Done for Day order as “please reopen my order”. An explicit request would need to use a field such as ExecInst but I believe there is no good value to use for that action.
Regards,
Hanno.

Hi Hanno,

A couple of points from a sell-side perspective.

It is common that orders submitted via execution algos get closed without being completed, perhaps because they have an end time on them that kicks in before the order could be completed due to lack of liquidity, etc. The client then asks for the order to be extended so that it can complete. We would usually handle this by manually amending the order within the execution algos, and subsequent fills would flow back after the original closure of the order. However this breaks the FIX protocol since previously the order was marked as closed (through a done-for-day, a cancel, etc). The same principle could be applied to a care (manually worked) order that is incorrectly closed but needs to be reopened.

From a FIX perspective I would think that the reply should be a restatement with 378=4 (broker option), but that needs to be interpreted as “cancel the done-for-day and reopen the order” by the client system, which isn’t part of the order state change matrix in 4.2.

It would also be nice to have this request to reopen the order sent electronically as opposed to verbally, which is a natural evolution of the FIX protocol as pertains to execution algos rather than DMA. Would this be an extension of the OrderCancelReplaceRequest message?

Another common scenario is the reopening of a completely filled order by amending the order size up. This is often seen for orders routed directly from an OMS rather than an EMS. Most sell-sides have to handle this scenario by treating the delta in quantity as a new child order for an execution algo. Of course that approach is not usable for reopening a previously closed order if the quantity does not change.

Regards,

  • Greg