Skip to content

FIX MESSAGE 35=X

MarketDataIncrementalRefresh

MsgType (35) = XMarketDataAdded FIX.4.2

Definition

The second Market Data message format is used for incremental updates.

FIX 4.2 group names/IDs were assigned during the official Orchestra translation; some mappings to later versions are approximate. This layout stays within the 4.2 source.

Message structure 88 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 = X

    1. 8 BeginStringStringRequired here

      FIX.4.2 (Always unencrypted, must be first field in message)

    2. 9 BodyLengthintRequired here

      (Always unencrypted, must be second field in message)

    3. 35 MsgTypeStringRequired here

      (Always unencrypted, must be third field in message)

    4. 49 SenderCompIDStringRequired here

      (Always unencrypted)

    5. 56 TargetCompIDStringRequired here

      (Always unencrypted)

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

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

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

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

    10. 34 MsgSeqNumintRequired here

      (Can be embedded within encrypted data section.)

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

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

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

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

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

    16. 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.)

    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. 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.)

    20. 97 PossResendBoolean

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

    21. 52 SendingTimeUTCTimestampRequired here

      (Can be embedded within encrypted data section.)

    22. 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.)

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

    24. Can contain an XML-formatted message block (e.g. FIXML). Always immediately follows XmlDataLen field. (Can be embedded within encrypted data section.) See Appendix M – FIXML Support

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

    26. The last MsgSeqNum value received and processed. Can be specified on every message sent. Useful for detecting a backlog with a counterparty.

    27. Used when a message is sent via a "hub" or "service bureau". If A sends to Q (the hub) who then sends to B via a separate FIX session, then when Q sends to B the value of this field should represent the SendingTime on the message A sent to Q. (always expressed in UTC (Universal Time Coordinated, also known as "GMT")

  2. 262 MDReqIDString

    Conditionally required if this message is in response to a Market Data Request.

  3. MDIncGrpRepeating groupCount tag 268Required

    Number of entries following.

    1. 268 NoMDEntriesGroup countRequired here
    2. 279 MDUpdateActioncharRequired here

      Must be first field in this repeating group.

    3. If MDUpdateAction = Delete(2), can be used to specify a reason for the deletion.

    4. Conditionally required if MDUpdateAction = New(0). Cannot be changed.

    5. 278 MDEntryIDString

      If specified, must be unique among currently active entries if MDUpdateAction = New (0), must be the same as a previous MDEntryID if MDUpdateAction = Delete (2), and must be the same as a previous MDEntryID if MDUpdateAction = Change (1) and MDEntryRefID is not specified, or must be unique among currently active entries if MDUpdateAction = Change(1) and MDEntryRefID is specified..

    6. If MDUpdateAction = New(0), for the first Market Data Entry in a message, either this field or a Symbol must be specified. If MDUpdateAction = Change(1), this must refer to a previous MDEntryID.

    7. 55 SymbolString

      Either Symbol or MDEntryRefID must be specified if MDUpdateAction = New(0) for the first Market Data Entry in a message. For subsequent Market Data Entries where MDUpdateAction = New(0), the default is the instrument used in the previous Market Data Entry if neither Symbol nor MDEntryRefID are specified, or in the case of options and futures, the previous instrument with changes specified in MaturityMonthYear, MaturityDay, PutOrCall, StrikePrice, OptAttribute, and SecurityExchange. May not be changed.

    8. 65 SymbolSfxString

      May not be changed.

    9. 48 SecurityIDString

      May not be changed.

    10. 22 IDSourceString

      May not be changed.

    11. Must be specified if a Future or Option. If a Future: Symbol, SecurityType, and MaturityMonthYear are required. If an Option: Symbol, SecurityType, MaturityMonthYear, PutOrCall, and StrikePrice are required. May not be changed.

    12. Specifies the month and year of maturity. Required if MaturityDay is specified. May not be changed.

    13. 205 MaturityDayDayOfMonth

      Can be used in conjunction with MaturityMonthYear to specify a particular maturity date. May not be changed.

    14. For Options. May not be changed.

    15. For Options. May not be changed.

    16. For Options. May not be changed.

    17. For Fixed Income, Convertible Bonds, Derivatives, etc. Note: If used, quantities should be expressed in the "nominal" (e.g. contracts vs. shares) amount.

    18. For Fixed Income.

    19. Can be used to identify the security. May not be changed.

    20. 106 IssuerString

      May not be changed.

    21. Must be set if EncodedIssuer field is specified and must immediately precede it.

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

    23. May not be changed.

    24. Must be set if EncodedSecurityDesc field is specified and must immediately precede it.

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

    26. Conditionally required when MDUpdateAction = New(0).

    27. 15 CurrencyCurrency

      Can be used to specify the currency of the quoted price.

    28. Conditionally required when MDUpdateAction = New(0) andMDEntryType = Bid(0), Offer(1), or Trade(2).

    29. 272 MDEntryDateUTCDate
    30. 273 MDEntryTimeUTCTimeOnly
    31. 275 MDMktExchange

      Market posting quote / trade. Valid values: See Appendix C

    32. 276 QuoteConditionMultipleValueString

      Space-delimited list of conditions describing a quote.

    33. 277 TradeConditionMultipleValueString

      Space-delimited list of conditions describing a trade

    34. 284 DeskIDString
    35. Used if MDEntryType = Opening Price(4), Closing Price(5), or Settlement Price(6).

    36. For optional use when this Bid or Offer represents an order

    37. 432 ExpireDateLocalMktDate

      For optional use when this Bid or Offer represents an order. ExpireDate and ExpireTime cannot both be specified in one Market Data Entry.

    38. 126 ExpireTimeUTCTimestamp

      For optional use when this Bid or Offer represents an order. ExpireDate and ExpireTime cannot both be specified in one Market Data Entry.

    39. For optional use when this Bid or Offer represents an order

    40. 18 ExecInstMultipleValueString

      Can contain multiple instructions, space delimited.

    41. 37 OrderIDString

      For optional use when this Bid, Offer, or Trade represents an order

    42. For optional use when this Bid, Offer, or Trade represents a quote

    43. For optional use in reporting Trades

    44. For optional use in reporting Trades

    45. In an Aggregated Book, used to show how many individual orders make up an MDEntry

    46. Display position of a bid or offer, numbered from most competitive to least competitive, per market side, beginning with 1

    47. Total volume traded in this trading session for this security.

    48. 58 TextString

      Text to describe the Market Data Entry. Part of repeating group.

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

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

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

    2. Note: Not to be included within SecureData field

    3. 10 CheckSumStringRequired here

      (Always unencrypted, always last field in message)