The Snapshot request will return only one set of data without further updates. It can be used to receive 2-sided orderbooks, trades, highs, lows or any combination of these.
Market Data Snapshot Full Refresh messages will contains the entirety of the data requested for that instrument.
Receiving Market Data in a streaming sesison (using Incremental Refresh messages) can creates an issue with lost packets. The Market Data Snapshot Full Refresh message is ideal to resync periodically the state of your local book. Upon XCDE system restart, the data flow will always begin with a snapshot of each instrument.
When connecting to a streaming data feed, or after a loss of data, Users should process Snapshot messages to recover their orderbook. Once recovered, Users can ignore snapshots that have RefreshIndicator = N. If RefreshIndicator = Y then the User should discard their data and replace it with the information in the Snapshot message.
Message parameters (In response to a MarketDataRequest message)
Field Name
Format
Req'd
Comments
MsgType
String
✓
W = MarketDataSnapshotFullRefresh
MsgSeqNum
SeqNum
✓
User generated incremental number to allow receiver to identify possible message gaps
SendingTime
UTCTimestamp
✓
Time of sending this message
TotNumReports
Int
Total number or reports returned in response to a request.
MDReportID
Int
Unique indentifier for Market Data Report
ClearingBusinessDate
LocalMktDate
20220826 with date changing at 5pm NY
MarketDepth
Int
0 = full book depth 1 = top of book
TradeDate
LocalMktDate
Used to specify the trading date (in local NY calendar date)
MDReqID
String
Will echo back the Market Data Request ID.
Component block
<Instrument>
>
Symbol
String
BTC/USD-1w-R for the 1 week BTC/USD Repo
Component block
<MDFullGrp>
>
MDEntryType
Char
Any of the supported fields: 0 = Bid 1 = Offer 2 = Trade 7 = Trading Session High Price 8 = Trading Session Low Price N = Session High Bid O = Session Low Offer
>
MDEntryPx
Price
2.47 → this is the Swap price with full precision
>
MDEntrySize
Qty
Required if MDEntryType = Bid(0), Offer(1), Trade(2) )
>
TradingSessionID
String
E.g. 20220826
>
SecurityTradingStatus
Int
Supported values: 2 = Trading halt 3 = Resume 18 = Not available for trading (end of session) 20 = Unknown or Invalid 23 = Fast Market
>
HaltReason
Int
Only if Instrument is halted, with possible reasons: 1 = Order Influx 5 = Equipment Changeover
>
NumberOfOrders
Int
In an Aggregated Book, used to show how many individual orders make up an MDEntry
>
Text
String
Text to describe the Market Data Entry. Part of repeating group.
>
MDPriceLevel
Int
Display position of a bid or offer, numbered from most competitive to least competitive, per market side, beginning with 1
>
MDEntrySpotRate
For Bid, Offer and Last, reference price for Near_Leg at the time
Add Comment