Messages by MsgType |  Messages by Name |  Fields by Tag |  Fields by Name |  FIX 4.2 | Home

FIX 4.2 : Market Data - Snapshot/Full Refresh <W> message

Structure | Related Messages

Description

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 are tagged with 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:

  • The forex Symbol <55> is defined in "EBS" (Electronic Banking System) format: "CCY1/CCY2".
    • Rates are expressed as "currency1 in currency2" (or "currency2 per currency1") and are calculated as CCY2 divided by CCY1 (NOT CCY1 divided by CCY2)
    • e.g. "GBP/USD" represents a rate expressed as USD per GBP, "USD/JPY" represents a rate expressed as JPY per USD, etc.).
    • CCY1 and CCY2 are ISO currency codes
  • The value of the Currency <15> field represents the denomination of the quantity fields (e.g. JPY represents quantity of JPY).
  • See Appendix O – Foreign Exchange Trading

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:

  • For Market Data Requests where a Bid or Offer is added, changed, or deleted, every update to a Market Data Entry results in a new Market Data message that contains the entirety of the data requested for that instrument, not just the changed Market Data Entry. In other words, both sides of the market, or just one side in the case of a request of only bids or offers, for the depth requested, must be sent in one FIX Market Data message.
  • A Market Data message may contain several trades, an index value, opening, closing, settlement, high, low, and/or VWAP price for one instrument, but only one instrument per message.
  • Messages containing bids and/or offers cannot contain trades, index value, opening, closing, settlement, high, low, and/or VWAP prices.

Market Data - Snapshot / Full Refresh

Structure

Tag Field Name Req'd Comments
<MessageHeader> Y MsgType <35> = W
262 MDReqID N

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

55 Symbol Y
65 SymbolSfx N
48 SecurityID N
22 IDSource N
167 SecurityType N

Must be specified if a Future or Option. If a Future: Symbol <55>, SecurityType <167>, and MaturityMonthYear <200> are required. If an Option: Symbol <55>, SecurityType <167>, MaturityMonthYear <200>, PutOrCall <201>, and StrikePrice <202> are required.

200 MaturityMonthYear N

Specifiesthe month and year of maturity. Required if MaturityDay <205> is specified.

205 MaturityDay N

Can be used in conjunction with MaturityMonthYear <200> to specify a particular maturity date.

201 PutOrCall N

For Options.

202 StrikePrice N

For Options.

206 OptAttribute N

For Options.

231 ContractMultiplier N

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

223 CouponRate N

For Fixed Income.

207 SecurityExchange N

Can be used to identify the security.

106 Issuer N
348 EncodedIssuerLen N

Must be set if EncodedIssuer <349> field is specified and must immediately precede it.

349 EncodedIssuer N

Encoded (non-ASCII characters) representation of the Issuer <106> field in the encoded format specified via the MessageEncoding <347> field.

107 SecurityDesc N
350 EncodedSecurityDescLen N

Must be set if EncodedSecurityDesc <351> field is specified and must immediately precede it.

351 EncodedSecurityDesc N

Encoded (non-ASCII characters) representation of the SecurityDesc <107> field in the encoded format specified via the MessageEncoding <347> field.

291 FinancialStatus N
292 CorporateAction N
387 TotalVolumeTraded N

Total volume traded in this trading session for this security.

268 NoMDEntries Y

Number of entries following.

=> 269 MDEntryType Y

Must be the first field in this repeating group.

=> 270 MDEntryPx Y
=> 15 Currency N

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

=> 271 MDEntrySize N

Conditionally required if MDEntryType <269> = Bid(0), Offer(1), or Trade(2)

=> 272 MDEntryDate N
=> 273 MDEntryTime N
=> 274 TickDirection N
=> 275 MDMkt N

Market posting quote / trade. Valid values:

See Appendix C

=> 336 TradingSessionID N
=> 276 QuoteCondition N

Space-delimited list of conditions describing a quote.

=> 277 TradeCondition N

Space-delimited list of conditions describing a trade

=> 282 MDEntryOriginator N
=> 283 LocationID N
=> 284 DeskID N
=> 286 OpenCloseSettleFlag N

Used if MDEntryType <269> = Opening Price <44>(4), Closing Price <44>(5), or Settlement Price <44>(6).

=> 59 TimeInForce N

For optional use when this Bid or Offer represents an order

=> 432 ExpireDate N

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 N

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 N

For optional use when this Bid or Offer represents an order

=> 18 ExecInst N

Can contain multiple instructions, space delimited.

=> 287 SellerDays N
=> 37 OrderID N

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

=> 299 QuoteEntryID N

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

=> 288 MDEntryBuyer N

For optional use in reporting Trades

=> 289 MDEntrySeller N

For optional use in reporting Trades

=> 346 NumberOfOrders N

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

=> 290 MDEntryPositionNo N

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

=> 58 Text N

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

=> 354 EncodedTextLen N

Must be set if EncodedText <355> field is specified and must immediately precede it.

=> 355 EncodedText N

Encoded (non-ASCII characters) representation of the Text <58> field in the encoded format specified via the MessageEncoding <347> field.

<MessageTrailer> Y  

Related Messages

Onix Solutions