36.1.4 Creating a Dynamic Stochastic / Historical Simulation Process Rule

Stochastic Processing differs from Deterministic Processing in that it generates Earnings, Market Value and Value at Risk by Historical or Monte Carlo simulations. Rates scenarios are generated based on a Term Structure model, which describes how the interest rate curve changes over time. Before instru­ment records are processed, balance and payment fields are first translated to the reporting currency, and then reported in the reporting currency.

Note:

Stochastic simulation is a single factor modeling of interest rates of Reporting Currency. Although the engine does convert Balances into Reporting Currency, there is no correlation of Risk factors of particular Currency’s Interest rates with Reporting Currency. Sto­chastic processing is not intended for Multi-currency processes.

For best results, run Stochastic calculation for a Single currency where Functional Currency = Reporting Currency.

  1. Follow steps 1 and 2 from the Static Deterministic process defined above.
  2. Calculation Elements
    • Select the calculation elements. There are three choices: EaR, VaR and Market Value

      Earnings at Risk: Earnings at Risk uses the Historical or Monte Carlo rate generator to gener­ate a series of rate paths which is applied to instrument records to produce earning fore­casts. This option writes out two standard result sets: average leaf earnings and average total portfolio earnings. Average leaf earnings is written out to EAR_LEAF_AVG_xxx whereas aver­age total portfolio earnings is written out to EAR_TOTAL_AVG_xxx with xxx denoting the sys­tem id number of the process.

      Value at Risk: Value at Risk measures the probability of changes in value of the current posi­tion data, occurring over specified time horizons, displayed in the interface as the At Risk period. The At-Risk period defines the time period over which changes in market value are calculated.

      When the user selects the Value at Risk calculation option in a process ID and subsequently runs that ID, the software will in addition to calculating the current market value, calculate the change in market value for each rate path and rank these changes in market value for each product leaf and for the entire balance sheet. These results are stored in two tables: FSI_O_STOCH_VAR and FSI_O_STOCH_TOT_VAR. Note: When Value at Risk is selected, mar­ket value is also written to the FSI_O_STOCH_MKT_VAL table.

      Market Value: Market Value is calculated per rate scenario for each Product Leaf member. The result Market Value is the total Market Value over the number of rate paths per Product Leaf. The results are stored in FSI_O_STOCH_MKT_VAL.

    • "Stop holiday calendar" checkbox is provided with a calendar date picker. If checked, a calen­dar is enabled on which a date can be selected. Cash flows generated post this date will not apply the holiday calendar. On selecting the checkbox a warning message will pop up stating "If Enabled, the outputs could have a combination of adjusted and unadjusted cashflows".

      Note:

      Holiday calendar is used to adjust the outputs on holiday events, which may increase processing time. If Users do not want to have adjusted output after a certain time point, say, when buckets become wider, then this field stops adjusting cashflows from that time point, reducing processing time. If user wants to have cash flow adjusted for entire processing period, then this field does not require any input.

    • Click Apply and the screen will take you to Processing Parameters.
  3. Processing Parameters: Here you set the parameters for the stochastic process by selecting the term structure model, smoothing method, number of rate paths, Random number generation method, and seed value. Each is described in the following sections:

    There is a toggle that enables the user to choose between Monte Carlo Simulation and Historical Simulation, with the default selection being Monte Carlo Simulation.

    If Historical Simulation is selected, only Smoothing Method and Number of Rate Paths is enabled for selection. If Monte Carlo Simulation is selected, then all the five parameters are enabled for selection.

    1. Term Structure Method: four models to choose from: For more information on term struc­ture models, see the Oracle Financial Services Analytical Applications Cash Flow Engine Reference Guide.

      Merton—real interest rate model

      Ho and Lee—no arbitrage model

      Vasicek—real interest rate model

      Extended Vasicek— no arbitrage model

    2. Smoothing method: Smoothing is the drawing of a smooth, continuous line through observ­able market data points. Because there are an infinite number of these lines passing through a given set of points, additional criteria must be added to the smoothing process to achieve the desired term structure. The following methods are available:

      Linear Interpolation – Linear interpolation uses linear yield curve smoothing. Linear yield curves are continuous but not smooth; at each knot point there is a kink in the yield curve. You may not want to use a linear yield curve with a model that assumes the existence of a continuous forward rate curve, due to the nonlinear and discontinuous knot points of a lin­ear yield curve

      Cubic Spline of Yields – A cubic spline is a series of third degree polynomials that have the form

      y = a + bx + cx2 + dx3

      These polynomials are used to connect the dots formed by observable data. The polynomi­als are constrained so they fit together smoothly at each knot point (the observable data point.) This means that the slope and the rate of change in the slope with respect to time to maturity have to be equal for each polynomial at the knot point where they join. If this is not true, there is a kink in the yield curve and they are continuous but not differentiable.

      Two more constraints make the cubic spline curve unique. The first restricts the zero-matu­rity yield to equal the 1-day interest rate. The second restricts the yield curve at the longest maturity to be either straight (y"=0) or flat (y'=0).

      Quartic Spline: Quartic interpolation requires a minimum of 4 knot points. The quartic inter­polation equation can be represented as

      Y = a + b X1 + CX2 + d X3 + e X4

      The end knot points satisfy equations for one curve and all intermediate points satisfy two curves. Hence in a scenario with minimum number of knot points, there will be 6 equations. For n number of knot points, the number of equations is 2n-2. If n is the number of points to be interpolated, the order of the matrix to be formed is 5*(n-1) x 5*(n-1). The matrix is formed according to the following logic:

      The second derivative at the end points and the first derivative of the last point is Zero.

      At the points other than the end points the value of the first derivatives, second derivatives and the third derivatives of the function are equal.

    3. Number of paths – Specifies the number of simulations to execute. The valid range is from 1 to 2100. The default is 200. If the number of rate paths is not within the range of 1 to 2100, then an error message is displayed to the user.
    4. Random Number Generation Method: To run Monte Carlo simulations, you must specify the random number generator algorithm for the rate path generation.

      Low Discrepancy Sequences: Also known as quasi-random sequences, are designed to pre­vent clustering of generated numbers; this results in achieving better accuracy than pseudo-random sequences when applied to numerical problems; integration in high dimensions, and so on.

      Pseudo Random Sequences: The traditional random numbers generated by most compilers. They are designed to do well on some statistical tests: low autocorrelation, high period before the sequence repeats itself.

    5. Seed Value: Fixed or Variable. If fixed, maximum value of 999. Fixed seed selection results in the same set of random numbers being generated with each run. If you keep the fixed seed a constant value, you will be able to re-produce results from one run to another. The variable seed option allows the system to determine the seed value randomly with each run. This option will result in a different set of random numbers for each run and hence different results from each run.

      Note:

      Seed value selections apply to the Pseudo Random Sequences option only.

    6. Once defined, click Apply and you will be taken to the Forecast Balance screen.
  4. Forecast Balances: Click the Forecast Balance box and select from the defined forecast balance rules. Click Apply.
    • Maturity Mix: Select the desired Maturity Mix rule and click “apply”. For more information on how to set up the Maturity Mix, see Forecast – Maturity Mix.
    • Pricing Margins: Select the desired Pricing Margin rule from the defined list and click “Apply”. The screen will take you to Rate Index (For more information on setup details, see Forecast - Pricing Margins).
  5. Rate Index: Select the rate index as it was defined in the Stochastic Rate Indexing rule, (For addi­tional information on the setup rules for rate indexing, see Stochastic Rate Indexing.

    Click Apply. The screen will take you to Product Characteristics.

  6. Product Characteristics: Select the desired product characteristics rule. (For more information on creating a product characteristic rule,)
    1. Click Apply and the screen will take you to Freeze Process.
    2. If you want to include a prepayment/early redemption, transaction strategy, output prefer­ence, or audit rule in the process, click the desired rule and define accordingly. The four are noted briefly below.

    Prepayments/Early Redemptions: click the box and choose the defined prepayment rule, Click Apply (See Prepayment Rules

    Transaction Strategy: Click the box and select the defined transaction strategies for inclusion in the process. Click Apply (See Transaction Strategies)

    Output Preferences options Refer to step #6 in Static Stochastic Process Rule.

    Audit: Refer to Step #7 in Static Stochastic Process Rule.

  7. Freeze Process
    1. Select Freeze to complete the process.
    2. Select Reset to erase all selections made previously within the process definition flow.
    3. Select Confirm.