API Documentation

NxCoreExgQuote

The structure NxCoreExgQuote is defined in NxCoreAPI.h as:


struct NxCoreExgQuote {
    NxCoreQuote    coreQuote;
    int            BestAskPrice;
    int            BestBidPrice;
    int            BestAskPriceChange;
    int            BestBidPriceChange;
    int            BestAskSize;
    int            BestBidSize;
    int            BestAskSizeChange;
    int            BestBidSizeChange;
    unsigned short BestAskExg;
    unsigned short BestBidExg;
    unsigned short PrevBestAskExg;
    unsigned short PrevBestBidExg;
    unsigned char  BestAskCondition;
    unsigned char  BestBidCondition;
    unsigned char  BBOChangeFlags;
    unsigned char  ClosingQuoteFlag;
    unsigned char  alignment[4];
};

coreQuote

See here

BestAskPrice

The Best Ask Quote is identified and disseminated by the Feed Source (SIAC, OPRA, NASDAQ, etc), and not by the NxCore Feed Processors. Sometimes you will notice that the Best Ask is not the lowest price/largest size/earliest time or has the best quote conditions.

BestAskPrice contains the data that was in coreQuote when the Exchange identified in BestAskExg last updated.

BestBidPrice

The Best Bid Quote is identified and disseminated by the Feed Source (SIAC, OPRA, NASDAQ, etc), and not by the NxCore Feed Processors. Sometimes you will notice that the Best Bid is not the highest price/largest size/earliest time or has best quote conditions.

BestBidPrice contains the data that was in coreQuote when the Exchange identified in BestBidExg last updated.

BestAskPriceChange

BestAskSizeChange contains the data that was in coreQuote when the Exchange identified in BestAskExg last updated.

BestBidPriceChange

BestBidPriceChange contains the data that was in coreQuote when the Exchange identified in BestBidExg last updated.

BestAskSize

The Best Ask Quote is identified and disseminated by the Feed Source (SIAC, OPRA, NASDAQ, etc), and not by the NxCore Feed Processors.

BestAskSize contains the data that was in the coreQuote member when the Exchange identified in the member BestAskExg last updated.

BestBidSize

The Best Bid Quote is identified and disseminated by the Feed Source (SIAC, OPRA, NASDAQ, etc), and not by the NxCore Feed Processors.

BestBidSize contains the data that was in the coreQuote member when the Exchange identified in the member BestBidExg last updated.

BestAskSizeChange

BestAskSizeChange contains the data that was in the coreQuote member when the Exchange identified in the member BestAskExg last updated.

BestBidSizeChange

BestBidSizeChange contains the data that was in the coreQuote member when the Exchange identified in the member BestBidExg last updated.

BestAskExg

The exchange with the best ask price/size/timestamp

BestBidExg

The exchange with the best bid price/size/timestamp

PrevBestAskExg

When the Exchange designated as the BestAskExg changes, NxCoreAPI sets this data member to the previous value of BestAskExg.

This allows to implement easy and efficient algorithms for analyzing BBO push/fade trends and frequencies (i.e. how often has Exchange X become the Best Ask because another exchange lowered it's ask price/size vs because Exchange X increased the ask price/size).

PrevBestBidExg

When the Exchange designated as the BestBidExg changes, NxCoreAPI sets this data member to the previous value of BestBidExg.

This allows to implement easy and efficient algorithms for analyzing BBO push/fade trends and frequencies (i.e. how often has Exchange X become the Best Bid because another exchange lowered it's bid price/size vs because Exchange X increased the bid price/size).

BestAskCondition

BestAskCondition contains the data that was in coreQuote when the Exchange identified in BestAskExg last updated.

BestBidCondition

BestBidCondition contains the data that was in coreQuote when the Exchange identified in BestBidExg last updated.

BBOChangeFlags

If the Regional exchange updating their quote is the BestBidExg, then BestBidPrice, BestBidSize and BestBidCondition will be identical to coreQuote.BidPrice, coreQuote.BidSize, and coreQuote.QuoteCondition. Similarly, the BestAskPrice, BestAskSize and BestAskCondition will equal coreQuote.AskPrice, coreQuote.AskSize and coreQuote.QuoteCondtion if Regional exchange is the BestAskExg.

If the Regional exchange updating their quote is not the BestBidExg, the values of BestBidPrice, BestBidSize, and BestBidCondition could still change if the Regional exchange was previously the BestBidExg.

Sometimes a Regional quote update affects the Best Bid and/or Best Ask data and sometimes it does not. In any case, the NxCore Feed always includes the Best Bid and Best Ask information with every quote.

NxCoreAPI makes it easy and efficient to test for changes to the BBO fields by setting flags in data member BBOChangeFlag. You can use a simple test of whether BBOChangeFlag is non-zero to determine whether any changes have occurred, or test individual bits to see which fields have occurred.

#define Value Comments
NxBBOCHANGE_BIDEXG 0x01 BestBidExg != PrevBestBidExg
NxBBOCHANGE_BIDPRICE 0x02 BestBidPriceChange != 0
NxBBOCHANGE_BIDSIZE 0x04 BestBidSizeChange != 0
NxBBOCHANGE_ASKEXG 0x10 BestAskExg != PrevBestAskExg
NxBBOCHANGE_ASKPRICE 0x20 BestAskPriceChange != 0
NxBBOCHANGE_ASKSIZE 0x40 BestAskSizeChange != 0

ClosingQuoteFlag

Will be set to 1 if quote represents an official Closing Quote, zero otherwise