MDP 3.0 - Market by Price - Book Recovery Methods for Concurrent Processing

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:




How was your Client Systems Wiki Experience? Submit Feedback

Copyright © 2024 CME Group Inc. All rights reserved.