====== MarketData Snapshot ======
Describing Market Data
----------------------
The T4 FIX API supports streaming of market data with the Market Data Snapshot message (Tag 35=W).
The Market Data Snapshot messages are used as the response to a Market Data Request message. They can be used to transmit a list of quotes, a list of trades, index values, opening, closing, settlement, high, low, the trade volume or open interest for a security, or any combination of these. Market Data Snapshot messages sent as the result of a Market Data Request message will specify the corresponding MDReqID (Tag 262). Unsolicited Market Data Snapshot messages may also be received by a T4 FIX client.
The Market Data message format used for a Snapshot (Tag 263=0), or a Snapshot + Updates (Tag 263=1) 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, are sent in one Market Data Snapshot message.
Matching Snapshots against Market Data Requests
-----------------------------------------------
Market Data Snapshot messages can be matched (by the FIX API client) through either the (unique) SecurityID (Tag 48) or by the Request ID (MDReqID - Tag 262) of the Market Data Request that initiated the streaming. SecurityID (Tag 48) is the default identification mechanism. If the client requests to identify by MDReqID, the SecurityID will not be included in the market data snapshot message (and vice versa).
Message Dictionary
------------------
^ Tag ^ Field Name ^ Req'd ^ Comments ^
| Standard Header | Y | |
| 262 | MDReqID | N | Identifier of Market Data Request. |
| 48 | SecurityID | N | Security Identifier. T4 Market ID. |
| 55 | Symbol | N | Symbol. T4 Contract ID. |
| 207 | SecurityExchange | N | Security Exchange. T4 Exchange ID. |
| 387 | TotalVolumeTraded | N | Total quantity of volume traded across all levels. |
| 965 | SecurityStatus | N | Market Status of Security. Valid values: 0 = Undefined; 1 = PreOpen; 2 = Open; 3 = RestrictedOpen; 4 = PreClosed; 5 = Closed; 6 = Suspended; 7 = Halted; 8 = Failed; 9 = PreCross; 10 = Cross; 11 = Expired; 12 = Rejected; 13 = Unavailable |
| 268 | NoMDEntries | Y | Number of Market Data entries to follow |
| 269 | MDEntryType | Y | 0 = Bid; 1 = Offer; 2 = Implied Bid; 3 = Implied Offer; 4 = Last Trade; 6 = Settlement; 7 = Session High; 8 = Session Low; 9 = Session Open; K = Limit High; L = Limit Low; B = Trade Volume |
| 278 | MDEntryID | N | Market ID |
| 270 | MDEntryPx | N | Entry Price. |
| 271 | MDEntrySize | N | Entry Size (or Volume). |
| 273 | MDEntryTime | N | Time for current entry. |
| 274 | TickDirection | N | Whether the trade occurred at the bid or offer. Valid values: -1 = Undefined; 0 = AtTheOffer; 2 = AtTheBid |
| 277 | TradeCondition | N | Whether the trade occurred as a result of a spread. Valid value: AA = Due to Spread. |
| 1023 | MDEntryLevel | N | Book level this entry pertains to; integer from 1 to 10. |
| 1020 | TradeVolume | N | Trade volume for this MDEntry. |
| 75 | TradeDate | N | Trade date for this MDEntry (format YYYYMMDD). |
| 3301 | OrderVolumes | N | Order Volumes that make up a trade (if available). Only applicable to MDEntryType = 4. Volumes separated by semicolon (";"). |
| Standard Trailer | Y | |
Sample Messages
Market Data Snapshot of Market with a 1 book level (Top of Book)
<< 10/11/2012 2:58:04 PM [fixmarketdatasnapshot] 34=11479|49=T4|56=T4Example|50=T4FIX|52=20121011-19:58:03.971|55=ZT|48=CME_20121200_ZTZ2|207=CME_F|387=4785|268=5|269=0|270=110.203125|271=224|1023=1|269=1|270=110.21875|271=326|1023=1|269=2|270=110.1875|271=1|1023=1|269=3|270=110.21875|271=3|1023=1|269=4|270=110.2109375|271=1|
[FIXMARKETDATASNAPSHOT]
[MsgSeqNum] 34 = 11479
[SenderCompID] 49 = T4
[TargetCompID] 56 = T4Example
[SenderSubID] 50 = T4FIX
[SendingTime] 52 = 20121011-19:58:03.971
[Symbol] 55 = ZT
[SecurityID] 48 = CME_20121200_ZTZ2
[SecurityExchange] 207 = CME_F
[TotalVolumeTraded] 387 = 4785
[NoMDEntries] 268 = 5
[MDEntryType] 269 = 0 (BID)
[MDEntryPx] 270 = 110.203125
[MDEntrySize] 271 = 224
[MDPriceLevel] 1023 = 1
[MDEntryType] 269 = 1 (OFFER)
[MDEntryPx] 270 = 110.21875
[MDEntrySize] 271 = 326
[MDPriceLevel] 1023 = 1
[MDEntryType] 269 = 2 (IMPLIED_BID)
[MDEntryPx] 270 = 110.1875
[MDEntrySize] 271 = 1
[MDPriceLevel] 1023 = 1
[MDEntryType] 269 = 3 (IMPLIED_OFFER)
[MDEntryPx] 270 = 110.21875
[MDEntrySize] 271 = 3
[MDPriceLevel] 1023 = 1
[MDEntryType] 269 = 4 (TRADE)
[MDEntryPx] 270 = 110.2109375
[MDEntrySize] 271 = 1
Market Data Snapshot for non-book entries
<< 10/11/2012 2:58:04 PM [fixmarketdatasnapshot] 34=11480|49=T4|56=T4Example|50=T4FIX|52=20121011-19:58:04.002|55=ZT|48=CME_20121200_ZTZ2|207=CME_F|268=22|269=6|270=110.21875|269=7|270=110.21875|269=7|270=110|269=B|270=0|271=4785|1023=0|269=B|270=110|271=260|1023=1|269=B|270=110.0078125|271=10|1023=2|269=B|270=110.0234375|271=10|1023=3|269=B|270=110.0390625|271=80|1023=4|269=B|270=110.0546875|271=10|1023=5|269=B|270=110.0703125|271=10|1023=6|269=B|270=110.0859375|271=10|1023=7|269=B|270=110.1015625|271=10|1023=8|269=B|270=110.1171875|271=10|1023=9|269=B|270=110.1328125|271=25|1023=10|269=B|270=110.1484375|271=20|1023=11|269=B|270=110.15625|271=50|1023=12|269=B|270=110.1640625|271=35|1023=13|269=B|270=110.1796875|271=25|1023=14|269=B|270=110.1953125|271=156|1023=15|269=B|270=110.203125|271=21|1023=16|269=B|270=110.2109375|271=4012|1023=17|269=B|270=110.21875|271=31|1023=18|
[FIXMARKETDATASNAPSHOT]
[MsgSeqNum] 34 = 11480
[SenderCompID] 49 = T4
[TargetCompID] 56 = T4Example
[SenderSubID] 50 = T4FIX
[SendingTime] 52 = 20121011-19:58:04.002
[Symbol] 55 = ZT
[SecurityID] 48 = CME_20121200_ZTZ2
[SecurityExchange] 207 = CME_F
[NoMDEntries] 268 = 22
[MDEntryType] 269 = 6 (SETTLEMENT_PRICE)
[MDEntryPx] 270 = 110.21875
[MDEntryType] 269 = 7 (TRADING_SESSION_HIGH_PRICE)
[MDEntryPx] 270 = 110.21875
[MDEntryType] 269 = 7 (TRADING_SESSION_HIGH_PRICE)
[MDEntryPx] 270 = 110
[MDEntryType] 269 = B (TRADE_VOLUME)
[MDEntryPx] 270 = 0
[MDEntrySize] 271 = 4785
[MDPriceLevel] 1023 = 0
[MDEntryType] 269 = B (TRADE_VOLUME)
[MDEntryPx] 270 = 110
[MDEntrySize] 271 = 260
[MDPriceLevel] 1023 = 1
[MDEntryType] 269 = B (TRADE_VOLUME)
[MDEntryPx] 270 = 110.0078125
[MDEntrySize] 271 = 10
[MDPriceLevel] 1023 = 2
[MDEntryType] 269 = B (TRADE_VOLUME)
[MDEntryPx] 270 = 110.0234375
[MDEntrySize] 271 = 10
[MDPriceLevel] 1023 = 3
[MDEntryType] 269 = B (TRADE_VOLUME)
[MDEntryPx] 270 = 110.0390625
[MDEntrySize] 271 = 80
[MDPriceLevel] 1023 = 4
[MDEntryType] 269 = B (TRADE_VOLUME)
[MDEntryPx] 270 = 110.0546875
[MDEntrySize] 271 = 10
[MDPriceLevel] 1023 = 5
[MDEntryType] 269 = B (TRADE_VOLUME)
[MDEntryPx] 270 = 110.0703125
[MDEntrySize] 271 = 10
[MDPriceLevel] 1023 = 6
[MDEntryType] 269 = B (TRADE_VOLUME)
[MDEntryPx] 270 = 110.0859375
[MDEntrySize] 271 = 10
[MDPriceLevel] 1023 = 7
[MDEntryType] 269 = B (TRADE_VOLUME)
[MDEntryPx] 270 = 110.1015625
[MDEntrySize] 271 = 10
[MDPriceLevel] 1023 = 8
[MDEntryType] 269 = B (TRADE_VOLUME)
[MDEntryPx] 270 = 110.1171875
[MDEntrySize] 271 = 10
[MDPriceLevel] 1023 = 9
[MDEntryType] 269 = B (TRADE_VOLUME)
[MDEntryPx] 270 = 110.1328125
[MDEntrySize] 271 = 25
[MDPriceLevel] 1023 = 10
[MDEntryType] 269 = B (TRADE_VOLUME)
[MDEntryPx] 270 = 110.1484375
[MDEntrySize] 271 = 20
[MDPriceLevel] 1023 = 11
[MDEntryType] 269 = B (TRADE_VOLUME)
[MDEntryPx] 270 = 110.15625
[MDEntrySize] 271 = 50
[MDPriceLevel] 1023 = 12
[MDEntryType] 269 = B (TRADE_VOLUME)
[MDEntryPx] 270 = 110.1640625
[MDEntrySize] 271 = 35
[MDPriceLevel] 1023 = 13
[MDEntryType] 269 = B (TRADE_VOLUME)
[MDEntryPx] 270 = 110.1796875
[MDEntrySize] 271 = 25
[MDPriceLevel] 1023 = 14
[MDEntryType] 269 = B (TRADE_VOLUME)
[MDEntryPx] 270 = 110.1953125
[MDEntrySize] 271 = 156
[MDPriceLevel] 1023 = 15
[MDEntryType] 269 = B (TRADE_VOLUME)
[MDEntryPx] 270 = 110.203125
[MDEntrySize] 271 = 21
[MDPriceLevel] 1023 = 16
[MDEntryType] 269 = B (TRADE_VOLUME)
[MDEntryPx] 270 = 110.2109375
[MDEntrySize] 271 = 4012
[MDPriceLevel] 1023 = 17
[MDEntryType] 269 = B (TRADE_VOLUME)
[MDEntryPx] 270 = 110.21875
[MDEntrySize] 271 = 31
[MDPriceLevel] 1023 = 18
[[developers:legacy_fix_api|T4 FIX API Home]]