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, the trade volume or open interest for a security, 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 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 | @ReqID | N | Conditionally required if this message is in response to a Market Data Request (V) . | |||
| <Instrument> | Y | ||||||
| 711 | NoUnderlyings | Undly | N | Number of underlyings | |||
| => | <Underlying Instrument> | C | Must be provided if Number of underlyings > 0 | ||||
| 555 | NoLegs | Leg | N | Used for multileg instruments | |||
| => | <Instrument Leg> | C | Used for multileg instruments. For Swaps one leg is Buy and other leg is Sell | ||||
| 291 | FinancialStatus | @FinclStat | N | ||||
| 292 | CorporateAction | @CorpActn | N | ||||
| 451 | NetChgPrevDay | @NetChgPrevDay | N | ||||
| 268 | NoMDEntries | Full | Y | Number of entries following. | |||
| => | 269 | MDEntryType | @Typ | Y | Must be the first field in this repeating group. | ||
| => | 270 | MDEntryPx | @Px | C | Conditionally required if MDEntryType (269) is not Imbalance(A), Trade Volume (B), or Open Interest(C) | ||
| => | 15 | Currency | @Ccy | N | Can be used to specify the currency of the quoted price. | ||
| => | 271 | MDEntrySize | @Sz | C | Conditionally required if MDEntryType (269) = Bid(0), Offer(1), Trade(2), Trade Volume (B), or Open Interest(C) | ||
| => | 272 | MDEntryDate | @Dt | N | |||
| => | 273 | MDEntryTime | @Tm | N | |||
| => | 274 | TickDirection | @TickDirctn | N | |||
| => | 275 | MDMkt | @Mkt | N | Market posting quote / trade. Valid values: See Volume 6: Appendix 6-C | ||
| => | 336 | TradingSessionID | @SesID | N | |||
| => | 625 | TradingSessionSubID | @SesSub | N | |||
| => | 276 | QuoteCondition | @QCond | N | Space-delimited list of conditions describing a quote. | ||
| => | 277 | TradeCondition | @TrdCond | N | Space-delimited list of conditions describing a trade | ||
| => | 282 | MDEntryOriginator | @Orig | N | |||
| => | 283 | LocationID | @LctnID | N | |||
| => | 284 | DeskID | @DeskID | N | |||
| => | 286 | OpenCloseSettlFlag | @OpenClsSettlFlag | N | Used if MDEntryType (269) = Opening Price(4), Closing Price(5), or Settlement Price(6). | ||
| => | 59 | TimeInForce | @TmInForce | N | For optional use when this Bid or Offer represents an order | ||
| => | 432 | ExpireDate | @ExpireDt | 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 | @ExpireTm | 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 | @OrdID | N | For optional use when this Bid, Offer, or Trade represents an order | ||
| => | 299 | QuoteEntryID | @EntryID | N | For optional use when this Bid, Offer, or Trade represents a quote | ||
| => | 288 | MDEntryBuyer | @Buyer | N | For optional use in reporting Trades | ||
| => | 289 | MDEntrySeller | @Seller | N | For optional use in reporting Trades | ||
| => | 346 | NumberOfOrders | @NumOfOrds | N | In an Aggregated Book, used to show how many individual orders make up an MDEntry | ||
| => | 290 | MDEntryPositionNo | @PosNo | 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 | |||
| => | 811 | PriceDelta | @PxDelta | N | |||
| => | 58 | Text | @Txt | N | Text to describe the Market Data Entry. Part of repeating group. | ||
| => | 354 | EncodedTextLen | @EncTxtLen | C | Must be set if EncodedText (355) field is specified and must immediately precede it. | ||
| => | 355 | EncodedText | @EncTxt | C | Encoded (non-ASCII characters) representation of the Text (58) field in the encoded format specified via the MessageEncoding (347) field. | ||
| 813 | ApplQueueDepth | @ApplQuDepth | N | Depth of application messages queued for transmission as of delivery of this message | |||
| 814 | ApplQueueResolution | @ApplQuResolution | N | Action taken to resolve application queuing | |||
| <Standard Message Trailer> | Y | ||||||
© 2026.
EPAM Systems. All Rights Reserved.
All material contained within the website is copyright of EPAM Systems, Inc. No material contained herein can be copied or otherwise used without the express permission of the copyright holder.