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);
}