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.
StandardHeaderComponentRequired
MsgType = BU
StandardHeader definition & usage →
FIX session profile (Always unencrypted, must be first field in message)
(Always unencrypted, must be second field in message)
(Always unencrypted, must be third field in message)
Indicates application version using a service pack identifier. The ApplVerID applies to a specific message occurrence.
Used to support bilaterally agreed custom functionality
(Always unencrypted)
(Always unencrypted)
Trading partner company ID used when sending messages via a third party (Can be embedded within encrypted data section.)
Trading partner company ID used when sending messages via a third party (Can be embedded within encrypted data section.)
Required to identify length of encrypted section of message. (Always unencrypted)
Required when message body is encrypted. Always immediately follows SecureDataLen field.
(Can be embedded within encrypted data section.)
(Can be embedded within encrypted data section.)
Sender's LocationID (i.e. geographic location and/or desk) (Can be embedded within encrypted data section.)
"ADMIN" reserved for administrative messages not intended for a specific user. (Can be embedded within encrypted data section.)
Trading partner LocationID (i.e. geographic location and/or desk) (Can be embedded within encrypted data section.)
Trading partner SubID used when delivering messages via a third party. (Can be embedded within encrypted data section.)
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.)
Trading partner SubID used when delivering messages via a third party. (Can be embedded within encrypted data section.)
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.)
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.)
Required when message may be duplicate of another message sent under a different sequence number. (Can be embedded within encrypted data section.)
(Can be embedded within encrypted data section.)
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.)
Required when specifying XmlData to identify the length of a XmlData message block. (Can be embedded within encrypted data section.)
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
Type of message encoding (non-ASCII characters) used in a message's "Encoded" fields. Required if any "Encoding" fields are used.
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.
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.
ApplicationSequenceControlComponent—
ApplicationSequenceControl definition & usage →
Identifies the application with which a message is associated. Used only if application sequencing is in effect.
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.
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
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.
Unique identifier for each market definition message.
Must be set if EncodedMktSegmDesc(1398) field is specified and must immediately precede it.
Encoded (non-ASCII characters) representation of the MarketSegmDesc(1396) field in the encoded format specified via the MessageEncoding(347) field.
Specifies that the market segment specified in this message is a sub-segment of the market segment defined in this field.
Used to specify the purpose of a special market segment identified by MarketSegmentID(1300).
Conditionally required if MarketSegmentSubType(2544) is specified.
InstrumentScopeGrpRepeating groupCount tag 1656—
Used to specify the types of securities that belong to the market segment.
InstrumentScopeGrp definition & usage →
Required when NoInstrumentScopes > 0.
InstrumentScopeComponent—
InstrumentScope definition & usage →
InstrumentScopeSecurityAltIDGrpRepeating groupCount tag 1540—
InstrumentScopeSecurityAltIDGrp definition & usage →
Required when NoInstrumentScopeSecurityAltID > 0.
Required when NoInstrumentScopeSecurityAltID > 0.
Can be used to specify FX tenors.
RelatedMarketSegmentGrpRepeating groupCount tag 2545—
Used to specify market segments that have a relationship to the market segment defined in this message.
RelatedMarketSegmentGrp definition & usage →
Number of market segments.
Required if NoRelatedMarketSegments (2545) > 0.
The default trading currency
BaseTradingRulesComponent—
Used to specify the base trading rules for the identified market or market segment.
BaseTradingRules definition & usage →
TickRulesRepeating groupCount tag 1205—
Specifies price tick rules for the security.
TickRules definition & usage →
Required if NoTickRules(1205) > 0.
Can be used to limit tick rule to specific product suite.
LotTypeRulesRepeating groupCount tag 1234—
Specifies the lot types that are valid for trading.
LotTypeRules definition & usage →
Number of Lot Types
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.
Minimum lot size allowed based on lot type specified in LotType(1093)
PriceLimitsComponent—
Specifies the price limits that are valid for trading.
PriceLimits definition & usage →
Describes the how the price limits are expressed
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
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
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.
PriceRangeRuleGrpRepeating groupCount tag 2550—
Specifies the valid price range tables for trading.
PriceRangeRuleGrp definition & usage →
Required if NoPriceRangeRules(2550) > 0.
Mutually exclusive with PriceRangePercentage(2554).
Mutually exclusive with PriceRangeValue(2553).
Can be used to provide an identifier so that the rule can be reference via the ID elsewhere.
Can be used to limit price range to specific product suite.
QuoteSizeRuleGrpRepeating groupCount tag 2558—
Specifies the valid quote sizes for trading.
QuoteSizeRuleGrp definition & usage →
Number of quote size rules.
Required if NoQuoteSizeRules(2558) > 0.
Required if NoQuoteSizeRules(2558) > 0.
Used to define the sizes applicable for fast market conditions.
For listed derivatives this indicates the minimum quantity necessary for an order or trade to qualify as a block trade.
Used for multileg security only.
Used for multileg security only.
Defines the default price type used for trading.
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.
OrdTypeRulesRepeating groupCount tag 1237—
Used to specify the order types that are valid for trading on the identified market or market segment.
OrdTypeRules definition & usage →
Number of order types
Indicates order types that are valid for the specified market segment.
TimeInForceRulesRepeating groupCount tag 1239—
Used to specify the time in force rules that are valid for trading on the identified market or market segment.
TimeInForceRules definition & usage →
Number of time in force techniques
Indicates time in force techniques that are valid for the specified market segment
ExecInstRulesRepeating groupCount tag 1232—
Used to specify the execution instructions that are valid for trading on the identified market or market segment.
ExecInstRules definition & usage →
Number of execution instructions
Indicates execution instructions that are valid for the specified market segment
AuctionTypeRuleGrpRepeating groupCount tag 2548—
Used to specify the auction order types that are valid for trading on the identified market or market segment.
AuctionTypeRuleGrp definition & usage →
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.
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.
MarketDataFeedTypesRepeating groupCount tag 1141—
Used to specify the market data feed types that are valid for trading on the identified market or market segment.
MarketDataFeedTypes definition & usage →
Required if NoMDFeedTypes(1141) > 0.
Specifies the depth of book (or levels of market depth) for the feed type.
Conditionally required when MarketDepthTimeIntervalUnit(2564) is specified.
Conditionally required when MarketDataTimeInterval(2563) is specified.
Conditionally required when MDRecoveryTimeIntervalUnit(2566) is specified.
Conditionally required when MDRecoveryTimeInterval(2565) is specified.
MatchRulesRepeating groupCount tag 1235—
Used to specify the matching rules that are valid for trading on the identified market or market segment.
MatchRules definition & usage →
Required if NoMatchRules(1235) > 0.
Can be used to limit match rule to specific product suite.
Can be used to give customer orders priority for the given matching algorithm.
FlexProductEligibilityGrpRepeating groupCount tag 2560—
Specifies the eligibility indicators for the creation of flexible securities.
FlexProductEligibilityGrp definition & usage →
Required if NoFlexProductEligibilities(2560) > 0.
Required if NoFlexProductEligibilities(2560) > 0.
Used to specify a product suite related to an eligibility indicator.
PartiesRepeating groupCount tag 453—
Specifies parties relevant for the market or market segment, e.g. market makers.
Repeating group below should contain unique combinations of PartyID, PartyIDSource, and PartyRole
Required if NoPartyIDs(453) > 0.
Identification of the party.
Required if NoPartyIDs(453) > 0.
Used to identify classification source.
Required if NoPartyIDs(453) > 0.
Identifies the type of PartyID(448).
PtysSubGrpRepeating groupCount tag 802—
Repeating group of Party sub-identifiers.
PtysSubGrp definition & usage →
MiscFeesGrpRepeating groupCount tag 136—
MiscFeesGrp definition & usage →
Required if any miscellaneous fees are reported. Indicates number of repeating entries.
Required if NoMiscFees(136) > 0.
Required if NoMiscFees(136) > 0.
MiscFeesSubGrpRepeating groupCount tag 2633—
MiscFeesSubGrp definition & usage →
Required if NoMiscFeeSubTypes(2633) > 0.
Must be set if EncodedMiscFeeSubTypeDesc(2638) field is specified and must immediately precede it.
Encoded (non-ASCII characters) representation of the MiscFeeSubTypeDesc(2636) field in the encoded format specified via the MessageEncoding(347) field.
Must be set if EncodedText(355) field is specified and must immediately precede it.
Encoded (non-ASCII characters) representation of the Text(58) field in the encoded format specified via the MessageEncoding(347) field.
StandardTrailerComponentRequired
StandardTrailer definition & usage →
Required when trailer contains signature. Note: Not to be included within SecureData field
Note: Not to be included within SecureData field
(Always unencrypted, always last field in message)