Category Description
Lists Option series with two or more Option Strike Codes defining the same strike price (Strike Code Collision).
Category Identification
| pNxCoreMessage->coreData.Category.pnxStringCategory->Atom | 40 |
| pNxCoreMessage->coreData.Category.pnxStringCategory->String | OptionMultipleStrikeCodes |
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 | StrikePrice | NxCFT_32BIT | pnxFields[0].data.i32Bit | The strike price (3 decimal places) found in multiple strike codes |
| 1 | EntryCount | NxCFT_32BIT | pnxFields[1].data.i32Bit | Number of set 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 | StrikeChar | NxCFT_32BIT | pnxFields[3].data.i32Bit | Strike code matching StrikePrice |
| 4 | ExpireMonths | NxCFT_32BIT | pnxFields[4].data.i32Bit | Multiple set bits identifying Expiration Months (bit 0=Jan, bit 1=Feb, bit 11=Dec) |
| 5 | StrikeChar | NxCFT_32BIT | pnxFields[5].data.i32Bit | (Next 1) Strike code matching StrikePrice |
| 6 | ExpireMonths | NxCFT_32BIT | pnxFields[6].data.i32Bit | Multiple set bits identifying Expiration Months (bit 0=Jan, bit 1=Feb, bit 11=Dec) |
| 7 | StrikeChar | NxCFT_32BIT | pnxFields[7].data.i32Bit | (Next 2) Strike code matching StrikePrice |
| 8 | ExpireMonths | NxCFT_32BIT | pnxFields[8].data.i32Bit | Multiple set bits identifying Expiration Months (bit 0=Jan, bit 1=Feb, bit 11=Dec) |
| 9 | StrikeChar | NxCFT_32BIT | pnxFields[9].data.i32Bit | (Next 3) Strike code matching StrikePrice |
| 10 | ExpireMonths | NxCFT_32BIT | pnxFields[10].data.i32Bit | Multiple set bits identifying Expiration Months (bit 0=Jan, bit 1=Feb, bit 11=Dec) |
| 11 | StrikeChar | NxCFT_32BIT | pnxFields[11].data.i32Bit | (Next 4) Strike code matching StrikePrice |
| 12 | ExpireMonths | NxCFT_32BIT | pnxFields[12].data.i32Bit | Multiple set bits identifying Expiration Months (bit 0=Jan, bit 1=Feb, bit 11=Dec) |
| 13 | StrikeChar | NxCFT_32BIT | pnxFields[13].data.i32Bit | (Next 5) Strike code matching StrikePrice |
| 14 | ExpireMonths | NxCFT_32BIT | pnxFields[14].data.i32Bit | Multiple set bits identifying Expiration Months (bit 0=Jan, bit 1=Feb, bit 11=Dec) |
| 15 | StrikeChar | NxCFT_32BIT | pnxFields[15].data.i32Bit | (Next 6) Strike code matching StrikePrice |
| 16 | ExpireMonths | NxCFT_32BIT | pnxFields[16].data.i32Bit | Multiple set bits identifying Expiration Months (bit 0=Jan, bit 1=Feb, bit 11=Dec) |
| 17 | StrikeChar | NxCFT_32BIT | pnxFields[17].data.i32Bit | (Next 7) Strike code matching StrikePrice |
| 18 | ExpireMonths | NxCFT_32BIT | pnxFields[18].data.i32Bit | Multiple set bits identifying Expiration Months (bit 0=Jan, bit 1=Feb, bit 11=Dec) |
| 19 | StrikeChar | NxCFT_32BIT | pnxFields[19].data.i32Bit | (Next 8) Strike code matching StrikePrice |
Code Sample from CategoryDumper project:
void onNxCoreCategory_40(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 Price: %0.3f \n",((double) pField->data.i32Bit / 1000.0));
pField=&pNxCoreMsg->coreData.Category.pnxFields[1];
if (pField->Set)
{
printf("Entry Count: %d \n",pField->data.i32Bit);
Count=pField->data.i32Bit;
}
// Category 40 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 Char: %d \n",pField->data.i32Bit);
i+=2;
}
}