...
The log file is an entity build log that is labeled ENTITYENG##.log and can be found on the PACE Server. You can access the log from several locations:
The View Event Queue link under the DataSteward option.
The Server Logs link under the System Administration option.
The Diagnostics tab of the report results that you can download for a selected custom benchmark row selected in the Commit Journal. For more information, see View Custom Index Results from the Commit Journal.
The log provides the entity details and any errors that may have occurred during the entity build.
...
The following table lists common problems with the Custom Index Build process.
Type | Log Message | Explanation |
---|---|---|
Any | Cannot Find Perf_Summary record for entity_detail_id - "XXXX" for effective_date - "xx/xx/xx" | Missing source data needed for entity build. Also check performance data frequency. |
Any | No Source Indexes Found in CUSTOM_INDEX_ATTRIBUTES table for Effective_date "xx/xx/xx" | The custom index attributes does not contain a definition for a date less than or equal to xx/xx/xxxx. |
Any | Check that Entity build is enabled on the server | Entity build not running. |
Any | Violation of PRIMARY KEY constraint | Duplicate securities in the source indices. |
Any | No Data found in Perf_Sec_Returns table for the Underlying Entities | Cannot find source data. |
Any | No Source Indexes Found in CUSTOM_INDEX_ATTRIBUTES table for Effective_date 05/01/00 | The custom index attributes does not contain a definition for a date less than or equal to 05/01/2000. |
Any | Duplicate Custom Entity build field XXXX found in field attributes | Two field attributes are set up against the same performance field with the process of Custom Index. This is not needed and causes the build to fail. Delete one. |
Any | Dictionary Format levels does not match Source Dictionary Levels | Invalid Dictionary Structure error. The levels of the source dictionary must align properly with the levels of the target dictionary. |
Any | Weight Column [ABAL] not populated for PerfSumInst XXXX, rollupId X, SecurityAlias XXXX | A null weight exists for a security or rollup level in the source entity of the custom benchmark. Error indicates specifically where the null exists. There may be additional nulls. Populate nulls. |
Currency/Hedged | Could not find base_currency for target entity | Missing to currency in entity_details table, BASE_CURRENCY. |
Currency/Hedged | No base / system currency found for any entity | Missing from currency in entity_details table, BASE_CURRENCY column. |
Currency/Hedged | No FX rate found for from_currency-to_currency for date xx/xx/xxxx | Currency 1 to Currency 2 missing begin exchange rate for given date. The process goes back three days from the begin date to look for a SPOT_RATE. |
Currency/Hedged | No FX rate found for from_currency-to_currency for date xx/xx/xxxx | Currency 1 to Currency 2 missing end exchange rate for given date. The process goes back three days from the end date to look for a SPOT_RATE. |
Hedged | No data found for [FOR_1MNTH_RATE] for specified sources | Missing data: 1-month forward exchange rate, as of the begin date. |
Floating | Cannot Calculate floating weights | The Floating Weight Calculator cannot find one of the total returns that it needs to properly calculate the floating weights. Error gives the detail of what data is missing. |
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
This section of the document is intended for those who have a target dictionary that is total level only, without lower levels which are used for source entity assignment. This applies to the blended and floating custom benchmark types only.
Situation. There is one total level dictionary for returns data. The goal is to create a custom blended index which combines two benchmarks at the Total level.
Problem. The process is not designed to allow assignment for more than one source entity at a node level. The windows do not allow assignment at the total level for the blended or floating type custom index.
To work around this issue, do the following:
Create a dummy 1+ level dictionary to allow the index builder to work.
For example, a dictionary such as Total/Investment type. This allows the assignment at a node level below total since two assignments cannot be made at one node level. This dummy dictionary is the target dictionary for the index builder. Note the following:
The dummy dictionary needs to be created based on data in security master. For the example of Total/Investment type, data would have to exist in the security master for investment type in order to properly build this dictionary.
Another suggestion would be to build a dictionary like Total/Security Alias if there is a lack of security master characteristic data.
The dummy dictionary, to be the target dictionary, must have enough nodes in order to support the entity assignment structure. For example, if you are trying to build a custom index from 3 source benchmarks, then you need a dictionary with two levels and at least three nodes at the second level.
This example is defined in the following table.
Total |
Cash Assign Benchmark 1 here |
Equity Assign Benchmark 2 here |
Fixed Income Assign Benchmark 3 here |
Make assignments at level 2 of the dictionary and execute the build. As a result, the custom index builder updates the PERFORM database with data for the custom index under the dummy dictionary.
Therefore to be pulled into a Performance Analysis report, a default dictionary needs to be used. Set up the dummy dictionary as the default dictionary for the Custom Index entity.
For more information, see Use Default Dictionaries for Reporting.Use the regular Total level dictionary for the performance report. In this way, you are able to show both the portfolio and the Custom Index on the same report.