MathStatement Element

Description

A MathStatement is a predefined hybrid function that can be used during assignment processing for unit linked funds. The functions can find last known fund prices or the next exchange date fund price, when calculating valuation units and amounts. Existing functions include:

 

In order to process unit linked funds, assignment will require that one of these functions exist in Math.

FindNextExchangeDatePricing MathStatement
TYPE=FindNextExchangeDatePricing    
Element Attribute Value Element Value Definition
<Math>      

<MathVariables>

     

<MathStatement>

    Math element executing predefined function code.
TYPE

ActivityFunction – Literal value only

 

FUNCTIONNAME

FindNextExchangeDatePricing

Literal value only

Name of Statement Function

<Parameters>

     

<Parameter>

 

Predefined MathVariable Name

Integer: Optional input of the offset.

NAME

ExchangeDateOffset - Literal value only

Defined input name.

TYPE

INPUT

Function parameter type: Input/Output

<Parameter>

 

Predefined MathVariable Name

Date: Optional output of the guaranteed exchange date for use in activity math.

NAME

GuaranteedExchangeDate - Literal value only

Defined output name.

TYPE

INPUT

Function parameter type: Input/Output

<Parameter>

 

Predefined MathVariable Name

Date: Optional output of the guaranteed gail/loss exchange date for use in activity math.

NAME

GainLossExchangeDate - Literal value only

Defined output name.

TYPE

INPUT

Function parameter type: Input/Output

<Parameter>

 

Predefined MathVariable Name

Date: Optional output of the rates that exist.

NAME

RatesExist - Literal value only

Defined output name.

TYPE

INPUT

Function parameter type: Input/Output

XML Example

<MathStatement TYPE="ACTIVITYFUNCTION" FUNCTIONNAME="FindNextExchangeDatePricing">
<Parameters>
<Parameter NAME="ExchangeDateOffset" TYPE="INPUT">InputOffset</Parameter>
<Parameter NAME="GuaranteedExchangeDate" TYPE="OUTPUT">CurrencyExchangeDate</Parameter>
<Parameter NAME="GainLossExchangeDate" TYPE="OUTPUT">GainLossCurrencyExchangeDate</Parameter>
<Parameter NAME="RatesExist" TYPE="OUTPUT">RatesExist</Parameter>
</Parameters>
</MathStatement>
FindLastExchangeDatePricing MathStatement
TYPE=FindLastExchangeDatePricing      
Element Attribute Value Element Value Definition
<Math>      

<MathVariables>

     

<MathStatement>

    Math element executing predefined function code.
  TYPE

ActivityFunction – Literal value only

 

  FUNCTIONNAME

FindLastExchangeDatePricing

Literal value only

Name of Statement Function

<Parameters>

     

<Parameter>

 

 

 

NAME

 

TYPE

Predefined MathVariable Name

 

GuaranteedExchangeDate - Literal value only

 

OUTPUT

Date: Optional output of the guaranteed exchange date for use in activity math.

 

Defined output name.

 

Function parameter type: Input/Output

<Parameter>

 

 

 

NAME

 

TYPE

Predefined MathVariable Name

 

GainLossExchangeDate - Literal value only

 

OUTPUT

Date: Optional output of the guaranteed gain/loss exchange date for use in activity math.

 

Defined output name.

 

Function parameter type: Input/Output

XML Example

<MathStatement TYPE="ACTIVITYFUNCTION" FUNCTIONNAME="FindLastExchangeDatePricing">
<Parameters>
<Parameter NAME="GuaranteedExchangeDate" TYPE="OUTPUT">CurrencyExchangeDate</Parameter>
<Parameter NAME="GainLossExchangeDate" TYPE="OUTPUT">GainLossCurrencyExchangeDate</Parameter>
</Parameters>
</MathStatement>
 
MathValuation MathStatement
TYPE=MathValuation      
Element Attribute Value Element Value Definition
<Math>      

<MathVariables>

     

<MathStatement>

Math element executing predefined function code.

TYPE

ActivityFunction

Literal value only.

 

FUNCTIONNAME

MathValuation

Required.

Name of Statement Function

