API Documentation

Category Description

Lists Option series where the same Option Strike Code defines two or more different strike prices (Strike Code Confusion).

Category Identification

pNxCoreMessage->coreData.Category.pnxStringCategory->Atom 41
pNxCoreMessage->coreData.Category.pnxStringCategory->String OptionMultipleStrikePrices

Update Time and Frequency

Approximate Time Info
02:30 AM Information from previous session
No Updates No updates throughout the day

Category Fields | 20

Index FieldName FieldType C Code Info
0 StrikeChar NxCFT_32BIT pnxFields[0].data.i32Bit The strike code which defines more than one strike price
1 EntryCount NxCFT_32BIT pnxFields[1].data.i32Bit Number of entries
2 ExpireMonths NxCFT_32BIT pnxFields[2].data.i32Bit Multiple set bits identifying Expiration Months (bit 0=Jan, bit 1=Feb, bit 11=Dec)
3 StrikePrice NxCFT_32BIT pnxFields[3].data.i32Bit Strike Price (3 decimal places) defined by StrikeChar
4 ExpireMonths NxCFT_32BIT pnxFields[4].data.i32Bit (Next 1) Multiple set bits identifying Expiration Months (bit 0=Jan, bit 1=Feb, bit 11=Dec)
5 StrikePrice NxCFT_32BIT pnxFields[5].data.i32Bit (Next 1) Strike Price (3 decimal places) defined by StrikeChar
6 ExpireMonths NxCFT_32BIT pnxFields[6].data.i32Bit (Next 2) Multiple set bits identifying Expiration Months (bit 0=Jan, bit 1=Feb, bit 11=Dec)
7 StrikePrice NxCFT_32BIT pnxFields[7].data.i32Bit (Next 2) Strike Price (3 decimal places) defined by StrikeChar
8 ExpireMonths NxCFT_32BIT pnxFields[8].data.i32Bit (Next 3) Multiple set bits identifying Expiration Months (bit 0=Jan, bit 1=Feb, bit 11=Dec)
9 StrikePrice NxCFT_32BIT pnxFields[9].data.i32Bit (Next 3) Strike Price (3 decimal places) defined by StrikeChar
10 ExpireMonths NxCFT_32BIT pnxFields[10].data.i32Bit (Next 4) Multiple set bits identifying Expiration Months (bit 0=Jan, bit 1=Feb, bit 11=Dec)
11 StrikePrice NxCFT_32BIT pnxFields[11].data.i32Bit (Next 4) Strike Price (3 decimal places) defined by StrikeChar
12 ExpireMonths NxCFT_32BIT pnxFields[12].data.i32Bit (Next 5) Multiple set bits identifying Expiration Months (bit 0=Jan, bit 1=Feb, bit 11=Dec)
13 StrikePrice NxCFT_32BIT pnxFields[13].data.i32Bit (Next 5) Strike Price (3 decimal places) defined by StrikeChar
14 ExpireMonths NxCFT_32BIT pnxFields[14].data.i32Bit (Next 6) Multiple set bits identifying Expiration Months (bit 0=Jan, bit 1=Feb, bit 11=Dec)
15 StrikePrice NxCFT_32BIT pnxFields[15].data.i32Bit (Next 6) Strike Price (3 decimal places) defined by StrikeChar
16 ExpireMonths NxCFT_32BIT pnxFields[16].data.i32Bit (Next 7) Multiple set bits identifying Expiration Months (bit 0=Jan, bit 1=Feb, bit 11=Dec)
17 StrikePrice NxCFT_32BIT pnxFields[17].data.i32Bit (Next 7) Strike Price (3 decimal places) defined by StrikeChar
18 ExpireMonths NxCFT_32BIT pnxFields[18].data.i32Bit (Next 8) Multiple set bits identifying Expiration Months (bit 0=Jan, bit 1=Feb, bit 11=Dec)
19 StrikePrice NxCFT_32BIT pnxFields[19].data.i32Bit (Next 8) Strike Price (3 decimal places) defined by StrikeChar

Code Sample from CategoryDumper project:

void onNxCoreCategory_41(const NxCoreMessage *pNxCoreMsg)
{
     NxCategoryField *pField;
     int Count=0;
     int i=2;
			 
     // Print the category num and the Symbol
     PrintSymbol(pNxCoreMsg);
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[0];
     if (pField->Set)			 
         printf("Strike Char: %d \n",pField->data.i32Bit);
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[1];
     if (pField->Set)			 
     {
         printf("Entry Count: %d \n",pField->data.i32Bit);     
         Count=pField->data.i32Bit;
     }
 			 
     // Category 41 may contain up to (Entry Count) unique data points.     
     // Each data point contain the expiration months and strike char.
     for (int n=0;n<Count;n++)
     {
         pField=&pNxCoreMsg->coreData.Category.pnxFields[i];
         if (pField->Set)			 
             printf("Expire Months: %d \n",pField->data.i32Bit);
 			 
         pField=&pNxCoreMsg->coreData.Category.pnxFields[i+1];
         if (pField->Set)			 
             printf("Strike Price: %0.3f \n",((double) pField->data.i32Bit / 1000.0));
 			 
         i+=2;
     }
}