36.1.2 Creating a Static Stochastic / Historical Simulation Process Rule
Stochastic Processing differs from Deterministic Processing in that it generates Market Value and Value at Risk through Historical or Monte Carlo simulations. Rate scenarios are generated based on Random 1 month rates and a Term Structure model, which describe how the interest rate curve changes over time. Before instrument 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. Stochastic processing is not intended for Multi-currency processes.
For best results, run Stochastic calculation for a Single currency where Functional Currency = Reporting Currency.
Figure 36-2 Static Stochastic / Historical Simulation Process
- Follow steps 1 and 2 from the Static Deterministic process defined above.
- Calculation Elements
- Select the calculation elements. There are two choices: VaR and Market
Value
Value at Risk: Value at Risk measures the probability of changes in value of the current position 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 and subsequently runs the process, 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, market 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 calendar 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.
- Select the calculation elements. There are two choices: VaR and Market
Value
- 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.
- Term Structure Method: four models to choose from: For more information on
term structure 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
- Smoothing method: Smoothing is the drawing of a smooth, continuous line
through observable 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 linear 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 polynomials 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-maturity 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 interpolation 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.
- Number of paths – Specifies the number of simulations to execute. The valid
range is from 1 to 2100. If the number of rate paths is not within the range
of 1 to 2100, then an error message is displayed to the user.
However, this value is subject to the Maximum number of Rate Paths for Monte Carlo Processing entered in the Application Preference. You can enter a value that is less than or equal to value that entered in the Maximum number of Rate Paths for Monte Carlo Processing field in the Application Preference.
- 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 prevent 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.
- 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.
Once defined, click Apply and you will be taken to the Rate Index window.
- Term Structure Method: four models to choose from: For more information on
term structure models, see the Oracle Financial Services Analytical
Applications Cash Flow Engine Reference Guide.
- Rate Index: Select the rate index as it was defined in the Stochastic Rate Indexing
rule, (For additional information on the setup rules for rate indexing, see
Stochastic Rate Indexing)
Click Apply. The screen will take you to Product Characteristics.
Product Characteristics: Select the desired product characteristics rule. (For more information on creating a product characteristic rule, see Product Characteristics)
Click Apply and the screen will take you to Output Preferences.
If you want to include a prepayment or early redemption rule in the process run, Click the Prepayments/Early Redemptions box and choose the defined prepayment rule (see Prepayment Rules). This is an optional step.
- Output Preferences options
- Select the Output Dimension from the drop-down list.
Note:
Only Product output dimension is supported for Stochastic/Historical Simulation processing.
- If you have the ALMBI reporting product, you can select to export the results to the ALM BI Mart by clicking the box.
- Click Apply. The screen will take you to the Freeze Process Or you can click the audit box for the following options: If no audit rule is selected, skip to #8, Freeze Process
- Select the Output Dimension from the drop-down list.
- Audit Preferences (optional)
Note:
Known Issue
If you select FE in ALM process and data contains rate-tier instrument, then ALM process will fail.
- Detailed Cash Flow: Check the box to record the cash flows and repricing
events occurring for the desired number of records processed. For each
record, daily results are written to the FSI_O_PROCESS_CASH_FLOWS table. The
data in this table uses the RESULT_SYS_ID, which identifies the Process
used. Select from the option below:
Input the desired number of Records in the dialog box
- When Monte Carlo Simulation is selected in the Processing Parameters, the
One Month Rates is enabled for definition. One Month Rates defines rates to
be written during the Monte Carlo simulation for auditing purposes.
Select this option to view the rate paths generated during the stochastic processing run. When selected, 360 monthly rates are output to the FSI_INTEREST_RATES_AUDIT table, for each rate path. Note: This process can be extremely time consuming and database space intensive when processing large numbers of rate paths
- When Historical Simulation is selected in the Processing Parameters, the All
Term Point Rates for 5 Rate Paths is enabled for definition. All Term Point
Rates for 5 Rate Paths defines rates to be written during the Historical
Simulation for auditing purposes.
Once clicked, a warning message is displayed as follows: “Selecting All Term Point Rates will result in large amount of data being written to the Forecast Rates Audit table. Are you sure you want to proceed?”
- Tiered Balanced Cash Flows: Tiered Balanced Cash Flows option allows you to define the Tiered balance interest. The Tiered balance interest is useful when a different interest rate is paid/charged for parts of an account balance that fall within set amount ranges. Payment frequency, current payment and so on can will be defined at account level. Reprice frequency, next reprice date and so on can be defined at tier level.
Select this option when you want system to write detailed cash flows are rate tier level.
- Detailed Cash Flow: Check the box to record the cash flows and repricing
events occurring for the desired number of records processed. For each
record, daily results are written to the FSI_O_PROCESS_CASH_FLOWS table. The
data in this table uses the RESULT_SYS_ID, which identifies the Process
used. Select from the option below:
- Freeze Process
- Select Freeze to complete the process.
- Select Reset to erase all selections made previously within the process definition flow.
- Select Confirm.