Home > Analytic Reference > Simulation > Monte Carlo

Monte Carlo

Introduction

Monte Carlo is the standard method for credit exposure. Paths are simulated out through a set of prescribed maturity nodes (timesteps) and the portfolio of trades in the trade pool are aged and revalued and aggregated on each path and at each timestep. The credit statistics are then computed from the resulting aggregate MtM distributions.

Monte Carlo simulation is also a valid methodology for measuring Var, particularly in circumstances where historic rate data is not readily available. In a Var calculation the scenarios are only generated for a single timestep (typically 1 or 10 days) and there is no trade aging.


Inputs to a Monte Carlo Simulation


Nodes
Credit Nodes are the prescribed maturities (timesteps), or bucket points, on which full revaluation of the aggregate MtMs is performed for each path in the simulation. Depending on the simulation settings, it is also possible that extra timesteps, corresponding to the maturity dates of the trades in the trade pool, will be added to the maturity set depending on the next setting 'Portfolio Granularity'.


Portfolio Granularity
Aside from thee prescribed nodes or timesteps above, it is possible to require full recalculation at the maturity dates of all trades in the pool. The options available are:

Choice Description
Default This is identical to 'Key' described below.
Buckets Full revaluation is only carried out on the prescribed nodes. No extra simulation dates are generated for path-dependency handling. ie The only path-handling is that which can be carried out on the prescribed nodes.
Key This is the same as for 'All' below, except only critical path handling dates are imposed over and above the full valuation dates. ie Of all extra path handling dates that trades may request, only "critical" ones are included (e.g., the pin date for pin barriers).
All Full revaluation on all prescribed bucket points as well as all trade maturities. All path handling update dates imposed by trades are included, i.e., path handling is carried out on full valuation dates as well as any extra dates requested by trades.


Iterations
The number of random paths N,used in the simulation (see Sections 5.1.1.2 and 5.1.1.3). (Note that there are actually N+1 paths, as a special deterministic path (the 0th path) is included.  


Seed
A positive integer used to seed the random number generator. Varying this seed will vary the random paths generated in the Monte Carlo simulation. It is therefore possible to run the same calculation many times with different seeds in order to assess the convergence and standard error of, e.g., the PE.
 

RNG
The choice of random number generator for computing uniform deviates in the simulation:

Choice Description
RAN1 As per W. H. Press et al, Numerical Recipes in C, 2nd Ed., Cambridge, 1992, p. 280.
MersenneTwister Matsumoto, M.; Nishimura, T. (1998). "Mersenne twister: a 623-dimensionally equidistributed uniform pseudo-random number generator". ACM Transactions on Modeling and Computer Simulation 8 (1): 3–30.


Transformation
The method used to transform the uniform deviates into normal deviates in the simulation:

Choice Description
Standard The trigonometric transformation (Press et al, p. 288).
BoxMuller The Box-Muller rejection method (Press et al, p. 289).


Default Correlation
If no intra-curve correlations exist for a curve required for a simulation (i.e., no correlation parameters exist for rate points within the same curve), then the off-diagonal correlations are set to this value (a decimal number in (0, 1)). Diagonal correlations are set to 1.


Confidence Method

This parameter determines how quantile-based statistics are determined when the quantile index q=Q×N (where Q is the quantile and N is the number of paths (distribution points) is not a whole number.

Choice Description
Precise Divide by “n+1”. So, effectively if there are 9 samples they will correspond to 10%, 20%, ..., 90%. We then use linear interpolation between the two observations closest to this point
RoundTowardsTail First find the “precise” point using the method above and then choose the next exact observation closer to the tail.
RoundTowardsCentre First find the “precise” point using the method above and then choose the next exact observation closer to the centre.
Bisection Divide by “n” and then makes an adjustment of 0.5. So, effectively if there are 10 samples, they will correspond to 5%, 15%, …, 85%, 95%. We then use linear interpolation between the two observations closest to this point.

 
Evolution Style
The evolutionStyle variable determines what type of stochastic processes are to be used to evolve the market rates in the simulation. Each market curve has a Real World and Risk Neutral process property, the latter being optional. Real World processes are parameterised using historical data whilst Risk Neutral processes have parameters that are market implied (e.g., the stochastics of a spot curve is determined by market prices for Options on the underlying spot of interest).

Choice Description
RealWorld If this option is selected then each curve’s Real World process will be used for its evolution.
RiskNeutral Under this option, if a curve possesses a Risk Neutral process then that is used. Otherwise the Real World process is used.

 



See also
Historic Simulation
Parameter Estimation
Drilldown