developers:fixapi:marketdatasnapshotfullrefresh

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
developers:fixapi:marketdatasnapshotfullrefresh [2025/09/12 01:23] – ↷ Page moved and renamed from developers:fixapi.marketdatasnapshotfullrefresh to developers:fixapi:marketdatasnapshotfullrefresh chaddevelopers:fixapi:marketdatasnapshotfullrefresh [2025/09/17 01:20] (current) chad
Line 1: Line 1:
-====== MarketData Snapshot ======+====== MARKET DATA SNAPSHOT [35=W] ======
  
-Describing Market Data +The Market Data Snapshot message provides complete market state including depth, trades, and statistics.
-----------------------+
  
-The T4 FIX API supports streaming of market data with the Market Data Snapshot message (Tag 35=W).+===== Message Structure ===== 
 +  * Contains entire book state (not just changes) 
 +  * Each update sends complete snapshot 
 +  * Both bid and offer sides included 
 +  * Matched via SecurityID (48) or MDReqID (262)
  
-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.+===== Message Specification =====
  
-The Market Data message format used for a Snapshot (Tag 263=0), or a Snapshot + Updates (Tag 263=1) is as followsFor 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.+**Message Direction:** T4 → Client
  
-Matching Snapshots against Market Data Requests +^ Tag ^ Field Name ^ Type ^ Req'd ^ Description ^ 
------------------------------------------------+| | **Message Header** | | Y | MsgType = W | 
 +| 262 | MDReqID | String | O | Original request ID | 
 +| 48 | SecurityID | String | O | T4 Market ID | 
 +| 55 | Symbol | String | O | T4 Contract ID | 
 +| 207 | SecurityExchange | String | O | T4 Exchange ID | 
 +| 387 | TotalVolumeTraded | Int | O | Total volume across all levels | 
 +| 965 | SecurityStatus | Int | O | 2=Open, 5=Closed, 6=Suspended | 
 +| 268 | NoMDEntries | Int | Y | Number of market data entries | 
 +| →269 | MDEntryType | Char | Y | Entry type (see table) | 
 +| →270 | MDEntryPx | Float | O | Price | 
 +| →271 | MDEntrySize | Int | O | Size/Volume | 
 +| →273 | MDEntryTime | UTCTimestamp | O | Entry time | 
 +| →274 | TickDirection | Int | O | 0=At offer, 2=At bid | 
 +| →277 | TradeCondition | String | O | AA=Due to spread | 
 +| →1023 | MDPriceLevel | Int | O | Book level (1-10) | 
 +| →1020 | TradeVolume | Int | O | Trade volume | 
 +| →75 | TradeDate | LocalMktDate | O | Format: YYYYMMDD | 
 +| →3301 | OrderVolumes | String | O | Semicolon-delimited volumes | 
 +| | **Message Trailer** | | Y | |
  
-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).+===== MDEntryType Values ===== 
 +^ Type ^ Value ^ Description ^ 
 +| 0 | Bid | Bid price/size | 
 +| 1 | Offer | Offer price/size | 
 +| 2 | Implied Bid | Implied bid | 
 +| 3 | Implied Offer | Implied offer | 
 +| 4 | Trade | Last trade | 
 +| 6 | Settlement | Settlement price | 
 +| 7 | High | Session high | 
 +| 8 | Low | Session low | 
 +| B | Volume | Trade volume | 
 +| K | Limit High | Price limit high | 
 +| L | Limit Low | Price limit low |
  
-Message Dictionary +===== Sample Messages =====
-------------------+
  
-^ Tag  ^ Field Name  ^ Req' ^ Comments +**Top of Book Snapshot:**
-| 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)+
 <code> <code>
-<< 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| +8=FIX.4.2|9=250|35=W|49=T4|56=T4Example|50=T4FIX|52=20121011-19:58:03.971| 
-[FIXMARKETDATASNAPSHOT] +55=ZT|48=CME_20121200_ZTZ2|207=CME_F|387=4785|268=5| 
-[MsgSeqNum] 34 11479 +269=0|270=110.203125|271=224|1023=1| 
-[SenderCompID] 49 = T4 +269=1|270=110.21875|271=326|1023=1| 
-[TargetCompID] 56 = T4Example +269=2|270=110.1875|271=1|1023=1| 
-[SenderSubID] 50 = T4FIX +269=3|270=110.21875|271=3|1023=1| 
-[SendingTime] 52 = 20121011-19:58:03.971 +269=4|270=110.2109375|271=1|10=123|
-[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+
 </code> </code>
-Market Data Snapshot for non-book entries+ 
 +**Statistics Snapshot:**
 <code> <code>
-<< 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| +8=FIX.4.2|9=200|35=W|49=T4|56=T4Example|50=T4FIX|52=20121011-19:58:04.002| 
-[FIXMARKETDATASNAPSHOT] +55=ZT|48=CME_20121200_ZTZ2|207=CME_F|268=3| 
-[MsgSeqNum] 34 = 11480 +269=6|270=110.21875| 
-[SenderCompID] 49 = T4 +269=7|270=110.21875| 
-[TargetCompID] 56 = T4Example +269=8|270=110|10=234|
-[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+
 </code> </code>
  
- +===== Notes ===== 
-[[developers:legacy_fix_api|T4 FIX API Home]] +  * Complete book sent on every update 
 +  * Level 1023=0 indicates aggregate volume 
 +  * SecurityID or MDReqID present (not both) 
 +  * Unsolicited snapshots may be received
  • developers/fixapi/marketdatasnapshotfullrefresh.txt
  • Last modified: 2025/09/17 01:20
  • by chad