Create Enrichment Rules

You can create an Enrichment rule to meet unique business requirements. Some examples of Enrichment rules follow this section.

Functional (business logic) product support is only available for the package content rules. Custom rules are supported in terms of the technical operation of the product, but support is not available to triage issues with specific results based on the unique business logic that was implemented.

Best Practices for Creating Rules

We recommend using a test environment to validate new rules before migrating them into production. Assign the test environment rule a Rule ID that does not exist in production to assure proper migration. If you build rules directly in your production region, you do not have to assign an ID manually as a unique ID is generated automatically.

You can set rules to enumerate composites. To do this, select Additional Options from the Add Entity menu. Since composite entities rarely have holdings of their own, the best practice is to select this option. If you need to run Enrichment for a composite that has its own accounting data, disable this option.

Standard rules must have a detail calculation defined in at least one category. A rule has four categories of data that can be enriched:

  • Direct Holdings

  • Synthetic Holdings

  • Direct Cash Activity

  • Synthetic Cash Activity

You can create roll forward rules with or without detail calculations. A rule with no detail calculations finds the most recent positions and move them to the current date "as is."

There are two ways you can add Eagle Enrichment rules:

If you want to apply a custom detail calculation, create it first so it is available when you create the Enrichment rule.

Define Rule Information

In the Creating Enrichment Rule dialog box's Rule Info tab, you can define all the details for the Enrichment rule.

To create an Enrichment rule:

  1. In Portfolio Data Center, in the left navigation pane, click Portfolio Desk Enrichment.
    You see the Eagle Enrichment workspace.

  2. Click Create.
    You see the Creating Enrichment Rule dialog box, with the Rule Info tab selected by default.

    image-20240125-004553.png
  3. Complete the settings on the Rule Info tab.
    Options include:
    - Name. Enter a name for the rule.
    - ID. (optional) Assign a unique ID if you plan to migrate to another environment. If you do not assign an ID, an ID with a sequential value is assigned automatically.
    - Description. Enter a description for the rule.
    - Enabled. Select this check box to enable the rule. Clear the check box to disable the rule.
    Residual Processing. Select this check box to create a residual rule.
    Roll Forward Processing. Select this check box to create a roll forward rule.
    - Funds. Select the funds.
    - Security Criteria. Define the security criteria. Make sure the new rule does not include security criteria that overlaps with other enabled rules for the same fund. If multiple rules contain an overlapping security criteria with different rules (for the same fund), only the first rule is applied.

  4. Click Next.
    You see the Holding Enrichment tab.

Define Holding Enrichment

In the Creating Enrichment Rule dialog box's Holding Enrichment tab, you can define how direct and synthetic holdings are enriched. The tab includes these two sections: 

  • Direct Holdings. Allows you to select the field attributes that define how direct holdings are enriched. Direct holdings refer to the positions actually held by the fund, as opposed to the synthetic cash holdings that the system creates during the Enrichment process.

  • Synthetic Holdings. Allows you to select the field attributes that define how synthetic holdings are enriched. Synthetic holdings are used to offset any changes to the direct holdings to keep the fund-level return intact. You can create a synthetic cash position for each enriched security.

    Creating Enrichment Rule dialog box - Holding Enrichment tab

To add field attributes for direct holdings:

  1. In the Direct Holdings section, to enrich new values, click Add

  2. Click an empty cell in the Field column.
    You see the Field Selector dialog box.

  3. Navigate to the appropriate field and select it.

  4. Map the results back to the database by specifying a Target Table in the Target Table column.
    The default is the POSITION_DETAIL table.

  5. Select a Target Column in the Target Column column.
    If you map an enriched value to a previously unused column you may need to create a field attribute to be able to use it in OLAP and Performance reports.

To remove field attributes from direct holdings:

In the Direct Holdings section, to remove enriched values, select the row and click Remove.

To create and add field attributes for synthetic cash holdings:

  1. In the Synthetic Holdings section, if you want the rule to create a synthetic cash position for each enriched security, select the Create synthetic cash holdings check box. 
    When you select this check box:
    - Every security that meets the rules criteria must have a corresponding synthetic cash security linked in the UNDERLYING_SECURITY table. The relationship must have an UNDERLYING_TYPE of SYNTHETIC. Issue Viewer and Reference Data Center (RDC) automate this process.
    - The standard rules for futures, options, and single-leg swaps have this option selected by default. It is not typically used for multi-leg securities.
    - Refer to for additional information.

  2. Click Add to specify the required detail calculations.

  3. Click Next.
    You see the Cash Enrichment tab. 

Define Cash Enrichment

In the Creating Enrichment Rule dialog box's Cash Enrichment tab (not applicable to roll forward rules), you can define how direct and synthetic cash activity (performance transactions) are enriched. You can filter on specific attributes of a record. If you need to apply different calculations to the same security type, but different cash activity criteria, you can either use the filter or a detail calculation. 

For example, if the calculated trade amount for a future buy has a different formula than a sell you can either: 

  • Create a futures rule and set the transaction criteria to trans type = buy, and then add another rule for trans type = sell

  • Use one rule with a detail calculation to set the value before it is mapped. For example: if transaction type = buy, then A+B, if transaction type = sell then y + z.

