Your browser does not support JavaScript!
You are here: Configuration Overview > Business Rules > System Rules > InterestRateCalculation

InterestRateCalculation

Description

The business rule defines the type and details used to calculate interest performed over fixed funds. Interest rate calculation methodologies can be assigned to fixed funds using this rule. In most cases, this rule is overridden on a specific fund.  

Specific values from the database can be retrieved without writing SQL statements by using the available defined prefixes and fields for configuration. Please see the Available Prefixes and Fields for Configuration for a list. 

InterestRateCalculation Element/Attribute Table

Element/Tag

Definition

Attribute

Element/Attribute Value and Description

<InterestRateCalculation>

Opening and closing tag for the rule.

<InterestType>

Required:

Indicates the formula that will be used to calculate interest for the fund.

SIMPLEINTERESTDATE

Compound: Existing calculation type.
Simple: Simple interest will be compounded annually based on the anniversary of a date value specified by SIMPLEINTERESTDATE.

Required when the fund is a simple interest fixed fund type. The value must resolve to a valid date.

Literal date value, Plan field, Policy field or Valuation data using the following syntax:

Plan:some date field

Policy:some date field

Valuation:Deposit:some date field

Valuation:Fund:some date field.

<LeapYearMethod>

Required:

Opening tag to define a node that describes leap year affect on interest calculations.

<Method>

Required:

Opening tag to define the leap calculation method employed by this fund. 

YEAR

Required:

Opening tag to define the calculation method of the numerator and denominator.

Calendar:indicates that leap year is determined based on the calendar year.
ReferenceDate: indicates that leap year is determined based on the number of days between anniversaries of a referenced date field value.
365: the actual value to use in the denominator. 

360: the actual value to use in the denominator.

<MethodReferenceDate>

Required:

This is required when YEAR is ReferenceDate. The value must resolve to a valid date.The number of days between anniversaries becomes the value of the denominator.

Literal date value, Plan field, Policy field or Valuation data using the following syntax

Plan:some date field

Policy:some date field

Valuation:Deposit:some date field

Valuation:Fund:some date field.

<Method365IncludeLeapDayInNumerator> 

Required:

When YEAR is 365. This determines if February 29th is skipped while calculating the number of days for the numerator. 

No: skip February 29th.
Yes: include February 29th.

<InterestPeriod>

Required:

This determines the boundary dates where the numerator and denominator change.Needed with leap year and/or interest rate changes.

Begin: the interest to be calculated includes interest for the beginning date of the date range (last valuation date) and excludes the ending date.
End: the interest to be calculated includes interest for the ending date of the date range (current valuation date) and excludes the beginning date.

<ValueAsOfPreviousDate>

Optional:

Indicates a one day adjustment to both ends of the date range. This provides the ability to value the fixed fund up to but not including the valuation date. The default value is No.

Yes: the start and end dates of the date range will be adjusted one day prior to the valuation date.
No: valuation dates will be kept as is without adjustment.

<GuaranteedInterestRate>

Optional:

Opening tag defining a node that describes the look-up of the guaranteed interest rate. Ultimately, the rate used to calculate interest must be the greater of the result from this node and the result from the CurrentInterestRate node. When this node is not present, consider the result to be 0.

  Optional: Indicates of higher or lower of the GuaranteedInterestRate and the CurrentInterestRate should be used. If the attribute is not present the default is Higher. USERATE

Higher

Lower

<RateType>

Required:

Opening tag for the node that defines the rate or its retrieval. 

TYPE

Required.Describes whether the rate is provided in the rule (Static) or from a retrieval of AsRate/AsRateGroup (Lookup).

Static: rate is provided in <StaticRate>. 

Lookup: rate will be retrieved from AsRate using information provided within <RateLookup>.  

<StaticRate>

 

Required:

When TYPE is Static. Defines a static rate in the rule that never changes.Value must resolve to a decimal data type.

