5.1.3.1.5 Managed Rates

Managed rates are IRC objects that are based on a logical and/or mathematical formula instead of being based on a yield curve. This is useful if you do not have a straight forward application function that generates a rate based on a formula. Managed Rates are formula-driven IRC (interest rate curve or yield curve) objects. The Managed Rates UI provides the following functionalities:
  • Allows to create a managed rates formula with the help of equation builder.
  • You can create a managed rates formula by using existing IRC, Currency, Economic Indicator objects and combining it with various mathematical operators.
  • Execute managed rates using Scheduler Service

Managed Rate Formulas

Managed Rates are free form, user-defined formula, that is, equation based objects. You can use a variety of mathematical, logical, or reference functions to define a Managed Rate. Regardless of the complexity of the function, it always return only one numerical value every time when it is evaluated.

For example, there are three basic inputs for Market Rates formulas:

Numerical and mathematical values, including embedded functions (for example, "SUM" or "AVERAGE").

Existing Rate Management objects such as interest rate curves, economic indicators, and foreign currencies

Reference in time specification, that is, a relative or absolute reference in time either in the past, present, or future.

Note:

Formulas are statements. These can be mathematical, logical, or reference one or more Application objects, but it returns a single numerical value.

For example:

Formula input: 1+1

Returns: 2

It is not mandatory to include the "=" symbol in the expression as this is already implied.

There is no nominal value of the rate, that is, it cannot be an accrual, day count, compounding, or other rate identities; it is simply a number.

Basic syntax is required if other service objects are reference, then you must specify three distinct components:

  1. Object type code or name
  2. Object ID
  3. Tenor
  4. Place in time in the forecast

[Object type code].[Object ID].[Tenor if IRC, 0 if anything else].[Place in time]

For example, suppose you want a formula that refers to an interest rate curve's 1 month tenor on a current basis, then its syntax would look something like this:

Figure 5-8 Example of Managed Rate


Example of Managed Rate

Here,

[IRC_202] is the IRC code (Object ID)

[1M] is the Term.

[0] is time. This calculates Past, present or future dates/rates with ease for any term/tenor and forecast method definition. The default value is 0. [0] means the now. [-1] refers to back one period. [$] refers to constrained time period.

Note:

If the time value falls outside of provided numbers, the Application will refer to the closest matching value. If no value can be retrieved or if the value is null, then the Managed Rate formula will not be evaluated.

Managed Rate Processes

When you validate Managed Rates, it is processed under two conditions:

  1. Managed Rates for Historical Values

    You can use the entered managed rate to derive one or more historical values as specific points in time at or before the current As-of Date.

    Function is executed at the Rate Management level for Managed Rate functions. Specify one or more historical dates that you want to processed and then execute a batch to derive the associated values. All historical values would be stored in a managed rate historical table.

    If a Managed Rate formula has time references that are constrained, the formula will default to the last available value provided. If no value is provided (e.g. value cannot be retrieved or is null), then no rate will be provided for that historical date.

  2. Managed Rates for Forecasted Values

    For forecasted values in an ALM process as established in Forecast Rates. Managed Rates will be forecasted using the forecasted base objects like IRC, Currency and Economic Indicator.

    For more information, see Interest Rate Forecast Methods.

