Category Description
Expiration date, strike price and other information for each option contract.
Category Identification
pNxCoreMessage->coreData.Category.pnxStringCategory->Atom | 1 |
pNxCoreMessage->coreData.Category.pnxStringCategory->String | OptionContract |
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 | 6
Index | FieldName | FieldType | C Code | Info |
---|---|---|---|---|
0 | ExpireDate | NxCFT_DATE | pnxFields[0].data.nxDate | Contract Expiration Date |
1 | StrikePrice | NxCFT_PRICE | pnxFields[1].data.nxPrice | Contract Strike Price |
2 | NxStrikeEstimate | NxCFT_PRICE | pnxFields[2].data.nxPrice | Set when NxCore Option Pricing indicates a strike not equal to StrikePrice |
3 | OPRADayCount | NxCFT_32BIT | pnxFields[3].data.i32Bit | A value between 0 and 7 which is increased/decreased each trading day if the Strike Price is (is not) reported by OPRA |
4 | NxStrikeMatch | NxCFT_32BIT | pnxFields[4].data.i32Bit | A value between 0 and 15 which is increased/decreased each trading day depending on the how well the Strike Price matches NxCore Option Pricing |
5 | NxStrikeMatchEst | NxCFT_32BIT | pnxFields[5].data.i32Bit | Same as NxStrikeMatch but applies to NxStrikeEstimate instead of StrikePrice |
Code Sample from CategoryDumper project:
void onNxCoreCategory_OptionContract(const NxCoreMessage *pNxCoreMsg) { NxCategoryField *pField; // Print the category num and the Symbol PrintSymbol(pNxCoreMsg); pField=&pNxCoreMsg->coreData.Category.pnxFields[0]; if (pField->Set) printf("Expiration Date: %02d/%02d/%d \n", pField->data.nxDate.Month, pField->data.nxDate.Day, pField->data.nxDate.Year); pField=&pNxCoreMsg->coreData.Category.pnxFields[1]; if (pField->Set) printf("Strike Price: %0.4f \n", pfNxCorePriceToDouble(pField->data.nxPrice.Price, pField->data.nxPrice.PriceType)); pField=&pNxCoreMsg->coreData.Category.pnxFields[2]; if (pField->Set) printf("Est. Strike Price: %0.4f \n", pfNxCorePriceToDouble(pField->data.nxPrice.Price, pField->data.nxPrice.PriceType)); pField=&pNxCoreMsg->coreData.Category.pnxFields[3]; if (pField->Set) printf("Opra Day Count: %d \n",pField->data.i32Bit); pField=&pNxCoreMsg->coreData.Category.pnxFields[4]; if (pField->Set) printf("NxStrikeMatch: %d \n",pField->data.i32Bit); pField=&pNxCoreMsg->coreData.Category.pnxFields[5]; if (pField->Set) printf("NxStrikeMatchEst: %d \n",pField->data.i32Bit); }