API Documentation

Category Description

Up to last 5 changes (Add, Modify, Delete) to a symbol's ticker or listed exchange.

Category Identification

pNxCoreMessage->coreData.Category.pnxStringCategory->Atom 30
pNxCoreMessage->coreData.Category.pnxStringCategory->String SymbolHistory

Update Time and Frequency

Approximate Time Info
00:00 AM Information from previous session
05:15 AM Current session information
Very Rare Updates Very rare updates throughout the day

Category Fields | 20

Index FieldName FieldType C Code Info
0 EffectiveDate NxCFT_DATE pnxFields[0].data.nxDate Date Added, Modified, or Deleted at start of date
1 EntryType NxCFT_STRINGZ pnxFields[1].data.StringZ Added, Modified, or Deleted
2 ExgCode NxCFT_STRING_IDX pnxFields[2].data.stringTableItem Old Exchange Code (if modified), or new Exchange Code (if deleted), from table table_NxST_EXCHANGE.html
3 Symbol NxCFT_STRINGZ pnxFields[3].data.StringZ Old Symbol (if modified), or new Symbol (if deleted).
4 EffectiveDate NxCFT_DATE pnxFields[4].data.nxDate (Next Oldest 1) Date Added, Modified, or Deleted at start of date
5 EntryType NxCFT_STRINGZ pnxFields[5].data.StringZ (Next Oldest 1) Added, Modified, or Deleted
6 ExgCode NxCFT_STRING_IDX pnxFields[6].data.stringTableItem (Next Oldest 1) Old Exchange Code (if modified), or new Exchange Code (if deleted), from table table_NxST_EXCHANGE.html
7 Symbol NxCFT_STRINGZ pnxFields[7].data.StringZ (Next Oldest 1) Old Symbol (if modified), or new Symbol (if deleted).
8 EffectiveDate NxCFT_DATE pnxFields[8].data.nxDate (Next Oldest 2) Date Added, Modified, or Deleted at start of date
9 EntryType NxCFT_STRINGZ pnxFields[9].data.StringZ (Next Oldest 2) Added, Modified, or Deleted
10 ExgCode NxCFT_STRING_IDX pnxFields[10].data.stringTableItem (Next Oldest 2) Old Exchange Code (if modified), or new Exchange Code (if deleted), from table table_NxST_EXCHANGE.html
11 Symbol NxCFT_STRINGZ pnxFields[11].data.StringZ (Next Oldest 2) Old Symbol (if modified), or new Symbol (if deleted).
12 EffectiveDate NxCFT_DATE pnxFields[12].data.nxDate (Next Oldest 3) Date Added, Modified, or Deleted at start of date
13 EntryType NxCFT_STRINGZ pnxFields[13].data.StringZ (Next Oldest 3) Added, Modified, or Deleted
14 ExgCode NxCFT_STRING_IDX pnxFields[14].data.stringTableItem (Next Oldest 3) Old Exchange Code (if modified), or new Exchange Code (if deleted), from table table_NxST_EXCHANGE.html
15 Symbol NxCFT_STRINGZ pnxFields[15].data.StringZ (Next Oldest 3) Old Symbol (if modified), or new Symbol (if deleted).
16 EffectiveDate NxCFT_DATE pnxFields[16].data.nxDate (Next Oldest 4) Date Added, Modified, or Deleted at start of date
17 EntryType NxCFT_STRINGZ pnxFields[17].data.StringZ (Next Oldest 4) Added, Modified, or Deleted
18 ExgCode NxCFT_STRING_IDX pnxFields[18].data.stringTableItem (Next Oldest 4) Old Exchange Code (if modified), or new Exchange Code (if deleted), from table table_NxST_EXCHANGE.html
19 Symbol NxCFT_STRINGZ pnxFields[19].data.StringZ (Next Oldest 4) Old Symbol (if modified), or new Symbol (if deleted).

Code Sample from CategoryDumper project:

void onNxCoreCategory_30(const NxCoreMessage *pNxCoreMsg)
{
     NxCategoryField *pField;
			 
     // Print the category num and the Symbol
     PrintSymbol(pNxCoreMsg);
 			 
     // Category 30 may contain up to 5 unique data points.
     // Each individual data point may contain 4 unique data elements.
     for (int i=0;i<=16;i+=4)
     {
         pField=&pNxCoreMsg->coreData.Category.pnxFields[i];		 
         if (pField->Set)
             printf("Effective Date: %02d/%02d/%d \n",
                    pField->data.nxDate.Month,
                    pField->data.nxDate.Day,
                    pField->data.nxDate.Year);
 			 
         pField=&pNxCoreMsg->coreData.Category.pnxFields[i+1];		 
         if (pField->Set)
             printf("Entry Type: %s \n",
                    pField->data.StringZ);
 			 
         // See table_NxST_EXCHANGE.html for exchange codes
         pField=&pNxCoreMsg->coreData.Category.pnxFields[i+2];		 
         if (pField->Set)
             printf("Exg Code:  Table - %d  Exchange - %d\n",
                    pField->data.stringTableItem.ixTable,
                    pField->data.stringTableItem.idString);
 			 
         pField=&pNxCoreMsg->coreData.Category.pnxFields[i+3];		 
         if (pField->Set)
             printf("Old Symbol: %s \n",
                    pField->data.StringZ);
     }
}