Imported from previous forum
[ original email was from James Manios - jmanios@bfmni.com ]
Hello,
I’ve run into a bit of a debate about the OrderStatus of a Cancel Order using FIX 3.0.
The problem stems from the interpretation of OrdStatus in relation to its description in ExecutionReport, and the status set in the Order Status Change Matrices.
The problem comes in at row 6 of the Order Status Change Matrices. In the ExecutionReport the OrderStatus of X is Pending Cxl(6) (only on Status requests) and NEW on Y.
For an example of the message flow, we send a CANCEL REQUEST on X with ClOrdID Y. We except to receive an ExectionReport with ClOrdID X, and OrdStatus PENDING CANCEL/REPLACE REQUEST, but are receiving the ExecutionReport with ClOrdID Y and status NEW.
But the description of OrdStatus in the ExectuionReport messages clearly states that for a receipt of a cancel request, Order Status is supposed to be PENDING CANCEL/REPLACE. I quote, "Order with cancel request pending, used to confirm receipt of cancel or replace request".
Now the description for NEW is "Outstanding order with no executions", which is clearly not the case for a confirmation of a cancel request message.
To add further confusion to this problem, the new FIX 4.1 "Order State Change Matrices" for Cancel orders uses the PENDING CANCEL/REPLACE syntax without using a NEW of the cancel request; ROW 6.
Could you please tell me which interpretation of the FIX 3.0 spec is correct.
[ original email was from Beatrice Karjalainen - beatrice.karjalainen@interbizz.com ]
I have had the same discussion but for 4.0 that has the same Appendix D for Cancelling orders.
Does anyone know the answer for this problem? I need to get an answer ASAP.
/Bea
Interbizz Scandinavia AB, Sweden
bea@interbizz.com
> Hello,
>
> I’ve run into a bit of a debate about the OrderStatus of a Cancel Order using FIX 3.0.
>
> The problem stems from the interpretation of OrdStatus in relation to its description in ExecutionReport, and the status set in the Order Status Change Matrices.
>
> The problem comes in at row 6 of the Order Status Change Matrices. In the ExecutionReport the OrderStatus of X is Pending Cxl(6) (only on Status requests) and NEW on Y.
>
> For an example of the message flow, we send a CANCEL REQUEST on X with ClOrdID Y. We except to receive an ExectionReport with ClOrdID X, and OrdStatus PENDING CANCEL/REPLACE REQUEST, but are receiving the ExecutionReport with ClOrdID Y and status NEW.
>
> But the description of OrdStatus in the ExectuionReport messages clearly states that for a receipt of a cancel request, Order Status is supposed to be PENDING CANCEL/REPLACE. I quote, “Order with cancel request pending, used to confirm receipt of cancel or replace request”.
>
> Now the description for NEW is “Outstanding order with no executions”, which is clearly not the case for a confirmation of a cancel request message.
>
> To add further confusion to this problem, the new FIX 4.1 “Order State Change Matrices” for Cancel orders uses the PENDING CANCEL/REPLACE syntax without using a NEW of the cancel request; ROW 6.
>
> Could you please tell me which interpretation of the FIX 3.0 spec is correct.
>
>
>
[ original email was from John Armstrong - johna@ms.com ]
James’ interpretation of FIX3.0 is correct, the
first response to the cancel request should be
PendingCancel X followed by a Replaced X or CancelReject Y.
In FIX4.1, due to ongoing confusion/disagreement on which ClOrdID should be
set on the (pending/replaced/rejected) reports, it
was decided to be unambiguous by making the reports’ ClOrdID/OrigClOrdID mirror the request, i.e. Y,X respectively.
> I have had the same discussion but for 4.0 that has the same Appendix D for Cancelling orders.
>
> Does anyone know the answer for this problem? I need to get an answer ASAP.
>
> /Bea
> -------------------------------------------------
> Interbizz Scandinavia AB, Sweden
> bea@interbizz.com
>
>
>
> > Hello,
> >
> > I’ve run into a bit of a debate about the OrderStatus of a Cancel Order using FIX 3.0.
> >
> > The problem stems from the interpretation of OrdStatus in relation to its description in ExecutionReport, and the status set in the Order Status Change Matrices.
> >
> > The problem comes in at row 6 of the Order Status Change Matrices. In the ExecutionReport the OrderStatus of X is Pending Cxl(6) (only on Status requests) and NEW on Y.
> >
> > For an example of the message flow, we send a CANCEL REQUEST on X with ClOrdID Y. We except to receive an ExectionReport with ClOrdID X, and OrdStatus PENDING CANCEL/REPLACE REQUEST, but are receiving the ExecutionReport with ClOrdID Y and status NEW.
> >
> > But the description of OrdStatus in the ExectuionReport messages clearly states that for a receipt of a cancel request, Order Status is supposed to be PENDING CANCEL/REPLACE. I quote, “Order with cancel request pending, used to confirm receipt of cancel or replace request”.
> >
> > Now the description for NEW is “Outstanding order with no executions”, which is clearly not the case for a confirmation of a cancel request message.
> >
> > To add further confusion to this problem, the new FIX 4.1 “Order State Change Matrices” for Cancel orders uses the PENDING CANCEL/REPLACE syntax without using a NEW of the cancel request; ROW 6.
> >
> > Could you please tell me which interpretation of the FIX 3.0 spec is correct.
> >
> >
> >
>
[ original email was from James Manios - jmanios@bfmni.com ]
I’m a little concerned that my original question has been misunderstood.
Both John Armstrong and Scott Atwell have mentioned a ‘REPLACED’ message for X or a CANCEL-REJECT for Y. I would expect to get the REPLACED message only if I was sending a CANCEL REPLACE REQUEST (35=G). But this was not my question. My question is for a CANCEL REQUEST (35=F) only, no replace.
I am hoping everyone will re-examine the question, with the understanding that it is for a CANCEL REQUEST only (35=F), and give me their interpretation.
Thank you,
> James’ interpretation of FIX3.0 is correct, the
> first response to the cancel request should be
> PendingCancel X followed by a Replaced X or CancelReject Y.
>
> In FIX4.1, due to ongoing confusion/disagreement on which ClOrdID should be
> set on the (pending/replaced/rejected) reports, it
> was decided to be unambiguous by making the reports’ ClOrdID/OrigClOrdID mirror the request, i.e. Y,X respectively.
>
> > I have had the same discussion but for 4.0 that has the same Appendix D for Cancelling orders.
> >
> > Does anyone know the answer for this problem? I need to get an answer ASAP.
> >
> > /Bea
> > -------------------------------------------------
> > Interbizz Scandinavia AB, Sweden
> > bea@interbizz.com
> >
> >
> >
> > > Hello,
> > >
> > > I’ve run into a bit of a debate about the OrderStatus of a Cancel Order using FIX 3.0.
> > >
> > > The problem stems from the interpretation of OrdStatus in relation to its description in ExecutionReport, and the status set in the Order Status Change Matrices.
> > >
> > > The problem comes in at row 6 of the Order Status Change Matrices. In the ExecutionReport the OrderStatus of X is Pending Cxl(6) (only on Status requests) and NEW on Y.
> > >
> > > For an example of the message flow, we send a CANCEL REQUEST on X with ClOrdID Y. We except to receive an ExectionReport with ClOrdID X, and OrdStatus PENDING CANCEL/REPLACE REQUEST, but are receiving the ExecutionReport with ClOrdID Y and status NEW.
> > >
> > > But the description of OrdStatus in the ExectuionReport messages clearly states that for a receipt of a cancel request, Order Status is supposed to be PENDING CANCEL/REPLACE. I quote, “Order with cancel request pending, used to confirm receipt of cancel or replace request”.
> > >
> > > Now the description for NEW is “Outstanding order with no executions”, which is clearly not the case for a confirmation of a cancel request message.
> > >
> > > To add further confusion to this problem, the new FIX 4.1 “Order State Change Matrices” for Cancel orders uses the PENDING CANCEL/REPLACE syntax without using a NEW of the cancel request; ROW 6.
> > >
> > > Could you please tell me which interpretation of the FIX 3.0 spec is correct.
> > >
> > >
> > >
> >
>
[ original email was from John Armstrong - johna@ms.com ]
Sorry, the same rule would apply for a Cancel request and Cancelled report.
> I’m a little concerned that my original question has been misunderstood.
>
> Both John Armstrong and Scott Atwell have mentioned a ‘REPLACED’ message for X or a CANCEL-REJECT for Y. I would expect to get the REPLACED message only if I was sending a CANCEL REPLACE REQUEST (35=G). But this was not my question. My question is for a CANCEL REQUEST (35=F) only, no replace.
>
> I am hoping everyone will re-examine the question, with the understanding that it is for a CANCEL REQUEST only (35=F), and give me their interpretation.
>
> Thank you,
>
>
> > James’ interpretation of FIX3.0 is correct, the
> > first response to the cancel request should be
> > PendingCancel X followed by a Replaced X or CancelReject Y.
> >
> > In FIX4.1, due to ongoing confusion/disagreement on which ClOrdID should be
> > set on the (pending/replaced/rejected) reports, it
> > was decided to be unambiguous by making the reports’ ClOrdID/OrigClOrdID mirror the request, i.e. Y,X respectively.
> >
> > > I have had the same discussion but for 4.0 that has the same Appendix D for Cancelling orders.
> > >
> > > Does anyone know the answer for this problem? I need to get an answer ASAP.
> > >
> > > /Bea
> > > -------------------------------------------------
> > > Interbizz Scandinavia AB, Sweden
> > > bea@interbizz.com
> > >
> > >
> > >
> > > > Hello,
> > > >
> > > > I’ve run into a bit of a debate about the OrderStatus of a Cancel Order using FIX 3.0.
> > > >
> > > > The problem stems from the interpretation of OrdStatus in relation to its description in ExecutionReport, and the status set in the Order Status Change Matrices.
> > > >
> > > > The problem comes in at row 6 of the Order Status Change Matrices. In the ExecutionReport the OrderStatus of X is Pending Cxl(6) (only on Status requests) and NEW on Y.
> > > >
> > > > For an example of the message flow, we send a CANCEL REQUEST on X with ClOrdID Y. We except to receive an ExectionReport with ClOrdID X, and OrdStatus PENDING CANCEL/REPLACE REQUEST, but are receiving the ExecutionReport with ClOrdID Y and status NEW.
> > > >
> > > > But the description of OrdStatus in the ExectuionReport messages clearly states that for a receipt of a cancel request, Order Status is supposed to be PENDING CANCEL/REPLACE. I quote, “Order with cancel request pending, used to confirm receipt of cancel or replace request”.
> > > >
> > > > Now the description for NEW is “Outstanding order with no executions”, which is clearly not the case for a confirmation of a cancel request message.
> > > >
> > > > To add further confusion to this problem, the new FIX 4.1 “Order State Change Matrices” for Cancel orders uses the PENDING CANCEL/REPLACE syntax without using a NEW of the cancel request; ROW 6.
> > > >
> > > > Could you please tell me which interpretation of the FIX 3.0 spec is correct.
> > > >
> > > >
> > > >
> > >
> >
>