Imported from previous forum
In 4.3, there are component blocks, is it just a grouping in specification? for example instrument component, how does it affect new FIX message? any example?
I noticed that there is no replaced in OrdStatus, why? then how can we represent the replaced order?
Thanks.
[ original email was from Ryan Pierce - rpierce@taltrade.com ]
> In 4.3, there are component blocks, is it just a grouping in specification? for example instrument component, how does it affect new FIX message? any example?
The spec authors have always informally viewed certain groups of fields as component blocks, i.e. whenever Symbol is listed, the SecurityID and IDSource must be present, as well as a whole slew of fields describing derivatives, etc. So it just became easier to define the Instrument component in one place, and then reference it in all messages that need it, instead of having to remember to cut and paste every single instrument-related field into nearly every message.
But when you look at a Tag=Value FIX message, you won’t see anything special to indicate that the fields are part of a component block.
> I noticed that there is no replaced in OrdStatus, why? then how can we represent the replaced order?
See the 4.3 state change matrices. This was done because "Replaced" is an action that happens to an order (i.e. an ExecType), not a state of the order. After a change in FIX 4.3, ExecType=Replaced, and OrdStatus is probably New (if nothing traded), Partially Filled (if there are one or more trades against the order), or Pending Cancel (if the change succeeded while a cancel was pending.)
Further, it didn’t make sense that in FIX 4.1 and 4.2, one would differentiate an order based on whether or not it had at least one successful change if it had no trades (i.e. OrdStatus=Replaced or New), but this info vanished once a trade happened, since OrdStatus=Partially Filled trumps both New and Replaced. This is an additional piece of state that the sell-side needs to carry on every order which, frankly, is of no real use, so it was removed.
Conversely, in FIX 4.3, Filled or Partially Filled are states of the order, but there’s only one action, ExecType=Trade.
> > In 4.3, there are component blocks, is it just a grouping in specification? for example instrument component, how does it affect new FIX message? any example?
>
> The spec authors have always informally viewed certain groups of fields as component blocks, i.e. whenever Symbol is listed, the SecurityID and IDSource must be present, as well as a whole slew of fields describing derivatives, etc. So it just became easier to define the Instrument component in one place, and then reference it in all messages that need it, instead of having to remember to cut and paste every single instrument-related field into nearly every message.
>
> But when you look at a Tag=Value FIX message, you won’t see anything special to indicate that the fields are part of a component block.
>
> > I noticed that there is no replaced in OrdStatus, why? then how can we represent the replaced order?
>
> See the 4.3 state change matrices. This was done because “Replaced” is an action that happens to an order (i.e. an ExecType), not a state of the order. After a change in FIX 4.3, ExecType=Replaced, and OrdStatus is probably New (if nothing traded), Partially Filled (if there are one or more trades against the order), or Pending Cancel (if the change succeeded while a cancel was pending.)
>
> Further, it didn’t make sense that in FIX 4.1 and 4.2, one would differentiate an order based on whether or not it had at least one successful change if it had no trades (i.e. OrdStatus=Replaced or New), but this info vanished once a trade happened, since OrdStatus=Partially Filled trumps both New and Replaced. This is an additional piece of state that the sell-side needs to carry on every order which, frankly, is of no real use, so it was removed.
>
> Conversely, in FIX 4.3, Filled or Partially Filled are states of the order, but there’s only one action, ExecType=Trade.
>
-
Can you give me an example of a whole message?
-
I understand the "replaced" really only means replaced, and it tells the next status should be. However, what if an "Change by System", i.e, an replaced confirmation from sell side.