fix-protocol

Is it mandatory to include NoLegs=0 in NewOrderMultileg messages when no legs are present?


In our current project (FIX 5.0 sp2), we introduced the Symbol tag in the NewOrderMultileg <AB> message. This raised the question of whether the NoLegs group (tag 555) with a value of 0 must always be included in the message when no legs are present.

Context:
• According to the FIX specification, the NoLegs tag is used to indicate the number of legs in a multileg order. A value of 0 means there are no legs.
• The FIX protocol enforces strict message structure compliance to ensure compatibility between systems and market participants.

Questions:
1. Is it strictly required by the FIX specification to include the NoLegs group with a value of 0 when no legs are present in a multileg order?
2. What are the potential consequences (e.g., message rejection) of omitting this tag when there are no legs?
3. Are there any best practices or recommendations regarding this? For example, would it be better to make this tag conditionally required?

We want to strike a balance between adhering to the FIX specification and optimizing message size and structure. Any advice or practical examples would be greatly appreciated!


Solution

  • I learned that it seems to be OK to have a multi leg order without legs. In fact, this was changed in EP131: https://www.fixtrading.org/packages/ep131/

    You must not send NoLegs=0 since the NumInGroup fields must bear a positive number: https://www.fixtrading.org/standards/tagvalue-online/#lexical-encoding-for-fix-datatypes (look for NumInGroup)

    Sequence of character digits without commas or decimals. Value must be positive.

    But if you want to use FIX5.0 SP2 (without any of the EPs or FIXLatest) then you probably need to change your data dictionary and let your counterparties know that you do not send NoLegs group when no legs are present. Otherwise you will end up with rejected messages.

    It is common practice to use features/fields from newer FIX versions, so it should normally pose no problem to leave out the NoLegs group as long as your counterparties are aware of it.