Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
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 | ||||||
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: | |||||
> | 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: | |||||
> | HaltReason | Int | Only if Instrument is halted, with possible reasons: | |||||
> | 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 |
Example message:
Code Block |
---|
MsgType: W MsgSeqNum: 8237684657 SendingTime: 20220906-23:37:42.065 MDReportID: hgsf55429ks9 ClearingBusinessDate: 20220906 MarketDepth: 1 TradeDate: 20220907 MDReqID: g6542m8 Symbol: BTC/USD-ID-R MDEntryType: 0 MDEntryPx: -1.35 MDEntrySize: 150 TradingSessionID: 20220907 NumberOfOrders: 3 MDPriceLevel: 1 MDEntrySpotRate: 19,128 |
Code Block | ||
---|---|---|
| ||
{ "Header": { "MsgType": "W", "MsgSeqNum": "8237684657", "SenderCompID": "SENDER", "TargetCompID": "TARGET", "SendingTime": "20220906-23:37:42.065" }, "MDReportID": "hgsf55429ks9", "ClearingBusinessDate": "20220906", "MarketDepth": "1", "TradeDate": "20220907", "MDReqID": "g6542m8", "Instrument": { "Symbol": "BTC/USD-ID-R" }, "MDFullGrp": [ { "MDEntryType": "0", "MDEntryPx": "-1.35", "MDEntrySize": "150", "TradingSessionID": "20220907", "NumberOfOrders": "3", "MDPriceLevel": "1", "MDEntrySpotRate": "19128" } ] } |