API Documentation

Category Description

Order Imbalance type (buy/sell side, closing/other), with buy and sell volume sizes.

Category Identification

pNxCoreMessage->coreData.Category.pnxStringCategory->Atom 65
pNxCoreMessage->coreData.Category.pnxStringCategory->String OrderImbalance

Update Time and Frequency

Approximate Time Info
15:40-15:49 Initial imbalance
15:50-15:59 Subsequent imbalance

Category Fields | 8

Index FieldName FieldType C Code Info
0 Type NxCFT_STRING_IDX pnxFields[0].data.stringTableItem Flags such as SellSideClosing, BuySideClosing, ClearClosing, etc, from table table_NxST_ORDERIMBALANCETYPE.html
1 BuyVolume NxCFT_32BIT pnxFields[1].data.i32Bit Buy Volume Imbalance
2 SellVolume NxCFT_32BIT pnxFields[2].data.i32Bit Sell Volume Imbalance
3 ReportTime NxCFT_TIME pnxFields[3].data.nxTime Time of the Imbalance
4 FarPrice NxCFT_PRICE pnxFields[4].data.nxPrice A hypothetical auction clearing price for cross orders only (TotalView only)
5 NearPrice NxCFT_PRICE pnxFields[5].data.nxPrice A hypothetical auction clearing price for cross orders as well as continuous orders (TotalView only)
6 CurrentReferencePrice NxCFT_PRICE pnxFields[6].data.nxPrice The price at which the NOII shares are being calculated (TotalView only)
7 PairedShares NxCFT_64BIT pnxFields[7].data.i64Bit The total number of shares that are eligible to be matched at the Current Reference Price (TotalView only)

Code Sample from CategoryDumper project:

void onNxCoreCategory_65(const NxCoreMessage *pNxCoreMsg)
{
     NxCategoryField *pField;
			 
     // Print the category num and the Symbol
     PrintSymbol(pNxCoreMsg);
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[0];		 
     if (pField->Set)
     {
         printf("Type:  Table - %d  Reason - ",
                pField->data.stringTableItem.ixTable);
 			 
         // See table_NxST_ORDERIMBALANCETYPE.html 			 
         switch(pField->data.stringTableItem.idString)
         {
             case 0:printf("Clear \n");break;
             case 1:printf("Buy Side \n");break;
             case 2:printf("Sell Side \n");break;
             case 3:printf("Clear Closing \n");break;
             case 4:printf("BuySide Closing \n");break;
             case 5:printf("SellSide Closing \n");break;
             case 6:printf("Fast Market \n");break;
         }
     }
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[1];
     if (pField->Set)
         printf("Buy Volume: %d \n",pField->data.i32Bit);
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[2];
     if (pField->Set)
         printf("Sell Volume: %d \n",pField->data.i32Bit);
}