Engine Maintenance of Position Base and Local Currency Fields (Multicurrency Build)

Typically the Entity Build engine processes only numeric fields defined as entity build field attributes. However, when you submit the build for multicurrency, the engine populates the position and position details fields defined in the internal field attributes, i Entity Build Base Currency and i Entity Build Local Currency. This facilitates the engine's ability to build fund-of-fund structures as well as to communicate the currencies of the local and base values stored in the holding tables.

Submit for Multicurrency

The Entity Build engine processes using the currency conversion only if the submitted entity has a valid foreign exchange source rule assigned. If none is found, the engine processes assuming all underlying constituent entities are loaded in the same currency.

How Entity Build Handles Missing Data

To maintain backward compatibility, the Entity Build engine must assume some level of processing and recovery when data is missing for fields that control the multicurrency build process. These messages are written to the engine log as well as the Feed Results table, visible from Feed Errors tab in the Monitor workspace's event details window.

The following table describes the messages for missing data. 

Missing Data

Message

Explanation

Missing Data

Message

Explanation

Base Currency is missing on the submitted entity

Level:1, Cannot build Entity XXXX. No base currency found for entity XXXX.

When the internal field attribute i Entity Build Base Currency is defined against ENTITY.BASE_CURRENCY and no value is found, the build fails with the message.This is considered a failure and the build terminates for this entity.

Base Currency is missing on an underlying constituent entity

Level:1, No base currency found for underlying Entity_Id XXXX, Src_Intfc_Inst ##, and Effective_Date MM/DD/YYYY

When no value is found for the position field defined by the internal field attribute i Entity Build Base Currency, the build reports this message.

This is considered a warning and the build continues based on the ENTITY_BUILD_FLAG for the submitted entity.

Local currency is missing on an underlying constituent entity

Level:1, No local currency found for underlying Entity_Id XXXX, Src_Intfc_Inst ##, Effective_Date MM/DD/YYYY, and Security_Alias ##

When no value is found for the position detail field defined by the internal field attribute i Entity Build Local Currency, the build reports this message.

This is considered a warning and the build continues based on the ENTITY_BUILD_FLAG for the submitted entity.

FX spot rate is missing for an underlying entity's local or base currency

Level:1, No FX Rate found for From Security ##, To Security ##, Src_Intfc_Inst (##, ##, ##, …), and Effective_Dates MM/DD/YYYY - X through MM/DD/YYYY

When no value is found for an FX spot rate, the build reports this message.

Entity build is submitted for multicurrency processing and the engine fails to find the FX spot rate for any currency involved

Level:1, Cannot build Entity XXXX. No FX spot rate found for currency XXX, source instance ## and effective date – 11/01/02 00:00:00.000.

The build fails with this message.

Multicurrency Build Example

The following example describes a multicurrency build for a simple composite of composites structure.

Sample Multicurrency Prebuild

Entity structure – Assume a structure consists of COMP B made up of COMP A and PORT 3, where COMP A is composed of PORT 1 and PORT 2 as follows:

  • COMP B (Base Currency of USD)

  • COMP A (Base Currency of GBP)

  • PORT 1

  • PORT 2

  • PORT 3

Holding data prior to the build– FX rates used in this example are:

  • USD to GBP – 0.5469

  • USD to EUR – 0.8282

Entity

Position Base Currency

Position Detail Local Currency

Position Detail Local Market Value

Position Detail Mkt Value

Position Market Value

PORT 1

USD







$20,000



SEC 1

EUR

ª 8,282

$10,000





SEC 2

GBP

£ 5,469

$10,000



PORT 2

GBP







£10,938



SEC 1

EUR

ª 8,282

£5,469





SEC 2

GBP

£ 5,469

£5,469



PORT 3

EUR







ª16,564



SEC 1

EUR

ª 8,282

ª 8,282





SEC 2

USD

$10,000

ª 8,282



Sample COMP A Multicurrency Build

Holding data when COMP A is built– When the engine is run, the underline values from PORT 1 and PORT 2 are converted to the base currency (target currency) of COMP A, which is GBP. The engine is responsible for storing the target currency in both the position and position detail fields as defined in the internal entity build field attributes. See the following table.

Entity

Position Base Currency

Position Detail Local Currency

Position Detail Local Market Value

Position Detail Mkt Value

Position Market Value

COMP A

GBP







£ 21,876



SEC 1

GBP

£ 10,938

£ 10,938





SEC 2

GBP

£ 10,938

£ 10,938



Sample COMP B Multicurrency Build

Holding data when COMP B is built– When the engine is run, the underline values from COMP A and PORT 3 are converted to the base currency (target currency) of COMP B, which is USD. The engine stores the target currency in both the position and position detail fields as defined in the internal entity build field attributes. See the following table.

Entity

Position Base Currency

Position Detail Local Currency

Position Detail Local Market Value

Position Detail Mkt Value

Position Market Value

COMP B

USD







$60,000



SEC 1

USD

$30,000

$30,000





SEC 2

USD

$30,000

$30,000




About Entity Build Minimum and Maximum Calculation Types

The list of entity build calculation types available to the engine includes minimum and maximum in addition to the calculation types of sum, weighted average, and mean. The following figure shows the calculation types available in the General Reporting workspace's New Entity Build Field dialog box.

The minimum calculation type enables users to configure the engine to find the minimum value stored across all underlying constituent entities for a given security alias. The maximum calculation type is used to find the maximum value across all underlying constituent entities for a given security alias.

Clients with entity builds configured for security uniqueness based on security and long short indicator will find the maximum and minimum values based on that combination.

The list of available calculation types depends on the Holdings table and field type defined in the attribute.

  • For numeric fields defined against a position detail-level table, the list of available calculation types is minimum, maximum, mean, sum, and weighted average.

  • For numeric fields defined against a position-level table, the list of calculation types is minimum, maximum, and sum.

  • For character fields defined against a position-level or position detail-level table, the list of available calculation types is minimum and maximum.

  • For date fields defined against a position-level or position detail-level table, the list of available calculation types is minimum and maximum.

Simple Average Calculation

The system provides a denominator type called <count> that is available when creating an entity build attribute using the Mean calculation type. When you use the <count> denominator value, the engine calculates a simple average by taking the sum of the numerator and dividing it by the total count of records across all underlying constituent entities for a given security. The following figure shows <count> denominator selected in the General Reporting workspace's New Entity Build Field dialog box.

Position-Level Field Attributes

The system simplifies the process for creating entity build field attributes against position-level table fields by providing an option to identify that the attribute is for position-level tables. When enabled, Eagle users provide basic information, such as table, field, and calculation type. After the user saves the information, the system creates the field attribute with the proper attribute detail assignments. The following figure shows position level entity build attributes.