Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

Use the entity build and custom index build logs to help troubleshoot problems with the custom benchmark entity build processes.

Access the Entity Build Log

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.

Lock Down Performance Returns Using the Status Flag

The Performance Calculation report has a process to lock down Performance returns data. It allows you to create performance records with a Preliminary status. You can then use the Commit Journal to review the returns and lock down approved returns by setting the performance status of those returns to Final. The custom benchmark builder uses a similar process to lock down Performance data. It creates performance records with a Preliminary status. You can use the Commit Journal to change the performance status of the custom benchmark entries to Final and "lock down" the performance records.

The column used to achieve the lockdown is the PERF_SUMMARY.STATUS_FLAG column. If this column has a value of F, the data is locked down and cannot be overwritten. If the column has any other value, the data can be overwritten.

If you rerun the custom benchmark builder for a locked down custom benchmark and date, the build fails, and the following error message appears in the Commit Journal for the custom benchmark.
Failed to build XXXXX : Returns already committed as Final for EffectiveDate 01/01/09

View Problems with the Custom Index Build Process

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
Cannot Find Perf_Summary record for entity_detail_id - "BENCH1" for effective_date - "02/29/00 00:00:00.000"

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.

Total Level Only Workaround

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:

  1. 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

  1. 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.
  2. 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.
  3. 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. 
  • No labels

0 Comments

You are not logged in. Any changes you make will be marked as anonymous. You may want to Log In if you already have an account.