Skip to content

FIX MESSAGE 35=BU

MarketDefinition

MsgType (35) = BUMarketStructureReferenceDataAdded FIX.5.0

Definition

The Market Definition message is used to respond to Market Definition Request. In a subscription, it will be used to provide the initial snapshot of the information requested. Subsequent updates are provided by the Market Definition Update Report.

Message structure 81 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

      FIXT.1.1 (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 FIXT.1.1Length

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

    11. 91 SecureDataDeprecated FIXT.1.1data

      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. 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 field is specified and must immediately precede it.

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

  7. Specifies that the Market Segment is a sub segment of the Market Segment defined in this field.

  8. 15 CurrencyCurrency

    The default trading currency

  9. BaseTradingRulesComponent
    1. TickRulesRepeating groupCount tag 1205

      This block specifies the rules for determining how a security ticks, i.e. the price increments at which it can be quoted and traded, depending on the current price of the security

      1. 1205 NoTickRulesGroup count

        Number of tick rules. This block specifies the rules for determining how a security ticks, i.e. the price increments at which it can be quoted and traded, depending on the current price of the security.

      2. Starting price range for specified tick increment

      3. Ending price range for the specified tick increment

      4. Tick increment for stated price range. Specifies the valid price increments at which a security can be quoted and traded

      5. Specifies the type of tick rule which is being described

    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)

      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. The minimum order quantity that can be submitted for an order.

    5. The maximum order quantity that can be submitted for a security. For listed derivatives this indicates the minimum quantity necessary for an order or trade to qualify as a block trade

    6. The maximum price variation of an execution from one event to the next for a given security. Expressed in absolute price terms.

    7. Used when the trading currency can differ from the price currency

    8. Trading lot size of security

    9. Used for multileg security only. Defines whether the security is pre-defined or user-defined. Not that value = 2 (User-defined, Non-Securitized, Multileg) does not apply for Securities.

    10. Used for multileg security only. Defines the method used when applying the multileg price to the legs.

    11. Defines the default Price Type used for trading.

  10. OrdTypeRulesRepeating groupCount tag 1237
    1. 1237 NoOrdTypeRulesGroup count

      Number of order types

    2. 40 OrdTypechar

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

  11. TimeInForceRulesRepeating groupCount tag 1239
    1. Number of time in force techniques

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

  12. ExecInstRulesRepeating groupCount tag 1232
    1. 1232 NoExecInstRulesGroup count

      Number of execution instructions

    2. Indicates execution instructions that are valid for the specified market segment

  13. 60 TransactTimeUTCTimestamp
  14. 58 TextString

    Comment, instructions, or other identifying information.

  15. Must be set if EncodedText field is specified and must immediately precede it.

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

  17. StandardTrailerComponentRequired
    1. 93 SignatureLengthDeprecated FIXT.1.1Length

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

    2. 89 SignatureDeprecated FIXT.1.1data

      Note: Not to be included within SecureData field

    3. 10 CheckSumStringRequired here

      (Always unencrypted, always last field in message)