Imported from previous forum
[ original email was from Francois Milot - francois.milot@gltrade.com ]
Hi all,
I am developping FIX Engine and I’m in front of some questions.
I wonder what are the rule concerning pending cancel/replace/new fields rules.
For example :
I send an order which is acknowledged and want to replace its price. Why do I have in my pending replace execution report ? Should I have the price I sent in my modification or should I have the old price ?
My question is the same for other fields modification (except quantities that are describe as well in documentation).
[ original email was from Rikard Hedberg - rikard.hedberg@omxgroup.com ]
Francois,
have a look at the Order State Change Matrices of the specification. For FIX 5.0 the Cancel/Replace scenarios are in volume 4, starting on page 65. The principle is that you always report the state of the existing order (the order on the book) back while saying it’s pending a replace (or cancel).
Regards
Rikard
[ original email was from Francois Milot - francois.milot@gltrade.com ]
> Francois,
have a look at the Order State Change Matrices of the specification. For
FIX 5.0 the Cancel/Replace scenarios are in volume 4, starting on page
65. The principle is that you always report the state of the existing
order (the order on the book) back while saying it’s pending a replace
(or cancel).Regards
Rikard
Thanks Rikard for your answer.
Hi Francois,
The following example will help you to understand the order message flow:
Your Client
who is trading <----> [Your Institution] <-------> [Dealer/Bank]
with you
Assume as your client submit the Amend Order request to your farm.
Sometime your farm could not decide to amend the order directly (because may be you already placed the order to the Dealer).
In this case, u have to submit the Amend Order request to the Dealer but you are not sure when Dealer will reply your request.
At that time you need to send Execution Report with Pending Amend status to your client.
When you get the response (which can be accept or reject) from your Dealer, then send the Execution Report again with new status (Amended or Reject whatever you received from the dealer).
Actually, pending message is one type of acknowledgement message.
Acceptor side is indicating that they received the request but it is still on processing.
Order cancel/replace message flow diagram:
Order Cancel/Replace Request
MsgType=G
Received
|
|
V
---------------------------------------
| Reply |
| |
V V
Execution Report Order Cancel Reject,
MsgType=8 MsgType=9
[Status]39=E[Pending Replace]
|
|
|
V
Execution Report
MsgType=8
[Status]39=5[Replaced]
Regards,
TUN
Hi all,
I am developping FIX Engine and I’m in front of some questions.
I wonder what are the rule concerning pending cancel/replace/new
fields rules.For example :
I send an order which is acknowledged and want to replace its price. Why
do I have in my pending replace execution report ? Should I have the
price I sent in my modification or should I have the old price ?My question is the same for other fields modification (except quantities
that are describe as well in documentation).