Typically the Entity Build engine processes numeric fields defined as entity build field attributes only. However, when submitting 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 as it does today, 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 the Event Details window:
- Base Currency is missing on the submitted entity – 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:
Level:1, Cannot build Entity XXXX. No base currency found for entity XXXX
. This is considered a failure and the build terminates for this entity.
- Base Currency is missing on an underlying constituent entity – When no value is found for the position field defined by the internal field attribute i Entity Build Base Currency, the build reports the following message:
Level:1, No base currency found for underlying Entity_Id XXXX, Src_Intfc_Inst ##, and Effective_Date MM/DD/YYYY
. 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 – When no value is found for the position detail field defined by the internal field attribute i Entity Build Local Currency, the build reports the following message:
Level:1, No local currency found for underlying Entity_Id XXXX, Src_Intfc_Inst ##, Effective_Date MM/DD/YYYY, and Security_Alias ##
. 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 – When no value is found for an FX spot rate, the build reports the following message:
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
- If the entity build is submitted for multicurrency processing and the engine fails to find the FX spot rate for any currency involved, the build fails with the following message:
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.
Multicurrency Build Example
The following table describes an example of a multicurrency build for a simple composite of composites structure.
- 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
- 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 |
|
- 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.
NOTE: 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.
WRITERS NOTE: redo screenshot: you can see underlying fields now. Are they documented?
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.
0 Comments