Imported from previous forum
Two questions.
Question 1:
Can an execution report w/ "done for day" status also contain new/additional "fill" or partial info ??
My perception (and I think the majority view) is that "done for day" does not communicate any new "fill" related info, that is any new share changes like exec quantity and leaves quantity, etc.
To communicate share changes info (like exec quantity and leaves quantity) fill, partials, busts, corrections are used.
Question 2:
What is the proper state transition if/when a done for day message (exec report) gets sent back to client?
Would it be proper protocol use for a fill message (exec report) be sent back after a done for day message (exec report) gets sent back?
Or should some other message carry this info (after done for day is sent) such as a correction message (exec report).
Please advise.
Thanks
– Paul S.
[ original email was from John Armstrong - johna@ms.com ]
Please refer to the FIX 4.0 Orderflow clarfication
statement. It states that events should not be
"combined" into one message, i.e. a DoneForDay event and partial fill event. They should be
communicated in two messages. The same would
apply when communicating a partial fill event
and a cancelled(or replaced) event.
As for question 2, there are times at which
the broker can get a busted execution after
the close and thus after he believes he is done
on an order.
My feeling has been that it is a business issue
of who is going to take the bust - the customer
or the broker. The protocol should
allow for this sequence but the customer’s trading
system should alert their trader that this
has happened.
> Two questions.
>
> Question 1:
>
> Can an execution report w/ "done for day" status also contain new/additional "fill" or partial info ??
>
> My perception (and I think the majority view) is that "done for day" does not communicate any new "fill" related info, that is any new share changes like exec quantity and leaves quantity, etc.
>
> To communicate share changes info (like exec quantity and leaves quantity) fill, partials, busts, corrections are used.
>
> Question 2:
>
> What is the proper state transition if/when a done for day message (exec report) gets sent back to client?
>
> Would it be proper protocol use for a fill message (exec report) be sent back after a done for day message (exec report) gets sent back?
>
> Or should some other message carry this info (after done for day is sent) such as a correction message (exec report).
>
> Please advise.
>
>
> Thanks
> – Paul S.
>
>
>
[ original email was from Ryan Pierce - rpierce@taltrade.com ]
I don’t know if the question refers to FIX 4.0 or 4.1 so I’ll give some specifics for both.
> As for question 2, there are times at which
> the broker can get a busted execution after
> the close and thus after he believes he is done
> on an order.
>
> My feeling has been that it is a business issue
> of who is going to take the bust - the customer
> or the broker. The protocol should
> allow for this sequence but the customer’s trading
> system should alert their trader that this
> has happened.
I agree that should a trade happen after a broker sends the client a Done for Day message, there’s a business issue regarding who should take the trade. Assuming the broker is reporting it to the buy side, according to the FIX 4.0 clarification document, my feeling is that one would express a trade after a done for day message as follows:
If it is a partial fill, I would suggest sending an Execution Report with LastShares and LastPx indicating the trade, with OrdStatus = Done for Day. This indicates that the order’s status is still Done for Day, but a trade happened. The buy side should check LastShares and LastPx for the trade.
If it is a fill, that in my mind eliminates the Done for Day state, so I would suggest sending an Execution Report with OrdStatus = Filled.
In FIX 4.1, a separate ExecType field makes this easier. For a partial fill, send ExecType = Partial Fill and OrdStatus = Done for Day. For a fill, send ExecType = OrdStatus = Filled.
I think "done for day", "fill", "partial fill" etc are separate events. We should keep them separate.
any pointer ?
> Two questions.
>
> Question 1:
>
> Can an execution report w/ "done for day" status also contain new/additional "fill" or partial info ??
>
> My perception (and I think the majority view) is that "done for day" does not communicate any new "fill" related info, that is any new share changes like exec quantity and leaves quantity, etc.
>
> To communicate share changes info (like exec quantity and leaves quantity) fill, partials, busts, corrections are used.
>
> Question 2:
>
> What is the proper state transition if/when a done for day message (exec report) gets sent back to client?
>
> Would it be proper protocol use for a fill message (exec report) be sent back after a done for day message (exec report) gets sent back?
>
> Or should some other message carry this info (after done for day is sent) such as a correction message (exec report).
>
> Please advise.
>
>
> Thanks
> – Paul S.
>
>
>