Skip to content

FIX MESSAGE 35=BU

MarketDefinition

MsgType (35) = BUMarketStructureReferenceDataAdded FIX.5.0

Definition

The MarketDefinition(35=BU) message is used to respond to MarketDefinitionRequest(35=BT). In a subscription, it will be used to provide the initial snapshot of the information requested. Subsequent updates are provided by the MarketDefinitionUpdateReport(35=BV).

Message structure 181 distinct fields

Source order, including nested components and groups. Group counts precede the repeated entries. “Required here” is relative to the enclosing component or group, not unconditional in the message. A dash means not marked required; conditional requirements remain in the source notes. This is a reference, not a counterparty-specific validator.

  1. StandardHeaderComponentRequired

    MsgType = BU

    1. 8 BeginStringStringRequired here

      FIX session profile (Always unencrypted, must be first field in message)

    2. 9 BodyLengthLengthRequired here

      (Always unencrypted, must be second field in message)

    3. 35 MsgTypeStringRequired here

      (Always unencrypted, must be third field in message)

    4. Indicates application version using a service pack identifier. The ApplVerID applies to a specific message occurrence.

    5. Used to support bilaterally agreed custom functionality

    6. 49 SenderCompIDStringRequired here

      (Always unencrypted)

    7. 56 TargetCompIDStringRequired here

      (Always unencrypted)

    8. Trading partner company ID used when sending messages via a third party (Can be embedded within encrypted data section.)

    9. Trading partner company ID used when sending messages via a third party (Can be embedded within encrypted data section.)

    10. 90 SecureDataLenDeprecated FIX.5.0SP2Length

      Required to identify length of encrypted section of message. (Always unencrypted)

    11. 91 SecureDataDeprecated FIX.5.0SP2data

      Required when message body is encrypted. Always immediately follows SecureDataLen field.

    12. 34 MsgSeqNumSeqNumRequired here

      (Can be embedded within encrypted data section.)

    13. (Can be embedded within encrypted data section.)

    14. Sender's LocationID (i.e. geographic location and/or desk) (Can be embedded within encrypted data section.)

    15. "ADMIN" reserved for administrative messages not intended for a specific user. (Can be embedded within encrypted data section.)

    16. Trading partner LocationID (i.e. geographic location and/or desk) (Can be embedded within encrypted data section.)

    17. Trading partner SubID used when delivering messages via a third party. (Can be embedded within encrypted data section.)

    18. Trading partner LocationID (i.e. geographic location and/or desk) used when delivering messages via a third party. (Can be embedded within encrypted data section.)

    19. Trading partner SubID used when delivering messages via a third party. (Can be embedded within encrypted data section.)

    20. Trading partner LocationID (i.e. geographic location and/or desk) used when delivering messages via a third party. (Can be embedded within encrypted data section.)

    21. 43 PossDupFlagBoolean

      Always required for retransmitted messages, whether prompted by the sending system or as the result of a resend request. (Can be embedded within encrypted data section.)

    22. 97 PossResendBoolean

      Required when message may be duplicate of another message sent under a different sequence number. (Can be embedded within encrypted data section.)

    23. 52 SendingTimeUTCTimestampRequired here

      (Can be embedded within encrypted data section.)

    24. 122 OrigSendingTimeUTCTimestamp

      Required for message resent as a result of a ResendRequest. If data is not available set to same value as SendingTime (Can be embedded within encrypted data section.)

    25. Required when specifying XmlData to identify the length of a XmlData message block. (Can be embedded within encrypted data section.)

    26. 213 XmlDataXMLData

      Can contain a XML formatted message block (e.g. FIXML). Always immediately follows XmlDataLen field. (Can be embedded within encrypted data section.)

      See Volume 1: FIXML Support

    27. Type of message encoding (non-ASCII characters) used in a message's "Encoded" fields. Required if any "Encoding" fields are used.

    28. The last MsgSeqNum value received by the FIX engine and processed by downstream application, such as trading system or order routing system. Can be specified on every message sent. Useful for detecting a backlog with a counterparty.

    29. HopGrpRepeating groupCount tag 627

      Number of repeating groups of historical "hop" information. Only applicable if OnBehalfOfCompID is used, however, its use is optional. Note that some market regulations or counterparties may require tracking of message hops.

      1. 627 NoHopsGroup count
      2. 628 HopCompIDString
      3. 629 HopSendingTimeUTCTimestamp
      4. 630 HopRefIDSeqNum
  2. ApplicationSequenceControlComponent
    1. 1180 ApplIDString

      Identifies the application with which a message is associated. Used only if application sequencing is in effect.

    2. Application sequence number assigned to the message by the application generating the message. Used only if application sequencing is in effect. Conditionally required if ApplID has been specified.

    3. The previous sequence number in the application sequence stream. Permits an application to publish messages with sequence gaps where it cannot be avoided. Used only if application sequencing is in effect. Conditionally required if ApplID has been specified

    4. Used to indicate that a message is being sent in response to an Application Message Request. Used only if application sequencing is in effect. It is possible for both ApplResendFlag and PossDupFlag to be set on the same message if the Sender's cache size is greater than zero and the message is being resent due to a session level resend request.

  3. 1394 MarketReportIDStringRequired

    Unique identifier for each market definition message.

  4. 1301 MarketIDExchangeRequired
  5. Must be set if EncodedMktSegmDesc(1398) field is specified and must immediately precede it.

  6. Encoded (non-ASCII characters) representation of the MarketSegmDesc(1396) field in the encoded format specified via the MessageEncoding(347) field.

  7. Specifies that the market segment specified in this message is a sub-segment of the market segment defined in this field.

  8. Used to specify the purpose of a special market segment identified by MarketSegmentID(1300).

    Conditionally required if MarketSegmentSubType(2544) is specified.

  9. InstrumentScopeGrpRepeating groupCount tag 1656

    Used to specify the types of securities that belong to the market segment.

    1. Required when NoInstrumentScopes > 0.

    2. InstrumentScopeComponent
      1. InstrumentScopeSecurityAltIDGrpRepeating groupCount tag 1540
        1. Required when NoInstrumentScopeSecurityAltID > 0.

        2. Required when NoInstrumentScopeSecurityAltID > 0.

      2. Can be used to specify FX tenors.

  10. RelatedMarketSegmentGrpRepeating groupCount tag 2545

    Used to specify market segments that have a relationship to the market segment defined in this message.

    1. Number of market segments.

  11. 15 CurrencyCurrency

    The default trading currency

  12. BaseTradingRulesComponent

    Used to specify the base trading rules for the identified market or market segment.

    1. TickRulesRepeating groupCount tag 1205

      Specifies price tick rules for the security.

      1. 1205 NoTickRulesGroup count
      2. Required if NoTickRules(1205) > 0.

      3. Can be used to limit tick rule to specific product suite.

    2. LotTypeRulesRepeating groupCount tag 1234

      Specifies the lot types that are valid for trading.

      1. 1234 NoLotTypeRulesGroup count

        Number of Lot Types

      2. Defines the lot type assigned to the order. Use as an alternate to RoundLot(561). To be used with MinLotSize(1231).

        LotType + MinLotSize (max is next level minus 1).

        Required if NoLotTypeRules(1234) > 0.

      3. Minimum lot size allowed based on lot type specified in LotType(1093)

    3. PriceLimitsComponent

      Specifies the price limits that are valid for trading.

      1. Describes the how the price limits are expressed

      2. Allowable low limit price for the trading day. A key parameter in validating order price. Used as the lower band for validating order prices. Orders submitted with prices below the lower limit will be rejected

      3. Allowable high limit price for the trading day. A key parameter in validating order price. Used as the upper band for validating order prices. Orders submitted with prices above the upper limit will be rejected

      4. Reference price for the current trading price range usually representing the mid price between the HighLimitPrice and LowLimitPrice. The value may be the settlement price or closing price of the prior trading day.

    4. PriceRangeRuleGrpRepeating groupCount tag 2550

      Specifies the valid price range tables for trading.

      1. Required if NoPriceRangeRules(2550) > 0.

      2. Mutually exclusive with PriceRangePercentage(2554).

      3. Mutually exclusive with PriceRangeValue(2553).

      4. Can be used to provide an identifier so that the rule can be reference via the ID elsewhere.

      5. Can be used to limit price range to specific product suite.

    5. QuoteSizeRuleGrpRepeating groupCount tag 2558

      Specifies the valid quote sizes for trading.

      1. 2558 NoQuoteSizeRulesGroup count

        Number of quote size rules.

      2. Required if NoQuoteSizeRules(2558) > 0.

      3. Required if NoQuoteSizeRules(2558) > 0.

      4. Used to define the sizes applicable for fast market conditions.

    6. For listed derivatives this indicates the minimum quantity necessary for an order or trade to qualify as a block trade.

    7. Used for multileg security only.

    8. Used for multileg security only.

    9. Defines the default price type used for trading.

    10. Can be used as a factor to be applied to other base trading rules during a fast market, e.g. to widen price or size ranges by the specified percentage factor.

  13. OrdTypeRulesRepeating groupCount tag 1237

    Used to specify the order types that are valid for trading on the identified market or market segment.

    1. 1237 NoOrdTypeRulesGroup count

      Number of order types

    2. 40 OrdTypechar

      Indicates order types that are valid for the specified market segment.

  14. TimeInForceRulesRepeating groupCount tag 1239

    Used to specify the time in force rules that are valid for trading on the identified market or market segment.

    1. Number of time in force techniques

    2. Indicates time in force techniques that are valid for the specified market segment

  15. ExecInstRulesRepeating groupCount tag 1232

    Used to specify the execution instructions that are valid for trading on the identified market or market segment.

    1. 1232 NoExecInstRulesGroup count

      Number of execution instructions

    2. 1308 ExecInstValueMultipleCharValue

      Indicates execution instructions that are valid for the specified market segment

  16. AuctionTypeRuleGrpRepeating groupCount tag 2548

    Used to specify the auction order types that are valid for trading on the identified market or market segment.

    1. Required if NoAuctionTypeRules(2548) > 0.

      AuctionType(1803) = 0 (None) can be used to invalidate all auction types on the instrument level that are defined on a market segment level.

    2. Can be used to limit auction order type to specific product suite. Use multiple entries with the same AuctionType(1803) if multiple but not all product suites are supported.

  17. MarketDataFeedTypesRepeating groupCount tag 1141

    Used to specify the market data feed types that are valid for trading on the identified market or market segment.

    1. 1141 NoMDFeedTypesGroup count
    2. Required if NoMDFeedTypes(1141) > 0.

    3. Specifies the depth of book (or levels of market depth) for the feed type.

    4. Conditionally required when MarketDepthTimeIntervalUnit(2564) is specified.

    5. Conditionally required when MarketDataTimeInterval(2563) is specified.

    6. Conditionally required when MDRecoveryTimeIntervalUnit(2566) is specified.

    7. Conditionally required when MDRecoveryTimeInterval(2565) is specified.

  18. MatchRulesRepeating groupCount tag 1235

    Used to specify the matching rules that are valid for trading on the identified market or market segment.

    1. 1235 NoMatchRulesGroup count
    2. Required if NoMatchRules(1235) > 0.

    3. 574 MatchTypeString
    4. Can be used to limit match rule to specific product suite.

    5. Can be used to give customer orders priority for the given matching algorithm.

  19. FlexProductEligibilityGrpRepeating groupCount tag 2560

    Specifies the eligibility indicators for the creation of flexible securities.

    1. Required if NoFlexProductEligibilities(2560) > 0.

      Used to specify a product suite related to an eligibility indicator.

  20. PartiesRepeating groupCount tag 453

    Specifies parties relevant for the market or market segment, e.g. market makers.

    1. 453 NoPartyIDsGroup count

      Repeating group below should contain unique combinations of PartyID, PartyIDSource, and PartyRole

    2. 448 PartyIDString

      Required if NoPartyIDs(453) > 0.

      Identification of the party.

    3. Required if NoPartyIDs(453) > 0.

      Used to identify classification source.

    4. Required if NoPartyIDs(453) > 0.

      Identifies the type of PartyID(448).

    5. PtysSubGrpRepeating groupCount tag 802

      Repeating group of Party sub-identifiers.

      1. 802 NoPartySubIDsGroup count
  21. MiscFeesGrpRepeating groupCount tag 136
    1. 136 NoMiscFeesGroup count

      Required if any miscellaneous fees are reported. Indicates number of repeating entries.

    2. Required if NoMiscFees(136) > 0.

    3. 138 MiscFeeCurrCurrency
    4. Required if NoMiscFees(136) > 0.

    5. MiscFeesSubGrpRepeating groupCount tag 2633
      1. Required if NoMiscFeeSubTypes(2633) > 0.

      2. Must be set if EncodedMiscFeeSubTypeDesc(2638) field is specified and must immediately precede it.

      3. Encoded (non-ASCII characters) representation of the MiscFeeSubTypeDesc(2636) field in the encoded format specified via the MessageEncoding(347) field.

    6. 2216 MiscFeeRatePercentage
  22. 60 TransactTimeUTCTimestamp
  23. 58 TextString
  24. Must be set if EncodedText(355) field is specified and must immediately precede it.

  25. Encoded (non-ASCII characters) representation of the Text(58) field in the encoded format specified via the MessageEncoding(347) field.

  26. StandardTrailerComponentRequired
    1. 93 SignatureLengthDeprecated FIX.5.0SP2Length

      Required when trailer contains signature. Note: Not to be included within SecureData field

    2. 89 SignatureDeprecated FIX.5.0SP2data

      Note: Not to be included within SecureData field

    3. 10 CheckSumStringRequired here

      (Always unencrypted, always last field in message)