Next: , Previous: , Up: User guide   [Contents][Index]


2.4 Scenario generation

A scenario is a specific set of shocks to risk factors. Typically, the directions of the shocks are correlated, and the value of the shock is dependent on the stochastic properties of the risk factors (e.g. volatility or mean reversion parameters). Although these properties can be also chosen customary, for evaluating risk measures like value-at-risk these parameters are typically extracted from past, real market movements.

2.4.1 Random number generation

During MC scenario generation, uniform distributed random numbers are used to generate either normal distributed or t-distributed numbers for risk factor shocks. Octave’s built in pseudo-random number generator (Mersenne-Twister) is used for default. It is possible to specify a custom and / or stable seed in order to always get the same results (useful in regression testing). Moreover, OCTARISK allows to use Sobol quasi-random numbers for scenario generation. A manual seed and custom directoin numbers can be specified. Statistical tests (e.g. Jarque-Berra tests and distribution moment calculations) may be performed on the qualities of drawn random numbers to match the specified statistical properties.

2.4.2 Stochastic models

In order to describe movements of risk factors in time, a connection has to be made between statistical behavior of real time series and stochastic processes for modeling synthetic time series. OCTARISK concentrates on three stochastic processes: Wiener, Ornstein-Uhlenbeck and root-diffusion processes.

2.4.2.1 Random walk and the Wiener process

For the Wiener process, two different possible definitions exist. In the first case, both the drift and the normally-distributed random number W_t (the so called Wiener process) are proportional to the variable at the former time step, resulting in the process S_t which satisfies the following stochastic differential equation:

dS_t = mu * S_{t-1} *dt + sigma*S_t*dW_t
The following analytic solution to this stochastic differential equation is derived:

S_t = S_0 * exp( (mu - sigma^2/2)*t + sigma * W_t)
This solution ensures positive values at all time steps.

In the second case, a continuous time random walk with independent, normally-distributed random numbers independent of the variable at the former time step is given by the following stochastic differential equation:
dS_t = mu * dt + sigma * W_t
This process shows self-similarity and scaling behavior.

2.4.2.2 Ornstein-Uhlenbeck process

The Wiener process can be extended to incorporate a serial dependency (like a memory) - tomorrows values are dependent on the level of todays values. The Ornstein-Uhlenbeck (OU) process has a mean-reversion term, which is directly proportional to the difference of the actual value from the mean reversion level:
dX_t = mr_{rate} * ( mr_{level} - X_{t-1} ) * dt + sigma * dW_t
where the mean reversion rate mr_{rate} can be seen as a proportional parameter of a restoring force. The increments dX_t tend to point to the mean-reversion level mr_{level}. The result of the formula is an addditive term to the risk factor depending on the past level and a stochastic term (modeled by the Wiener process).

2.4.2.3 Square-root diffusion process

In order to exclude negative values in the OU mean-reversion process, an additional repelling force is needed, which ensures that the level of the stochastic variables stays away from zero. The square-root diffusion process (SRD) has an additional term, which is multiplied with the standard deviation and the random variable. This term is identified as the square root of the variable at the former time step:
dX_t = mr_{rate} * ( mr_{level} - X_{t-1} ) * dt + sigma * sqrt(X_{t-1}) * dW_t
Negative values for the variables are excluded if the following equation is fulfilled:
2*mr_{rate} * mr_{level} >= sigma

2.4.3 Financial models

The stochastic models which have been presented in the last section, are used as basis for financial models. In order to map stochastic processes to financial models, properties of financial models are identified and subsequently stochastic models chosen in order to generate simulated time series of risk factors with appropriate and desired behavior.

2.4.3.1 Geometric Brownian motion

The standard financial model for equity, real-estate and commodity risk factors is a geometric Brownian motion (GBM), which utilizes the extended Wiener process, where the drift and random variable are proportional to the risk factor value. Due to this proportionality the time series can not reach zero and the modeled risk factors values always stay positive. This is reflected in the real world behavior of equity or commodity prices, where the intrinsic value of these assets cannot fall below zero.

2.4.3.2 Brownian motion