The interest rate as a percentage or decimal equivalent.

  USERATEPERCENT

Optional:

Default value is No.Indicates that the rate is a percentage.

Yes: rate is expressed as a percent and will be divided by 100 before being used in the interest calculations.

No: rate, as expressed, is used in the interest calculations (default). 

<RateLookup>

Required:

Must be in each interest rate node where RateType is Lookup. This is the opening tag defining how to look-up the interest rate and the behavior for changing an interest rate. 

<RateDescription>

Required:

Provides the rate description of the rate(s) to look up. The same rate description that is in AsRate and AsRateGroup.

Literal value, Plan field, Policy field, Math variable or Valuation data using the following syntax Plan:some data field

Policy:some data field

Math:some variable

Valuation:Deposit:xxxx

Valuation:Fund:xxxx

<UseRateAsPercent>

Optional:

Default value is No.Indicates that the rate is a percentage.

 

Yes: rate is expressed as a percent and will be divided by 100 before being used in the interest calculations.

No: rate, as expressed, is used in the interest calculations (default).

<EffectiveDate>

Required:

A date mapped to AsRateGroup’s EffectiveDate. It is used to filter rates based on an approval date. Value must resolve to a valid date.

Literal value, Plan field, Policy field Math Variable or Valuation data using the following syntax Plan:some date field

Policy:some date field

Math:some date variable

Valuation:Deposit:some date field

Valuation:Fund:some date field

<RateChange>

Required:

Opening tag for the rate change node. Defines the behavior of the rate changes that should occur.

Child nodes in this section are required only when TYPE = ReferenceDate.

 

TYPE

Required.Defines how the system treats interest rate changes that occur inclusively between the last valuation and current valuation date.

Never: interest rate changes should not be recognized by the system.
ReferenceDate: provides a date from which to calculate anniversaries/monthaversaries.
Immediate: interest rate changes on the date it is effective (DateCriteria).

Required:

Must use when TYPE is ReferenceDate. Defines how to look up a changed rate after determining that the date range is eligible for rate changes.

LastRateAtDuration:  use a duration calculated as the full number of years or months (see INTERVAL) between <ReferenceDate> and the start date of the time period in which interest is being calculated. Map to the IntegerCriteria column.
LastEffectiveRate:
retrieve the last rate that was declared on or prior to an anniversary/monthaversary (see INTERVAL) that is based on <ReferenceDate>. Map to DateCriteria column. 

<RateCriteria>

Optional:

Provides a value to a criteria column that will be used to retrieve the correct rate(s). This may be repeated up to 11 times (one for each criteria column and one for the IntegerCriteria column) as needed depending on the structure of the set of rates being retrieved. Correct data types will be enforced.

Literal value, Plan field, Policy field, Valuation data or Math variable using the following syntax

Plan:some field

Policy:some field

Valuation:Deposit:data

Valuation:Fund:data

Math:some variable

NAME

Required. The name for the column as provided by AsRateGroup.

DEFAULT

Optional. Provides a secondary value from which the criteria column may be compared to if the use of the primary value has returned no value(s) from the database. Correct data types will be enforced.

Literal value, Plan field, Policy field, Valuation data or Math variable using the following syntax

Plan:some field

Policy:some field

Valuation:Deposit:data

Valuation:Fund:data

Math:some variable

OPERATION

Optional.Default value is EQ. Provides a comparison operator between the database value and the value referenced by the parent tag’s value. 

LT:  Less than
GT:
Greater than
EQ:
Equal to
LTEQ:
Less than equal to
GTEQ:
Greater than equal to

<CurrentInterestRate>

Opening tag defining a node that describes the look-up of the current interest rate.

It is an optional section if <GuaranteedInterestRate> is present. Otherwise, it is required. 

The rate used to calculate interest must be the greater of the result from this node and the result from the GuaranteedInterestRate node. If this node is not present, it evaluates to zero (0).