To define how cash is enriched:

  1. Click the Transaction Criteria link to filter the types of cash activity records to be enriched.
    This option is used with the Security Criteria defined on the Creating Enrichment Rule dialog box Rule Info tab. For example:
    - If the Security Criteria is Security Type = Options, and you do not set a Transaction Criteria, then all cash activity records for options are enriched according to the rule definition.
    - If you set the Transaction Criteria to Transaction Type = BUY; only the buy transactions for options are enriched.

  2. In the Direct Cash Activity section, click Add to select the details calculations for transactions in directly held securities. If you do so:
    - After you click Add, click an empty cell in the Field column. The Field Selector dialog box appears.
    - Navigate to the appropriate field and select it.
    - Next, map the results back to the database by specifying a Target Table in the Target Table column.
    - Then, select a Target Column.
    If you map an enriched value to a previously unused column you may need to create a field attribute to be able to use it in OLAP and Performance reports.

  3. In the Synthetic/Underlying Cash Activity section, you can select the (optional) Create synthetic cash activity check box and then click Add to select the appropriate detail calculations in the Synthetic Cash tab.
    - Every security that meets the rules criteria must have a corresponding synthetic cash security linked in the UNDERLYING_SECURITY table. The relationship must have an UNDERLYING_TYPE of SYNTHETIC. Issue Viewer and Reference Data Center (RDC) automate this process.
    - The standard rules for futures, options, and single-leg swaps have this option selected by default. It is not typically used for multi-leg securities.
    - Refer to for additional information.

  4. Click Finish

Enrichment Rule Examples

Example: Supported 1

This example is supported regardless of the detail calculations contained in the rule, because the two rules have non-overlapping criteria. Both rules recognize the investment type of Future. However, Rule 1 only recognizes futures with sub type = 1 while rule 2 only recognizes sub type 2.

  • Rule 1 has security criteria “Investment Type = Future and Sub Type = 1” for Funds 1-10

  • Rule 2 has security criteria “Investment Type = Future and Sub Type = 2” for Funds 1-10

Example: Not Supported 1

This example is not supported. Rule 1 is broadly defined as all futures. As a result, futures with a sub type = 2 are recognized by both Rule 1 and 2. The two rules use different detail calculations. Any future with a sub type = 2 is captured by Rule 1 and ignored by Rule 2.

  • Rule 1 has security criteria “Investment Type = Future” for Funds 1-10

  • Rule 2 has security criteria “Investment Type = Future and Sub Type = 2” for Funds 1-10

Example: Supported 2

This example is supported even though the two rules have overlapping criteria and different detail calculations. This is because each rule has unique entities contained within the rule. Funds 1-10 (11-20) is only enriched according to rule 1 (rule 2).

  • Rule 1 has security criteria “Investment Type = Future” for Funds 1-10

  • Rule 2 has security criteria “Investment Type = Future” for Funds 11-20

Example: Not Supported 2

We do not recommend including the same fund in both a standard and roll forward rule. The purpose of roll forward is to create positions for dates that do not have data. Standard rules are meant to enrich an existing set of positions. If the same fund were in multiple rules there is a risk that the detail calculations of one rule would overwrite the other.

  • Rule 1 is a standard rule with security criteria “Investment Type = Future” for Funds 1-10

  • Rule 2 is a roll forward rule for Funds 1-10

Create Multiple Rules

You can create multiple rules that allow different funds to enrich the same security type in different ways. To do so, create multiple rules that contain the same security criteria, and then assign specific entities to the appropriate rule. Make sure for rules with the same security criteria that a fund only appears in one rule. Funds can be included in multiple rules if there is no overlap with security criteria. For example, do not put a fund into two rules where one is for "Investment Type X" and another is for "Investment type X and Sub-Type Y". Any security that meets the first rules criteria also meets the second rules criteria.

Additional Rule Types

Roll Forward Rules

Roll forward rules are optional. They provide a way to normalize position data for portfolios that do not have positions loading to the database on a regular basis. For example, real estate funds might only be revalued on a quarterly basis but reporting happens on a monthly basis. Roll forward can capture the last quarter end positions and roll them to the current month end date.

Roll forward creates positions for the date for which you run the engine. Positions are created under the Eagle Enrichment source. The original accounting data is not altered. Roll forward automatically uses the most recent positions based on the source rule hierarchy (Enrichment settings) or source rule override, if applicable.

If a secondary source has data that is newer than the most recent primary source, the secondary source data is used.

Note that custom fields such as Detail Calculations are processed in a special way within roll forward rules. Specifically, holdings based fields always use the values from the original accounting record. However, security data such as price is based on the effective date of the date you are rolling forward to. For example assume the most recent positions are from 12/31/2014 and you are rolling them forward to 1/31/2015. The roll forward rule includes a detail calculation defined as PAR x PRICE (mapped to the market value column). The roll forward process fetches the PAR value from the 12/31/2014 record, multiplies it by the PRICE as of 1/31/2015 then store the result in the market value column on the 1/31/2015 position record for the Eagle Enrichment source.

Roll forward supports custom fields with source specific price fields. This provides a basis for creating estimated valuations using different price sources for different asset classes. You should not include a portfolio in both a standard and roll forward rule, so that one rule does not overwrite the other.

Residual Rules

Residual rules are optional. They interact with any record that is left untouched by all enabled security specific rules for portfolios included in the residual rule.

These rules provide an efficient way to make sure that all previously un-enriched securities receive the same Enrichment processing without having to create numerous security specific rules. For example, assume that there are two security specific rules for options and futures to calculate a custom notional value and map to the NOTIONAL_MARKET_VALUE column. If these are the only rules, then only futures and options have a value in that column. Assume that for reporting purposes it is beneficial if ALL securities had a value in that column. You could create a residual rule with no security criteria to map the value from MARKET_VALUE to NOTIONAL_MARKET_VALUE. When the engine runs, it looks at all the positions for the portfolios. All the futures and options are enriched according to the security specific rule. Everything that is not a future or option is picked up by the residual rule.

A portfolio should only be in one residual rule.

Next Page