To define Managed Rate, follow these steps:

  1. Select Structure Type as Managed Rates.
  2. Navigate to Managed Rates tab.

    Note:

    This tab will be active only when Structure Type is selected as Managed Rates.
  3. Select the Function type as Interest Rate Curve, Currency, or Economic Indicator to define a formula.
  4. Double-click the Function code to move it to Formula section.
  5. Update the formula. Use arithmetical operator from Operator to define formula if required.

    Figure 5-9 Formula section


    Formula section

    Interest Rate Curve

    This function evaluates rate of selected term point of Interest Rate Curve, in the past, present or future

    IRC(Name, Term_Point, Time_Reference)

    • Name: Must be an existing IRC
    • Term Point: Must be an existing term point of named IRC
    • Time_Reference: Time_Reference indicates the rate to be forward or backward looking. This should be zero or positive/negative whole number. If left null, replace with zero. 0 indicates current period, positive value indicate forward time and negative value indicates prior period. It can also be relative (moving) or absolute (fixed). Use '$' symbol for absolute Term Reference.

    Currency

    This function evaluates exchange rate of selected currency pair in the past, present or future

    CCY(From_Currency, To_Currency, Time_Reference)

    • From_Currency: Three letter code of active currency
    • To_Currency: Three letter code of reporting currency
    • Time_Reference: Time_Reference indicates the rate to be forward or backward looking. This should be zero or positive/negative whole number. If left null, replace with zero. 0 indicates current period, positive value indicate forward time and negative value indicates prior period. It can also be relative (moving) or absolute (fixed). Use '$' symbol for absolute Term Reference.

    Economic Indicator

    This function evaluates value of selected Economic Indicator in the past, present or future

    ECOIND(Name,Time_Reference)

    • Name: Must be an existing Economic Indicator
    • Time_Reference: Time_Reference indicates the rate to be forward or backward looking. This should be zero or positive/negative whole number. If left null, replace with zero. 0 indicates current period, positive value indicate forward time and negative value indicates prior period. It can also be relative (moving) or absolute (fixed). Use '$' symbol for absolute Term Reference.

    Aggregate

    This includes the following functions:

    Menu Description
    Average

    Calculates the average (mean) value of an expression in a result set.

    AVG(expr)

    expr is any expression that evaluates to a numerical value.

    Max

    Calculates the maximum value (highest numeric value) of an expression in a result set.

    MAX(expr)

    expr is any expression that evaluates to a numerical value.

    Min

    Calculates the minimum value (lowest numeric value) of an expression in a result set.

    MIN(expr)

    expr is any expression that evaluates to a numerical value.

    Median

    Calculates the median (middle) value of an expression in a result set.

    MEDIAN(expr)

    expr is any expression that evaluates to a numerical value.

    StdDev

    Returns the standard deviation for a set of values.

    STDDEV(expr)

    expr is any expression that evaluates to a numerical value.

    Sum

    Calculates the sum obtained by adding up all values satisfying the numeric expression argument.

    SUM(expr)

    expr is any expression that evaluates to a numerical value.

    Geometric Mean

    Calculates the the geometric mean of an array or range of positive numeric data.

    GEOMEAN(expr)

    expr is any expression that evaluates to a numerical value.

    Note:

    At least two values/expression are required to calculate above aggregate functions.

    Math

    Menu Description
    Abs

    Calculates the absolute value of a numerical expression.

    ABS(expr)

    expr is any expression that evaluates to a numerical value.

    Log

    Calculates the natural logarithm of an expression.

    LOG(expr)

    expr is any expression that evaluates to a numerical value.

    Log10

    Calculates the base 10 logarithm of an expression.

    LOG10(expr)

    expr is any expression that evaluates to a numerical value.

    Mod

    Divides the first numerical expression by the second numerical expression and returns the remainder portion of the quotient.

    MOD(expr, divisor)

    expr is any expression that evaluates to a numerical value.

    divisor is any expression or number by which you want to divide

    Power

    Takes the first numerical expression and raises it to the power specified in the second numerical expression.

    POWER(expr, power)

    expr is any expression that evaluates to a numerical value.

    power is the exponent, to which the base expression or number is raised

    Round

    Rounds a numerical expression to n digits of precision.

    ROUND(expr, num_digits)

    expr is any expression that evaluates to a numerical value.

    num_digits is the number of digits to which you want to round. Negative rounds to the left of the decimal point; zero or omitted, to the nearest integer.

    Round Down

    Rounds down a number to either a decimal place or a whole number.

    ROUNDDOWN(expr, num_digits)

    expr is any expression that evaluates to a numerical value.

    num_digits is the number of digits to which you want to round. Negative rounds to the left of the decimal point; zero or omitted, to the nearest integer.

    Round Up

    Rounds up a number to either a decimal place or a whole number.

    ROUNDUP(expr, num_digits)

    expr is any expression that evaluates to a numerical value.

    integer is any positive integer that represents the number of digits of precision.

    Sqrt

    Calculates the square root of the numerical expression argument.

    SQRT(expr)

    expr is any expression that evaluates to a nonnegative numerical value.

    Product

    Multiplies all numerical expressions given as arguments and returns the product.

    PRODUCT(expr1, expr2)

    expr is any expression that evaluates to a numerical value.

    Quotient

    Returns one numerical expression divided by numerical expression, without the remainder.

    QUOTIENT(expr1, expr2)

    expr is any expression that evaluates to a numerical value.

    Example: QUOTIENT(5,2). This will return 2, unlike division which returns 2.5

    Exponent

    Calculates e raised to the power of the numerical expression argument.

    EXP(expr)

    expr is any expression that evaluates to a numerical value.

    Expression

    Menu Description
    Case(If)

    This form of the Case statement evaluates each WHEN condition and if satisfied, assigns the value in the corresponding THEN expression. If none of the WHEN conditions are satisfied, it assigns the default value specified in the ELSE expression. If no ELSE expression is specified, the system will automatically add an ELSE NULL.

    CASE WHEN request_condition1 THEN expr1 ELSE expr2 END

    exprs is any valid expression.

  6. Click Validate. A successful formula validation message is displayed.
  7. After defining and verifying the Managed Rates, execute the IRC using scheduler service.

Executing Managed Rates using Scheduler

To execute the batch, navigate to Operations and Processes and select Scheduler. Select Schedule Batch and search for Historical Managed Rates and execute.

OR

You can also define new batch to execute the Managed Rates by the following these steps:

  1. Navigate to Operations and Processes, select Scheduler, and then select Define Batch.
  2. Create a new Batch with a new Task with Component as IRC Managed Rates.
  3. From the LHS menu, navigate to Operations and Processes, select Scheduler, and then select Schedule Batch to execute the batch. Select the batch and click Execute. For more details about Scheduler processes, see the Scheduler Services.
  4. From the LHS menu, navigate to Operations and Processes, select Scheduler, and then select Monitor Batch. There may be multiple executions of the batch. Select the latest execution and click Start Monitor.

    The UI displays the status of the batch.