<RateType>

Required:

Opening tag for the node that defines the rate or its retrieval. 

TYPE

Required.Describes whether the rate is provided in the rule (Static) or from a retrieval of AsRate/AsRateGroup (Lookup).

Static: rate is provided in <StaticRate>. 

Lookup: rate will be retrieved from AsRate using information provided within <RateLookup>.  

<StaticRate>

 

Required:

When TYPE is Static. Defines a static rate in the rule that never changes.Value must resolve to a decimal data type.

The interest rate as a percentage or decimal equivalent.

 

  USERATEPERCENT

Optional:

Default value is No.Indicates that the rate is a percentage.

Yes: rate is expressed as a percent and will be divided by 100 before being used in the interest calculations.

No: rate, as expressed, is used in the interest calculations (default). 

<RateLookup>

Required:

Must be in each interest rate node where RateType is Lookup. This is the opening tag defining how to look-up the interest rate and the behavior for changing an interest rate. 

<RateDescription>

Required:

Provides the rate description of the rate(s) to look up. The same rate description that is in AsRate and AsRateGroup.

Literal value, Plan field, Policy field, Math variable or Valuation data using the following syntax Plan:some data field

Policy:some data field

Math:some variable

Valuation:Deposit:xxxx

Valuation:Fund:xxxx

<UseRateAsPercent>

Optional:

Default value is No.Indicates that the rate is a percentage.

 

Yes: rate is expressed as a percent and will be divided by 100 before being used in the interest calculations.

No: rate, as expressed, is used in the interest calculations (default).

<EffectiveDate>

Required:

A date mapped to AsRateGroup’s EffectiveDate. It is used to filter rates based on an approval date. Value must resolve to a valid date.

Literal value, Plan field, Policy field Math Variable or Valuation data using the following syntax Plan:some date field

Policy:some date field

Math:some date variable

Valuation:Deposit:some date field

Valuation:Fund:some date field

<RateChange>

Required:

Opening tag for the rate change node. Defines the behavior of the rate changes that should occur.

Child nodes in this section are required only when TYPE = ReferenceDate.

 

TYPE

Required.Defines how the system treats interest rate changes that occur inclusively between the last valuation and current valuation date.

Never: interest rate changes should not be recognized by the system.
ReferenceDate: provides a date from which to calculate anniversaries/monthaversaries.
Immediate: interest rate changes on the date it is effective (DateCriteria).

<ReferenceDate>

Required:

Must use when the value of TYPE is ReferenceDate. The value must resolve to a valid date. The value provides a date to calculate durations (if needed) and anniversaries/monthaversaries for shadow removals (if needed).

Literal date value, Plan field, Policy field, Valuation data or Math variable using the syntax Plan:some date field, Policy:some date field, Valuation:Deposit:date, Valuation:Fund:date, Math:some date variable.

<EffectivePeriod>

Required:

Must use when TYPE is ReferenceDate. Value is the number of years or months a particular interest rate is applicable. This maintains a rate for a specific period of time no matter how many rate changes may exist between the last valuation date and the current valuation date.

Any number of years or months is valid. 0 means that the rate may change at any time negating the value of a reference date.

 

INTERVAL

Required when TYPE is ReferenceDate. Defines how EffectivePeriod is expressed. 

Years:  value of <EffectivePeriod> is expressed as years.

Months: value of <EffectivePeriod> is expressed as months. 

<LookUpChangeRateBy>

Required:

Must use when TYPE is ReferenceDate. Defines how to look up a changed rate after determining that the date range is eligible for rate changes.

LastRateAtDuration:  use a duration calculated as the full number of years or months (see INTERVAL) between <ReferenceDate> and the start date of the time period in which interest is being calculated. Map to the IntegerCriteria column.
LastEffectiveRate:
retrieve the last rate that was declared on or prior to an anniversary/monthaversary (see INTERVAL) that is based on <ReferenceDate>. Map to DateCriteria column. 

