Imported from previous forum
[ original email was from merlin beake - merlin.beake@reuters.com ]
In the scenario:
Order: Buy 1000 MSFT, limit $50
ClOrdID=MyOrder1
(Order accepted)
Execution Report:
ExecID=MyExec2
ClOrdID=MyOrder1
LastShares=300
Change Order: Buy 1000 MSFT, limit $51
ClOrdID=MyOrder2
OrigClOrdID=MyOrder1
(change accepted)
Execution Report:
ExecID=MyExec5
ExecTransType=Cancel
ExecRefID=MyExec2
ClOrdID=?
Should the ClOrdID on the Cancel execution reference MyOrder1 or MyOrder2?
merlin
[ original email was from Ian Orford - ian.orford@drkw.com ]
My view is that at the order level, the correct ClOrdID is now MyOrder2, and hence all execution reports should refer to this.
However, since its not made clear in the spec, I guess the safest thing is to accept both as the buy-side and be able to send either as the sell-side.
> In the scenario:
>
> Order: Buy 1000 MSFT, limit $50
> ClOrdID=MyOrder1
>
> (Order accepted)
>
> Execution Report:
> ExecID=MyExec2
> ClOrdID=MyOrder1
> LastShares=300
>
> Change Order: Buy 1000 MSFT, limit $51
> ClOrdID=MyOrder2
> OrigClOrdID=MyOrder1
>
> (change accepted)
>
> Execution Report:
> ExecID=MyExec5
> ExecTransType=Cancel
> ExecRefID=MyExec2
> ClOrdID=?
>
> Should the ClOrdID on the Cancel execution reference MyOrder1 or MyOrder2?
>
> merlin
>
According to scenario #38 in FIX 4.3’s Vol 4’s “Order State Change Matrices”, ClOrdID should be MyOrder2 on the cancel or correct ExecTransType.
I am assuming that "(change accepted)" implies that an ExecRpt has been sent with ExecType=Replaced establishing the fact that MyOrder2 has superceded MyOrder1.
> In the scenario:
>
> Order: Buy 1000 MSFT, limit $50
> ClOrdID=MyOrder1
>
> (Order accepted)
>
> Execution Report:
> ExecID=MyExec2
> ClOrdID=MyOrder1
> LastShares=300
>
> Change Order: Buy 1000 MSFT, limit $51
> ClOrdID=MyOrder2
> OrigClOrdID=MyOrder1
>
> (change accepted)
>
> Execution Report:
> ExecID=MyExec5
> ExecTransType=Cancel
> ExecRefID=MyExec2
> ClOrdID=?
>
> Should the ClOrdID on the Cancel execution reference MyOrder1 or MyOrder2?
>
> merlin
>