Category Description
Option series underlying, expiration cycle, settlement, chain, exchanges traded on, etc.
Category Identification
pNxCoreMessage->coreData.Category.pnxStringCategory->Atom | 2 |
pNxCoreMessage->coreData.Category.pnxStringCategory->String | OptionSeries |
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 | 9
Index | FieldName | FieldType | C Code | Info |
---|---|---|---|---|
0 | UnderlyingSymbol | NxCFT_STRINGZ | pnxFields[0].data.StringZ | The Equity or Index the option is based on |
1 | UnderlyingExgCode | NxCFT_STRING_IDX | pnxFields[1].data.stringTableItem | The Exchange of the underlying symbol, from table table_NxST_EXCHANGE.html |
2 | UnderlyingSymbolKey | NxCFT_NxSTRING | pnxFields[2].data.pnxString | The current symbol key of the underlying symbol |
3 | UnderlyingSeriesChain | NxCFT_STRINGZ | pnxFields[3].data.StringZ | String of all Option Series Symbols for the underlying |
4 | SpecialSettlement | NxCFT_STRINGZ | pnxFields[4].data.StringZ | If Option Series Adjusted, formula for pricing will appear in this field |
5 | ContractMultiplier | NxCFT_32BIT | pnxFields[5].data.i32Bit | Standard Equity Options and Indexes use a multiplier of 100. This value may change if an option series is adjusted |
6 | LeapYearCode | NxCFT_32BIT | pnxFields[6].data.i32Bit | If option is a LEAP, this field is set with a number indicating the Leap year. 6==2006, 7==2007 |
7 | ExpirationCycle | NxCFT_32BIT | pnxFields[7].data.i32Bit | 1=January Cycle,2=Feb,3=March. More fields at table table_NxST_EXPIRATIONCYCLE.html |
8 | OPRAExchangeList | NxCFT_STRING_MAP | pnxFields[8].data.stringTableItem | Special List of Exchanges that quote this option series, from table table_NxST_EXCHANGE.html |
Code Sample from CategoryDumper project:
void onNxCoreCategory_2(const NxCoreMessage *pNxCoreMsg) { NxCategoryField *pField; // Print the category num and the Symbol PrintSymbol(pNxCoreMsg); pField=&pNxCoreMsg->coreData.Category.pnxFields[0]; if (pField->Set) printf("Underlying Symbol: %s \n",pField->data.StringZ); // See table_NxST_EXCHANGE.html for exchange codes pField=&pNxCoreMsg->coreData.Category.pnxFields[1]; if (pField->Set) printf("Underlying Exchange: Table - %d Exchange - %d \n", pField->data.stringTableItem.ixTable, pField->data.stringTableItem.idString); pField=&pNxCoreMsg->coreData.Category.pnxFields[2]; if (pField->Set) printf("Undeelying Symbol Key: %s \n",pField->data.pnxString->String); pField=&pNxCoreMsg->coreData.Category.pnxFields[3]; if (pField->Set) printf("Underlying Series Chain: %s \n",pField->data.StringZ); pField=&pNxCoreMsg->coreData.Category.pnxFields[4]; if (pField->Set) printf("Special Settlement: %s \n",pField->data.StringZ); pField=&pNxCoreMsg->coreData.Category.pnxFields[5]; if (pField->Set) printf("Contract Multiplier: %d \n",pField->data.i32Bit); pField=&pNxCoreMsg->coreData.Category.pnxFields[6]; if (pField->Set) printf("Leap Year Code: %d \n",pField->data.i32Bit); pField=&pNxCoreMsg->coreData.Category.pnxFields[7]; if (pField->Set) { printf("Expiration Cycle: %d - ",pField->data.i32Bit); // See table_NxST_EXPIRATIONCYCLE.html switch(pField->data.i32Bit) { case 1:printf("Jan \n");break; case 2:printf("Feb \n");break; case 3:printf("Mar \n");break; case 4:printf("Wk1 \n");break; case 5:printf("Wk2 \n");break; case 6:printf("Wk3 \n");break; case 7:printf("Wk4 \n");break; case 8:printf("Wk5 \n");break; case 9:printf("Qtr \n");break; } } // See table_NxST_EXCHANGE.html for exchange codes pField=&pNxCoreMsg->coreData.Category.pnxFields[8]; if (pField->Set) printf("OPRA Exchange List: Table - %d Exchange - %d \n", pField->data.stringTableItem.ixTable, pField->data.stringTableItem.idString); }