<Parameters>

Required.

<Parameter>

A field or math variable containing a date. Must be a Date datatype.

Required.

Defines the date for valuation.

NAME

ValuationDate

Literal value only.

Required.

Defines the valuation date.

TYPE

INPUT

Required.

Function parameter type: Input/Output.

<Parameter>

A literal or a field or math variable containing a "Yes" or "No" text string.

Required.

Specifies whether the PolicyValues business rule will execute during the valuation process on each policy.

NAME

PolicyValues

Literal value only.

Required.

Defines the parameter to assign the value

TYPE

INPUT

Required.

Function parameter type: Input/Output.

<Parameter>

A literal or a field or math variable containing a "Yes" or "No" text string.

Required.

No: Indicates the valuation is to be calculated with the exact prices as of the ValuationDate.

Yes: valuation is to be calculated using the last known prices as of the ValuationDate.

If this value is set to No and there are no prices for the specified valuation date, a business error is thrown indicating fund prices do not exist for the specified valuation date.

NAME

NearestPrice

Literal value only.

Required.

Defines the parameter to assign the value

TYPE

INPUT

Required.

Function parameter type: Input/Output.

<Parameter>

A field or math variable containing a text value of "true" or "false".

Optional.

The ExactPriceDateUsed output parameter returns true or false to indicate whether the fund prices used to value the policy were as of the exact ValuationDates specified (true) or the nearest price dates (false).

The NearestPrice parameter must be set to "Yes" to use this output. If NearestPrice is set to “No” the output value will always be ‘true’ when the activity processes.

NAME

ExactPriceDateUsed

Literal value only.

Required.

A math variable to hold the function output.

TYPE

OUTPUT

Required.

Function parameter type: Input/Output.

XML Example

<MathStatement TYPE=”ACTIVITYFUNCTION” FUNCTIONNAME="MathValuation">
<Parameters>
<Parameter NAME=”ValuationDate” TYPE="INPUT">MyValuationDate</Parameter>
<Parameter NAME=”PolicyValues” TYPE="INPUT">Yes</Parameter>
<Parameter NAME=”NearestPrice” TYPE="INPUT">Yes</Parameter>
<Parameter NAME=”ExactPriceDateUsed” TYPE="OUTPUT">ExactPriceDateUsedMV</Parameter>
</Parameters>
</MathStatement>
 
GetFundPositions MathStatement
TYPE=FindNextExchangeDatePricing    
Element Attribute Value Element Value Definition
<Math>      

<MathVariables>

     

<MathStatement>

    Math element executing predefined function code.
TYPE

Activity Function– Literal value only

 

FUNCTIONNAME

GetFundPositions

Literal value only

Retrieves a policy’s parent fund guid that have fund values

<Parameters>

     

<Parameter>

 

Predefined MathVariable Name

Integer: Optional input of the offset.

NAME

ExcludeFunds - Literal value only

Array of fund types that should not be included in the fund position determination

TYPE

INPUT

Function parameter type: Input/Output

<Parameter>

 

Predefined MathVariable Name

Date: Optional output of the guaranteed exchange date for use in activity math.

NAME

ParentFundCollectionAmount - Literal value only

Collection of parent fund guids and values.

TYPE

OUTPUT

Output Collection

<Parameter>

 

Predefined MathVariable Name

Date: Optional output of the guaranteed gail/loss exchange date for use in activity math.

NAME

GainLossExchangeDate - Literal value only

Defined output name.

TYPE

INPUT

Function parameter type: Input/Output

<Parameter>

 

Predefined MathVariable Name

Date: Optional output of the rates that exist.

NAME

RatesExist - Literal value only

Defined output name.

TYPE

INPUT

Function parameter type: Input/Output

XML Example

<MathStatement TYPE=”ACTIVITYFUNCTION” FUNCTIONNAME="GetFundPositions">
<Parameters>
<Parameter NAME=”ExcludeFunds” TYPE="INPUT">FundTypeArray</Parameter>
<Parameter NAME=”ParentFundAmountCollection” TYPE="OUTPUT”>OutputCollection</Parameter>
<Parameters>
</MathStatement>