Market Data - Snapshot/Full Refresh (MsgType = W, FIXML = MarketData)

The Market Data messages are used as the response to a Market Data Request (V) message. In all cases, one Market Data message refers only to one Market Data Request (V) . It can be used to transmit a 2-sided book of orders or list of quotes, a list of trades, index values, opening, closing, settlement, high, low, or VWAP prices, or any combination of these.

Market Data messages sent as the result of a Market Data Request (V) message will specify the appropriate MDReqID (262) . Unsolicited Market Data messages can be sent; in such cases, MDReqID (262) will not be present.

If the message is used for foreign exchange, conventions for identifying the forex transaction are as follows:

Market Data messages include many fields, and not all are required to be used. A firm may, at its option, choose to send the minimum fields required, or may choose to send more information, such as tick direction, tagging of best quotes, etc.

Market Data messages can take two forms. The first Market Data (W) message format used for a Snapshot, or a Snapshot + Updates where MDUpdateType (265) = Full Refresh (0) is as follows:

Tag Field Name FIXML Req'd Comments
<Standard Message Header> Y MsgType = W
262 MDReqID MDReqID N Conditionally required if this message is in response to a Market Data Request (V) .
<Instrument> Y
291 FinancialStatus FinancialStatus N
292 CorporateAction CorporateAction N
387 TotalVolumeTraded TotalVolumeTraded N Total volume traded in this trading session for this security.
449 TotalVolumeTradedDate TotalVolumeTradedDate N
450 TotalVolumeTradedTime TotalVolumeTradedTime N
451 NetChgPrevDay NetChgPrevDay N
268 NoMDEntries NoMDEntries Y Number of entries following.
=> 269 MDEntryType MDEntryType Y Must be the first field in this repeating group.
=> 270 MDEntryPx MDEntryPx C Conditionally required if MDEntryType (269) is not Imbalance(A)
=> 15 Currency Currency N Can be used to specify the currency of the quoted price
=> 271 MDEntrySize MDEntrySize C Conditionally required if MDEntryType (269) = Bid(0), Offer(1), or Trade(2)
=> 272 MDEntryDate MDEntryDate N
=> 273 MDEntryTime MDEntryTime N
=> 274 TickDirection TickDirection N
=> 275 MDMkt MDMkt N Market posting quote / trade. Valid values: See Appendix C of FIX Specification
=> 336 TradingSessionID TradingSessionID N
=> 625 TradingSessionSubID TradingSessionSubID N
=> 276 QuoteCondition QuoteCondition N Space-delimited list of conditions describing a quote.
=> 277 TradeCondition TradeCondition N Space-delimited list of conditions describing a trade
=> 282 MDEntryOriginator MDEntryOriginator N
=> 283 LocationID MMLocationID N
=> 284 DeskID DeskID N
=> 286 OpenCloseSettleFlag OpenCloseSettleFlag N Used if MDEntryType (269) = Opening Price(4), Closing Price(5), or Settlement Price(6).
=> 59 TimeInForce OrderDuration N For optional use when this Bid or Offer represents an order
=> 432 ExpireDate ExpireDate C For optional use when this Bid or Offer represents an order. ExpireDate (432) and ExpireTime (126) cannot both be specified in one Market Data Entry.
=> 126 ExpireTime ExpireTime C For optional use when this Bid or Offer represents an order. ExpireDate (432) and ExpireTime (126) cannot both be specified in one Market Data Entry.
=> 110 MinQty MinQty N For optional use when this Bid or Offer represents an order
=> 18 ExecInst ExecInst N Can contain multiple instructions, space delimited.
=> 287 SellerDays SellerDays N
=> 37 OrderID OrderID N For optional use when this Bid, Offer, or Trade represents an order
=> 299 QuoteEntryID QuoteEntryID N For optional use when this Bid, Offer, or Trade represents a quote
=> 288 MDEntryBuyer MDEntryBuyer N For optional use in reporting Trades
=> 289 MDEntrySeller MDEntrySeller N For optional use in reporting Trades
=> 346 NumberOfOrders NumberOfOrders N In an Aggregated Book, used to show how many individual orders make up an MDEntry
=> 290 MDEntryPositionNo MDEntryPositionNo N Display position of a bid or offer, numbered from most competitive to least competitive, per market side, beginning with 1
=> 546 Scope Scope N
=> 58 Text Text N Text to describe the Market Data Entry. Part of repeating group.
=> 354 EncodedTextLen EncodedTextLen C Must be set if EncodedText (355) field is specified and must immediately precede it.
=> 355 EncodedText EncodedText C Encoded (non-ASCII characters) representation of the Text (58) field in the encoded format specified via the MessageEncoding (347) field.
<Standard Message Trailer> Y