EMPTY Levels in RFA API

PeterD
PeterD Newcomer

I'm using the the MARKET_BY_PRICE to get the orderbook using RFA 8.1 . But I can't find any information in the documentation how empty levels are signaled.
Say that there are only 3 levels. Will I receive a MAP with all (10) levels? In that case what will signal that only 3 of them are valid? I have seen people asking about empty sizes, is this the key signalling an order book level is empty.
Also if there are 3 levels and one of them is removed for some reason. what will the update for the third level look like?

Best Answer

  • umer.nalla
    umer.nalla LSEG
    Answer ✓

    Hi @PeterD

    I am not entirely sure I understand the question - so the following may not be the correct answer....

    When you subscribe to an MBP instrument and it has only 3 levels at the point in time, then you would only expect to receive a Map with 3 entries.
    If an entry is then removed - e.g. if an order is filled and is no longer active, you would receive a message that included a Map entry with Delete Action - along with the Key for the entry to delete (from your local cache).

    Whilst the following article refers to our newer Enterprise Message API, the introduction covers the basic concepts around processing Level 2 MBP and MBO data - How to Sort & Process Level 2 Orderbook Data using EMA C++ API | Refinitiv Developers

    If you are writing a new application in Java or C++, then I strongly recommend you use the newer Enterprise Message API (RFA is feature complete and considered a Legacy API).

Answers