Category Description
Year end close, dividends, capital gain and distribution information, etc.
Category Identification
| pNxCoreMessage->coreData.Category.pnxStringCategory->Atom | 11 |
| pNxCoreMessage->coreData.Category.pnxStringCategory->String | MutualFundFundamental |
Update Time and Frequency
| Approximate Time | Info |
|---|---|
| 00:00 AM | Information from previous session |
| Occasional Updates | Occasional updates throughout the day |
Category Fields | 15
| Index | FieldName | FieldType | C Code | Info |
|---|---|---|---|---|
| 0 | YearEndClose | NxCFT_PRICE | pnxFields[0].data.nxPrice | Close prices on last trading day of last year |
| 1 | Dividend | NxCFT_PRICE | pnxFields[1].data.nxPrice | Dividend |
| 2 | StockSplitDividend | NxCFT_PRICE | pnxFields[2].data.nxPrice | Stock split dividend |
| 3 | RecordDate | NxCFT_DATE | pnxFields[3].data.nxDate | Record date |
| 4 | PaymentDate | NxCFT_DATE | pnxFields[4].data.nxDate | Payment date |
| 5 | ShortTermCapitalGains | NxCFT_PRICE | pnxFields[5].data.nxPrice | Short-term capital gains |
| 6 | LongTermCapitalGains | NxCFT_PRICE | pnxFields[6].data.nxPrice | Long-term capital gains |
| 7 | OtherCapitalGains | NxCFT_PRICE | pnxFields[7].data.nxPrice | Other capital gains |
| 8 | UnallocatedDistributions | NxCFT_PRICE | pnxFields[8].data.nxPrice | Unallocated distributions |
| 9 | AccruedInterest | NxCFT_PRICE | pnxFields[9].data.nxPrice | Accrued interest |
| 10 | IncomeDistribution | NxCFT_PRICE | pnxFields[10].data.nxPrice | Income distribution |
| 11 | CapitalDistribution | NxCFT_PRICE | pnxFields[11].data.nxPrice | Capital distribution |
| 12 | ParValue | NxCFT_PRICE | pnxFields[12].data.nxPrice | Par value |
| 13 | SecuritySubtype | NxCFT_32BIT | pnxFields[13].data.i32Bit | Security subtype |
| 14 | EstLongTermReturn | NxCFT_PRICE | pnxFields[14].data.nxPrice | Estimated long-term return |
Code Sample from CategoryDumper project:
void onNxCoreCategory_11(const NxCoreMessage *pNxCoreMsg)
{
NxCategoryField *pField;
// Print the category num and the Symbol
PrintSymbol(pNxCoreMsg);
pField=&pNxCoreMsg->coreData.Category.pnxFields[0];
if (pField->Set)
printf("Year End Close: %0.4f \n",
pfNxCorePriceToDouble(pField->data.nxPrice.Price,
pField->data.nxPrice.PriceType));
pField=&pNxCoreMsg->coreData.Category.pnxFields[1];
if (pField->Set)
printf("Dividend: %0.4f \n",
pfNxCorePriceToDouble(pField->data.nxPrice.Price,
pField->data.nxPrice.PriceType));
pField=&pNxCoreMsg->coreData.Category.pnxFields[2];
if (pField->Set)
printf("Stock Split Dividend: %0.4f \n",
pfNxCorePriceToDouble(pField->data.nxPrice.Price,
pField->data.nxPrice.PriceType));
pField=&pNxCoreMsg->coreData.Category.pnxFields[3];
if (pField->Set)
printf("Record Date: %02d/%02d/%d \n",
pField->data.nxDate.Month,
pField->data.nxDate.Day,
pField->data.nxDate.Year);
pField=&pNxCoreMsg->coreData.Category.pnxFields[4];
if (pField->Set)
printf("Payment Date: %02d/%02d/%d \n",
pField->data.nxDate.Month,
pField->data.nxDate.Day,
pField->data.nxDate.Year);
pField=&pNxCoreMsg->coreData.Category.pnxFields[5];
if (pField->Set)
printf("ShortTermCapitalGains: %0.4f \n",
pfNxCorePriceToDouble(pField->data.nxPrice.Price,
pField->data.nxPrice.PriceType));
pField=&pNxCoreMsg->coreData.Category.pnxFields[6];
if (pField->Set)
printf("LongTermCapitalGains: %0.4f \n",
pfNxCorePriceToDouble(pField->data.nxPrice.Price,
pField->data.nxPrice.PriceType));
pField=&pNxCoreMsg->coreData.Category.pnxFields[7];
if (pField->Set)
printf("OtherCapitalGains: %0.4f \n",
pfNxCorePriceToDouble(pField->data.nxPrice.Price,
pField->data.nxPrice.PriceType));
pField=&pNxCoreMsg->coreData.Category.pnxFields[8];
if (pField->Set)
printf("UnallocateDistributions: %0.4f \n",
pfNxCorePriceToDouble(pField->data.nxPrice.Price,
pField->data.nxPrice.PriceType));
pField=&pNxCoreMsg->coreData.Category.pnxFields[9];
if (pField->Set)
printf("Accrued Interest: %0.4f \n",
pfNxCorePriceToDouble(pField->data.nxPrice.Price,
pField->data.nxPrice.PriceType));
pField=&pNxCoreMsg->coreData.Category.pnxFields[10];
if (pField->Set)
printf("Income Distribution: %0.4f \n",
pfNxCorePriceToDouble(pField->data.nxPrice.Price,
pField->data.nxPrice.PriceType));
pField=&pNxCoreMsg->coreData.Category.pnxFields[11];
if (pField->Set)
printf("Capital Distribution: %0.4f \n",
pfNxCorePriceToDouble(pField->data.nxPrice.Price,
pField->data.nxPrice.PriceType));
pField=&pNxCoreMsg->coreData.Category.pnxFields[12];
if (pField->Set)
printf("Par Value: %0.4f \n",
pfNxCorePriceToDouble(pField->data.nxPrice.Price,
pField->data.nxPrice.PriceType));
pField=&pNxCoreMsg->coreData.Category.pnxFields[13];
if (pField->Set)
printf("Security Subtype: %d \n",pField->data.i32Bit);
pField=&pNxCoreMsg->coreData.Category.pnxFields[14];
if (pField->Set)
printf("EstLongTermReturn: %0.4f \n",
pfNxCorePriceToDouble(pField->data.nxPrice.Price,
pField->data.nxPrice.PriceType));
}