<RateCriteria>

Optional:

Provides a value to a criteria column that will be used to retrieve the correct rate(s). This may be repeated up to 11 times (one for each criteria column and one for the IntegerCriteria column) as needed depending on the structure of the set of rates being retrieved. Correct data types will be enforced.

Literal value, Plan field, Policy field, Valuation data or Math variable using the following syntax

Plan:some field

Policy:some field

Valuation:Deposit:data

Valuation:Fund:data

Math:some variable

 

NAME

Required. The name for the column as provided by AsRateGroup.

 

DEFAULT

Optional. Provides a secondary value from which the criteria column may be compared to if the use of the primary value has returned no value(s) from the database. Correct data types will be enforced.

Literal value, Plan field, Policy field, Valuation data or Math variable using the following syntax

Plan:some field

Policy:some field

Valuation:Deposit:data

Valuation:Fund:data

Math:some variable

 

OPERATION

Optional.Default value is EQ. Provides a comparison operator between the database value and the value referenced by the parent tag’s value. 

LT:  Less than
GT:
Greater than
EQ:
Equal to
LTEQ:
Less than equal to
GTEQ:
Greater than equal to

<AdditiveInterestRates>

Optional:

Opening tag defining one or more additive rates. Each additive rate is added to the final rate used to calculate interest.

<AdditiveInterestRate>

Required:

Opening tag defining a node that describes calculation of one additive interest rate. The result from this node will be added to the <GuaranteedInterestRate> result, to the <CurrentInterestRate> result or to the result of the greater of <GuaranteedInterestRate> and <CurrentInterestRate>.

 

CODE

Required.Uniquely identifies this node with a code value that provides a business name for the interest rate that is being calculated.

Any valid code value from AsCodeAdditiveRateCode.

<RateType>

Required:

Opening tag for the node that defines the rate or its retrieval. 

TYPE

Required.Describes whether the rate is provided in the rule (Static) or from a retrieval of AsRate/AsRateGroup (Lookup).

Static: rate is provided in <StaticRate>. 

Lookup: rate will be retrieved from AsRate using information provided within <RateLookup>.  

<StaticRate>

 

Required:

When TYPE is Static. Defines a static rate in the rule that never changes.Value must resolve to a decimal data type.

The interest rate as a percentage or decimal equivalent.

 

  USERATEPERCENT

Optional:

Default value is No.Indicates that the rate is a percentage.

Yes: rate is expressed as a percent and will be divided by 100 before being used in the interest calculations.

No: rate, as expressed, is used in the interest calculations (default). 

<RateLookup>

Required:

Must be in each interest rate node where RateType is Lookup. This is the opening tag defining how to look-up the interest rate and the behavior for changing an interest rate. 

<RateDescription>

Required:

Provides the rate description of the rate(s) to look up. The same rate description that is in AsRate and AsRateGroup.

Literal value, Plan field, Policy field, Math variable or Valuation data using the following syntax Plan:some data field

Policy:some data field

Math:some variable

Valuation:Deposit:xxxx

Valuation:Fund:xxxx

<UseRateAsPercent>

Optional:

Default value is No.Indicates that the rate is a percentage.

 

Yes: rate is expressed as a percent and will be divided by 100 before being used in the interest calculations.

No: rate, as expressed, is used in the interest calculations (default).

<EffectiveDate>

Required:

A date mapped to AsRateGroup’s EffectiveDate. It is used to filter rates based on an approval date. Value must resolve to a valid date.

Literal value, Plan field, Policy field Math Variable or Valuation data using the following syntax Plan:some date field

Policy:some date field

Math:some date variable

Valuation:Deposit:some date field

Valuation:Fund:some date field

<RateChange>

Required:

Opening tag for the rate change node. Defines the behavior of the rate changes that should occur.

Child nodes in this section are required only when TYPE = ReferenceDate.

 

TYPE

