MVAFunds Prototype
The MVAAmountFormula provides a modified syntax to calculate the adjustment amount. The output of this function will be available in transaction math and the regular assignments will be available for MVA related funds.
MVA Amounts are calculated at deposit levels in addition to fund levels and those amounts are captured on the dynamic fields of APolicyValue, AsFundValue and AsDepositValue in addition to the fixed column MVAAmount on AsScheduledValuation and AsScheduledValuationDeposit. While writing the MVA amount, all these locations are controlled by the existing plan level WriteValuationElements business rule. Mapping the value to the locations is handled by the new Valuation element of the MVAAmountFormula rule.
Prerequisites
- User should be able to add MVA fund at the policy level.
- User should be able to add the 'MVADeposit', ‘MVAWithdrawal’ and ‘MVATransfer’ transactions in the application.
-
In order to exercise the MVA calculation by deposit, an MVA type fund must be available to the plan having deposit level tracking turned on.
New Items
- Two transactions called 'MVADeposit', 'MVAWithdrawal' and 'MVATransfer' transactions are created under 'Index Prototype Plan'.
- A fund referred as 'MVA Fund' is added at the 'Index Prototype Plan' level.
- A business rule is created in the name of MVAAmountFormula which will calculate the MVAAmount depending on the MVAStartDate, MVAEndDate, and CashValue. MVA override is created for the new fund.
- An override for InterestRateCalculation is added at the 'MVA fund' Level.
Transaction name: MVADeposit
Company name: Prototype Individual Child Company
Product Name: Individual Prototype Product
Plan Name: Index Prototype Plan
Transaction name: MVAWithdrawal
Company name: Prototype Individual Child Company
Product Name: Individual Prototype Product
Plan Name: Index Prototype Plan
Transaction name: MVATransfer
Company name: Prototype Individual Child Company
Product Name: Individual Prototype Product
Plan Name: Index Prototype Plan
- WriteValuationElements - plan level rule for the Index Prototype Plan.
- MVAWithdrawalFromDeposit - policy transaction for the Index Prototype Plan.
Changes to Existing Items
- CopyBook-AllValuesIndex is altered to include MVA Fund name into it.
- MVAAmountFormula - fund level override for the MVA Fund. Added new Valuation and MVAAmount elements.
Configuration Details
- MVAAmountFormula: The configuration is done as such to calculate the MVAAmount with the help of MVAStartDate, MVAEndDate, CashValue of MVA fund using the formula provided.
- MVADeposit: This configuration will have an input field which captures the deposit amount to the funds. With the help of assignment, the captured amount will be invested into MVA Fund.
- MVAWithdrawal: This configuration will have an input field which captures the withdrawal amount from the funds. The WithdrawalAmount captured from the transaction is added with the MVAAmountFromula output. The summed up amount will be deducted from the fund with the help of RemoveByFund assignment.
- MVATransfer: This transaction will remove the amount from the MVA Fund and invests the money to other allocations which is present at the Policy Level on the basis of fund count.
-
WriteValuationElements: Index Prototype Plan override. The MVAAmount is added under Policy, Fund and Deposit elements to write the MVAAmount value from the MVAAmountFormula rule to AsPolicyValueField, AsFundValueField, and AsDepositValueField respectively when the MVA fund is valued.
- MVAAmountFormula: Added elements to the MVA Fund override.
- Valuation/MVAAmount: Elements within the Output section. MVAAmount value set to calculated MVAOutputAmountMV mapped output variable.
- MVAWithdrawalFromDeposit: Index Prototype Plan transaction. Processing order 2400 (after MVADeposit and equal to MVAWithdrawal).
- Fields: Valuation process must exist for effective date but not for system date.
- Math:
RemovalPercent - Expression multiplies the WithdrawalPercent field by -1 to get the withdrawal factor.
RemovalDepositCollection - Initializes the Deposit collection for the RemoveByFund Assignment.
FundGUIDArray - Fills an array with the FundGUIDs from the activity's valuation.
FundCount - An aggregate function count of the funds in the FundGUIDArray for the fMVADepositLoop math loop.
MathLoop (fMVADepositLoop) - loops through the Funds in the FundGUIDArray.
- FundGUID - Holds the FundGUID for the index of the fMVADepositLoop math loop
- FundGUID - Holds the FundGUID for the index of the fMVADepositLoop math loop
- FundGUID - Holds the FundGUID for the index of the fMVADepositLoop math loop
- FundGUID - Holds the FundGUID for the index of the fMVADepositLoop math loop
DepositGUID - Holds the DepositGUID for the index of the FundDepositLoop math loop
DepositCashValue - Holds the CashValue from valuation for the DepositGUID
DepositCashValue - Holds the CashValue from valuation for the DepositGUID
DepositCashValue - Holds the CashValue from valuation for the DepositGUID
DepositCashValue - Holds the CashValue from valuation for the DepositGUID
- Assignment - Type is RemoveByFund
MoneyType is 32 (Withdrawal)
- VALUATIONCOLLECTION is Yes indicating collection is of DepositGUIDs
- ASSIGNMENTFUNDCOLLECTION is set to RemovalDepositCollection