Imported from previous forum
[ original email was from Ainhoa Dewisme - ainhoa.dewisme@reuters.com ]
Hello,
I am trying to think of the best way of supporting the submission of a set of orders, and allowing client applications to reference those orders either individually or as a group.
Group orders could be submitted via New Order - MultiLeg, where ClOrdID would represent the Batch/Group ID and LegRefID representing individual Order IDs…
If an individual order is to be cancelled, could OrderCancelRequest Message be used where the OrigClOrdID is set to a specific LegRefID? Would this be correct workflow?
If there is a document where this is explained plese let me know.
Thanks and Regards
Ainhoa
[ original email was from Greg Wood - gregjwood@hotmail.com ]
Hi Ainhoa,
I would suggest that you should look at using a List order (MsgType E) instead of a Multileg (MsgType AB) order since what you are suggesting sounds more like a basket of individual orders.
The Multileg order was introduced into FIX to handle strategies based around related securities, for example a simple calendar spread across different futures contracts on the same underlying or a more complicated strategy such as an options butterfly or kondor.
The individual legs of the Multileg order are not meant to be cancelled or amended individually, but rather simultaneously with all other components of the strategy using a single Cancel Request (MsgType F) against the entire strategy, or using the MultiLeg Cancel/Replace (MsgType AC).
The List message allows you to submit a basket of individual orders tied together in a single message with a common ListId across all components. Each order has its own ClOrdId and can be cancelled or amended independently from the others in the list using the usual MsgType F/MsgType G workflow. If you need to cancel all orders in one quick instruction then you can use a List Cancel Request (MsgType K) and reference the ListId from the original submission.
Although this construction was originally designed for program trading equities, there is theoretically nothing stopping you from using it for other asset classes.
Hope this helps.
Regards,
- Greg
Hello,
I am trying to think of the best way of supporting the submission of a
set of orders, and allowing client applications to reference those
orders either individually or as a group.Group orders could be submitted via New Order - MultiLeg, where ClOrdID
would represent the Batch/Group ID and LegRefID representing individual
Order IDs… If an individual order is to be cancelled, could
OrderCancelRequest Message be used where the OrigClOrdID is set to a
specific LegRefID? Would this be correct workflow?If there is a document where this is explained plese let me know.
Thanks and Regards
Ainhoa
[ original email was from Ainhoa Dewisme - ainhoa.dewisme@reuters.com ]
Hi Greg,
Thanks a lot for your response. It is very helpful.
Ainhoa
Hi Ainhoa,
I would suggest that you should look at using a List order (MsgType E)
instead of a Multileg (MsgType AB) order since what you are suggesting
sounds more like a basket of individual orders.The Multileg order was introduced into FIX to handle strategies based
around related securities, for example a simple calendar spread across
different futures contracts on the same underlying or a more complicated
strategy such as an options butterfly or kondor.The individual legs of the Multileg order are not meant to be cancelled
or amended individually, but rather simultaneously with all other
components of the strategy using a single Cancel Request (MsgType F)
against the entire strategy, or using the MultiLeg Cancel/Replace
(MsgType AC).The List message allows you to submit a basket of individual orders tied
together in a single message with a common ListId across all components.
Each order has its own ClOrdId and can be cancelled or amended
independently from the others in the list using the usual MsgType
F/MsgType G workflow. If you need to cancel all orders in one quick
instruction then you can use a List Cancel Request (MsgType K) and
reference the ListId from the original submission.Although this construction was originally designed for program trading
equities, there is theoretically nothing stopping you from using it for
other asset classes.Hope this helps.
Regards,
- Greg
Hello,
I am trying to think of the best way of supporting the submission of a
set of orders, and allowing client applications to reference those
orders either individually or as a group.Group orders could be submitted via New Order - MultiLeg, where
ClOrdID would represent the Batch/Group ID and LegRefID representing
individual Order IDs… If an individual order is to be cancelled,
could OrderCancelRequest Message be used where the OrigClOrdID is set
to a specific LegRefID? Would this be correct workflow?If there is a document where this is explained plese let me know.
Thanks and Regards
Ainhoa