The following Market by Price (MBP) book recovery methods can be performed using the Incremental Market Data feed concurrently with one of the Recovery Services for faster recovery.
Book recovery methods for concurrent processing is only offered for MBP UDP book recovery. The functionality described in this section is not applicable to MBOFD, MBOLD and conflated TCP book recovery.
Book Recovery - Instrument Sequencing
In the Market Data Incremental Refresh (tag 35-MsgType=X) message, tag 83-RptSeq represents the sequence number per instrument.
Client systems can keep track of the instrument sequence number (tag 83-RptSeq) for every instrument by inspecting incoming data and determining whether there is a gap between tag 83-RptSeq values.
- If there is a gap between sequence numbers, it indicates that data was missed for the instrument when packet loss occurred.
- If there is no gap, the data can be used immediately, and it also indicates that the book for this instrument still has a correct, current state.
If a small amount of data has been missed, it may be probable that subsequent pieces of data are not affected. For example, If there are 10 instruments in a channel, and the missed packets contain data for 2 of these instruments, any subsequent messages containing data about the other instruments are still valid.
The client system must track the state of the book at all times with the FIX Market Data Incremental Refresh message (tag 35-MsgType=X) book update data blocks. It is possible, though not guaranteed, that a set of these book update data blocks can be used to construct the current, correct state of a book without prior book state knowledge. While client systems wait for the recovery of missing data, they may opt to also use a natural refresh algorithm to recover book state prior to recovering the lost data. Natural refresh can also be used to re-instate the top-of-book. Natural refresh should be used for multiple depth book updates only in conjunction with market recovery. Prior to beginning a natural refresh, the entire book should be emptied. Natural refresh assumes no prior knowledge of book state.
Book Recovery - Natural Refresh
The client system must track the state of the book at all times with the FIX Market Data Incremental Refresh message (tag 35-MsgType=X) book update data blocks. It is possible, though not guaranteed, that a set of these book update data blocks can be used to construct the current, correct state of a book without prior book state knowledge. While client systems wait for the recovery of missing data, they may opt to also use a natural refresh algorithm to recover book state prior to recovering the lost data. Natural refresh can also be used to re-instate the top-of-book. Natural refresh should be used for multiple depth book updates only in conjunction with market recovery. Prior to beginning a natural refresh, the entire book should be emptied. Natural refresh assumes no prior knowledge of book state.
The following example illustrates how natural refresh occurs. Note that in this example, using instructions 4 and 5, the top two levels of the offer book are known to be accurate. This portion of the book can then be displayed or used.
Natural Refresh is not guaranteed and should not be considered a definitive substitute for recovering lost data. Natural Refresh should only be used in conjunction with Market Recovery.
Example:
Starting book: 2 YEAR Bid 2 YEAR Process book update data blocks for the given instrument with a 5-deep book. 1. Update at Bid book level 3, price 99.03, quantity 15. FIX Syntax example of Update at Bid book level 3, price 99.03, quantity 15: 2 YEAR 2 YEAR 15 99.03 2. Update at Ask book level 3, price 99.93, quantity 40. 2 YEAR 2 YEAR 15 99.03 3. Update at Bid book level 2, price 99.04, quantity 25. FIX Syntax for Updating at Bid book level 2, price 99.04, quantity 25: 2 YEAR 2 YEAR 25 99.04 15 99.03 4. Update at Ask book level 2, price 99.92, quantity 40. FIX Syntax for Updating at Ask book level 2, price 99.92, quantity 40: 2 YEAR 2 YEAR 25 99.04 15 99.03 5. Update at Ask book level 1, price 99.91, quantity 25. FIX Syntax for Updating at Ask book level 1, price 99.91, quantity 25: 2 YEAR 2 YEAR 25 99.04 15 99.03 6. Update Bid book level 1, price 99.05, quantity 20. FIX Syntax for Updating Bid book level 1, price 99.05, quantity 20: 2 YEAR 2 YEAR 20 99.05 25 99.04 15 99.03 7. Update Bid book level 4, price 99.02, quantity 30. FIX Syntax for Updating Bid book level 4, price 99.02, quantity 30: 2 YEAR 2 YEAR 20 99.05 25 99.04 15 99.03 8. Update Ask book level 4, price 99.94, quantity 15. FIX Syntax for Updating Ask book level 4, price 99.94, quantity 15: 2 YEAR 2 YEAR 20 99.05 25 99.04 15 99.03 9. Insert Bid book level 5, price 99.01, quantity 20. FIX Syntax for Inserting Bid book level 5, price 99.01, quantity 20: 2 YEAR 2 YEAR 20 99.05 25 99.04 15 99.03 10. Insert Ask book level 5, price 99.95, quantity 10. FIX Syntax for Inserting Ask book level 5, price 99.95, quantity 10: 2 YEAR 2 YEAR 20 99.05 25 99.04 15 99.03 For all RV Curve spreads, BrokerTec U.S. Treasury Market Data offers a 2-deep best bid and ask. Implied book updates are denoted by: See also: Implied Book Processing. The MBP multiple-depth book can be used in conjunction with the implied prices book to create an accurate book for all instruments with implied functionality. To create a consolidated book, the multiple-depth book and the implied book must be built and managed separately, then consolidated to reflect the current state of the market.Ask Level Quantity Price Price Quantity Level 1 1 2 2 3 3 4 4 5 5 Bid Ask Level Quantity Price Price Quantity Level 1 1 2 2 3 3 4 4 5 5
FIX Syntax for Updating at Ask book level 3, price 99.93, quantity 40:Bid Bid Level Quantity Price Price Quantity Level 1 1 2 2 3 99.93 40 3 4 4 5 5 Bid Ask Level Quantity Price Price Quantity Level 1 1 2 2 3 99.93 40 3 4 4 5 5 Bid Ask Level Quantity Price Price Quantity Level 1 1 2 99.92 40 2 3 99.93 40 3 4 4 5 5 Bid Ask Level Quantity Price Price Quantity Level 1 99.91 25 1 2 99.92 40 2 3 99.93 40 3 4 4 5 5 Bid Ask Level Quantity Price Price Quantity Level 1 99.91 25 1 2 99.92 40 2 3 99.93 40 3 4 4 5 5 Bid Ask Level Quantity Price Price Quantity Level 1 99.91 25 1 2 99.92 40 2 3 99.93 40 3 4 30 99.02 4 5 5 Bid Ask Level Quantity Price Price Quantity Level 1 99.91 25 1 2 99.92 40 2 3 99.93 40 3 4 30 99.02 99.94 15 4 5 5 Bid Ask Level Quantity Price Price Quantity Level 1 99.91 25 1 2 99.92 40 2 3 99.93 40 3 4 30 99.02 99.94 15 4 5 20 99.01 5 Bid Ask Level Quantity Price Price Quantity Level 1 99.91 25 1 2 99.92 40 2 3 99.93 40 3 4 30 99.02 99.94 15 4 5 20 99.01 99.95 10 5 Implied Book Processing for RV Curves