Required.Defines how the system treats interest rate changes that occur inclusively between the last valuation and current valuation date.

Never: interest rate changes should not be recognized by the system.
ReferenceDate: provides a date from which to calculate anniversaries/monthaversaries.
Immediate: interest rate changes on the date it is effective (DateCriteria).

<ReferenceDate>

Required:

Must use when the value of TYPE is ReferenceDate. The value must resolve to a valid date. The value provides a date to calculate durations (if needed) and anniversaries/monthaversaries for shadow removals (if needed).

Literal date value, Plan field, Policy field, Valuation data or Math variable using the syntax Plan:some date field, Policy:some date field, Valuation:Deposit:date, Valuation:Fund:date, Math:some date variable.

<EffectivePeriod>

Required:

Must use when TYPE is ReferenceDate. Value is the number of years or months a particular interest rate is applicable. This maintains a rate for a specific period of time no matter how many rate changes may exist between the last valuation date and the current valuation date.

Any number of years or months is valid. 0 means that the rate may change at any time negating the value of a reference date.

 

INTERVAL

Required when TYPE is ReferenceDate. Defines how EffectivePeriod is expressed. 

Years:  value of <EffectivePeriod> is expressed as years.

Months: value of <EffectivePeriod> is expressed as months. 

<LookUpChangeRateBy>

Required:

Must use when TYPE is ReferenceDate. Defines how to look up a changed rate after determining that the date range is eligible for rate changes.

LastRateAtDuration:  use a duration calculated as the full number of years or months (see INTERVAL) between <ReferenceDate> and the start date of the time period in which interest is being calculated. Map to the IntegerCriteria column.
LastEffectiveRate:
retrieve the last rate that was declared on or prior to an anniversary/monthaversary (see INTERVAL) that is based on <ReferenceDate>. Map to DateCriteria column. 

<RateCriteria>

Optional:

Provides a value to a criteria column that will be used to retrieve the correct rate(s). This may be repeated up to 11 times (one for each criteria column and one for the IntegerCriteria column) as needed depending on the structure of the set of rates being retrieved. Correct data types will be enforced.

Literal value, Plan field, Policy field, Valuation data or Math variable using the following syntax

Plan:some field

Policy:some field

Valuation:Deposit:data

Valuation:Fund:data

Math:some variable

 

NAME

Required. The name for the column as provided by AsRateGroup.

 

DEFAULT

Optional. Provides a secondary value from which the criteria column may be compared to if the use of the primary value has returned no value(s) from the database. Correct data types will be enforced.

Literal value, Plan field, Policy field, Valuation data or Math variable using the following syntax

Plan:some field

Policy:some field

Valuation:Deposit:data

Valuation:Fund:data

Math:some variable

 

OPERATION

Optional.Default value is EQ. Provides a comparison operator between the database value and the value referenced by the parent tag’s value. 

LT:  Less than
GT:
Greater than
EQ:
Equal to
LTEQ:
Less than equal to
GTEQ:
Greater than equal to

XML Schema

<InterestRateCalculation>
<InterestType>Compound</InterestType>
<LeapYearMethod>
<Method YEAR="Calendar"></Method>
</LeapYearMethod> 
<InterestPeriod>Begin</InterestPeriod>
<ValueAsOfPreviousDate>No</ValueAsOfPreviousDate>
<GuaranteedInterestRate USERATE="Higher|Lower">
<RateType TYPE="Static">
<StaticRate>.03</StaticRate>
<RateAsPercent>No</RateAsPercent>
</RateType>
</GuaranteedInterestRate>
<CurrentInterestRate>
<RateType TYPE="Static">
<StaticRate>.05</StaticRate>
<RateAsPercent>No</RateAsPercent>
</RateType>
</CurrentInterestRate>
</InterestRateCalculation>

Copyright © 2009, 2015, Oracle and/or its affiliates. All rights reserved. Legal Notices