Imported from previous forum
Hi,
When implementing Market to Limit orders (A market order that converts any unexecutable quantity to be a Limit order at the last traded price), if the full quantity of the order is converted to be a limit order without any excutions due to some reason, I have the following question.
Should the execution report that is sent for that order have an exec type=0 (New) or should it be exec type=D(restated)?
The reason I am asking this is because I heard that the very first execution report sent for an unexecuted order should not have exec type=D. I am wondering how the changes done to the order in the above scenario (changing the order type, stamping a limit price) would be tracked without sending it as exec type=D.
Any help would be much appreciated.
Hi,
When implementing Market to Limit orders (A market order that converts any unexecutable quantity to be a Limit order at the last traded price), if the full quantity of the order is converted to be a limit order without any excutions due to some reason, I have the following question.
Should the execution report that is sent for that order have an exec type=0 (New) or should it be exec type=D(restated)?
The reason I am asking this is because I heard that the very first execution report sent for an unexecuted order should not have exec type=D. I am wondering how the changes done to the order in the above scenario (changing the order type, stamping a limit price) would be tracked without sending it as exec type=D.
Any help would be much appreciated.
Hi,
The usual case is first a “new” (market) then a “restated” (limit). I know that the ECN group is used to combine several execution reports (acknowledgment + trade for example) but I don’t know if they have defined such a case (acknowledgment + restatement). As you have suggested, it may be safer to send 150=D (with an implicit ack) than 150=0 with an order type change…
Regards,
Xavier.
I would agree that in FIX 4.x you cannot “start” a sequence of ERs for an order with a restatement which is unsolicited and should not be the response to an electronically submitted request. The order type implies that the order has to change its type upon entry and not a later point in time (like e.g. a stop order could be triggered later too). Hence it either gets (partially) filled (ExecType=Trade) or does not (ExecType=New). In the first case and pre-FIX 5.0 one would additionally send an ER with ExecType=New to confirm order entry. As of FIX 5 you could omit the first ER (see Volume 7), especially in exchange environments.
You could argue that it is important to explicitly state that an order attribute submitted to the market was changed by the market. This applies to triggers being activated upon entry or reserve orders being replenished due to fills upon entry. One of the latest FIX extensions allows you to optionally convey an audit trail of order events of a SINGLE matching engine transaction without the need to issue multiple messages. The new, optional repeating group is called and the last event should be mapped to the ExecType field outside of the repeating group. This could lead to a situation where ExecType=Restated in the first response to an order entry. However, will then also be present to tell you what happened prior to that within the SAME transaction. Please refer to http://fixprotocol.org/documents/5503/FIX%20Protocol%20Gap%20Analysis%20ISE%20Order%20Handling%20Extensions%20v06.doc (Chapter 2.2) for details.
Regards,
Hanno.
Hi,
When implementing Market to Limit orders (A market order that converts any unexecutable quantity to be a Limit order at the last traded price), if the full quantity of the order is converted to be a limit order without any excutions due to some reason, I have the following question.
Should the execution report that is sent for that order have an exec type=0 (New) or should it be exec type=D(restated)?
The reason I am asking this is because I heard that the very first execution report sent for an unexecuted order should not have exec type=D. I am wondering how the changes done to the order in the above scenario (changing the order type, stamping a limit price) would be tracked without sending it as exec type=D.
Any help would be much appreciated.