In a Brownian motion (BM) model, the time-series increments are a function of drift, time and standard deviation, but not dependent on the actual level of the financial variable. For certain types of risk factors (e.g. interest rates), one assumes a Brownian motion so that the modeled price movements are given as additive shocks which are completely independent on the actual risk factor value. Therefore, negative values of the modeled risk factors are allowed.

2.4.3.3 Vasicek model

In the long run, the market movements of exchange rates and interest rates seem to be mean-reverting. This behavior can be modeled by a Ornstein-Uhlenbeck process resulting in a so called one factor short rate model proposed by Vasicek. The Ornstein-Uhlenbeck process allows for negative values, which reflects the real world behavior of short rates since the financial crisis, where interest rates of AAA-rated government bonds had negative yields for at east some time.

2.4.3.4 Cox-Ingersoll-Ross and Heston model

If one doesn’t want to allow negative values for interest rates or other mean-reverting risk factors, a square-root diffusion process can be chosen as stochastic model. This results in the short-rate model of Cox-Ingersoll-Ross or the Heaston model for modelling at-the-money volatility used in option pricing.

2.4.4 Parameter estimation

Once an appropriate model is chosen for the risk factor, one has to define input parameters for the stochastic differential equations. One approach is to use historical data to estimate statistic parameters like volatility, correlations or mean-reversion parameters. Another approach is to apply expert judgment in selecting input parameters for the models. OCTARISK uses the specified parameters to generate Monte-Carlo scenarios - the selection of the parameter estimation approach is up to the reader.

Typically, parameters are extracted from historical time series on weekly or monthly data on the past three to five years. Unfortunately, availability of historical time series for all risk factors is one of the main constraints in parameter estimation for private investors. Most often, one has to overcome problems of missing data and the need for interpolation or extrapolation. In future versions scripts for parameter estimation will be provided.
In an ideal world, at first appropriate risk types and risk factors are selected, then the validation of a stochastic model is performed and the appropriateness of the model and the assumptions (like length of historical time series) is verified in back-tests. Nevertheless, no stochastic model can completely describe the financial markets, giving rise to model error (both in parameter estimation and model selection).

2.4.5 Monte-Carlo Simulation

A Monte-Carlo approach is chosen to generate the risk factor shocks in all scenarios. Therefore a risk factor correlation matrix (e.g. estimated from historical time series) and additional parameters describing statistical distributions can be used to generate random numbers, which are utilized as input parameters to stochastic models and finally lead to correlated risk factor shocks with the desired properties.

In order to account for non-normal distributions and higher order correlation effects in the Monte-Carlo simulation, a copula approach is chosen to generate dependent, correlated random numbers. In a first step, the input correlation matrix is used to generate normally distributed, correlated random numbers with zero drift and unit variance. In a next step, either a Gaussian copula or a student-t copula is utilized to transform the normally distributed random variables to uniformly distributed random variables, while either the linear correlation dependence (for Gaussian copulas) or additionally the non-linear dependence structures (for student-t copulas) is preserved. In a last step, these random numbers are incorporated into a function which chooses for each risk factor the appropriate distribution in a certain way, that standard deviation, skewness and kurtosis are matched with the input parameters. Therefore the Pearson distribution system is used as a basis for generation of random variables. Subsequently, in each of the Monte-Carlo scenarios a specific set of correlated risk factor shocks, dependent on the selected financial models, is generated, while the marginal distributions have desired standard deviation, skewness and kurtosis.

A further potential problem is the model error from the Monte-Carlo method. Only a limited number of Monte-Carlo scenarios can be generated and valuated (in the range of 10000 to 100000), thus leaving space for not represented scenarios which could alter the risk measures.

2.4.6 Stress testing

A complementary method to the stochastic scenario generation is to directly define shocks to risk factors. This scenario analysis is normally done in order to calculate the portfolio behavior in well known historic scenarios (like Financial Crisis 2008, devaluation of Asian currencies in the mid 90s, terrorist attack on 9/11, Black Friday in October 1987) or in scenarios, where one only is interested in the behavior of the portfolio value in isolated shocks (like all equities decline by 30pct in value, a +100bp parallel shift in interest rates). Possible sources of scenarios are provided by regulators and can be easily adapted for personalized stress scenarios.


Next: , Previous: , Up: User guide   [Contents][Index]