## Powerful Random Sampling and Probability

You don't give up any power to gain Risk Solver's ease and speed of use. In fact, Risk Solver gives you *more* choices for random number generation, *more* sampling methods, and *more* analytic distributions than other risk analysis products for Excel.

#### Random Number Generators

Random numbers form the basis of Monte Carlo simulation -- you need to know that simulation software uses the best random number generation algorithms. Risk Solver's Options dialog lets you easily choose among four high-quality random generators:

**Park-Miller 'Minimal' Generator**with Bayes-Durham shuffle and safeguards: traditional random number generator with a period of 2^{31}-2.**Combined Multiple Recursive Generator (CMRG)**of L'Ecuyer: period of 2^{191}, and excellent statistical independence of samples.**Well Equidistributed Long-period Linear (WELL1024)**generator of Panneton, L'Ecuyer and Matsumoto: period of 2^{1024}with very good statistical independence.**Mersenne Twister**generator of Matsumoto and Nishimura: period of 2^{19937}-1, but samples are not as 'equidistributed' as for the WELL1024 and CMRG generators.

#### Sampling Methods

Risk Solver Engine can generate Monte Carlo samples from a wide range of probability distributions, using any of three methods: **Standard Monte Carlo**, **Latin Hypercube**, and **Sobol numbers**. Latin Hypercube sampling is a well-known method for reducing sample variance, enabling you to obtain more accurate simulation results with fewer Monte Carlo trials.

**Sobol numbers** -- generated with a random shift for "Randomized Quasi Monte Carlo" -- are an innovation in Risk Solver that's not found in other risk analysis product for Excel. They are widely used by developers in quantitative finance. For low to moderate dimensional problems, Sobol numbers offer the "best of both worlds" -- the speed of Standard Monte Carlo with the "coverage" of Latin Hypercube sampling.

#### Random Number Streams

Risk Solver offers multiple streams of random numbers. Most Monte Carlo simulation tools generate a *single sequence* of random numbers, which introduces a subtle dependence between the samples for all distributions in one trial. In many cases the effect is too small to make a difference -- but in some cases, found in **financial engineering** and other demanding applications, better results are obtained if **independent** random number sequences (streams) are used for each distribution in the model. With the **PsiSeed()** property function, you can create a separate random number stream for a specific distribution, such as a Certified Distribution.

#### Probability Distributions

Risk Solver Engine provides both a complete set of **analytic probability distributions**, and a complete set of methods for defining **custom distributions**, both discrete and continuous, by supplying sample data or by specifying certain parameters. And you can specify **shifting** and **truncation** to customize your probability distributions.

These distributions are available to you through the Risk Solver Ribbon** dropdown galleries**, through new **Excel functions** with the names listed below, or through Risk Solver's **VBA Object Model**. If you are creating a custom application in VBA, you can easily create an instance of a **Distribution** object, with the properties of any of these probability distributions.

#### Continuous Analytic Distributions

PsiBeta | PsiLaplace | PsiPareto2 |

PsiBetaGen | PsiLogistic | PsiPearson5 |

PsiBetaSubj | PsiLogLogistic | PsiPearson6 |

PsiCauchy | PsiLogNormal | PsiPert |

PsiChiSquare | PsiLogNorm2 | PsiRayleigh |

PsiErf | PsiMaxExtreme | PsiStudent |

PsiErlang | PsiMinExtreme | PsiTriangGen |

PsiExponential | PsiMyerson | PsiTriangular |

PsiGamma | PsiNormal | PsiUniform |

PsiInvNormal | PsiPareto | PsiWeibull |

#### Discrete Analytic Distributions

PsiBernoulli | PsiHyperCeo | PsiNegBinomial |

PsiBinomial | PsiIntUniform | PsiPoisson |

PsiGeometric | PsiLogarithmic |

#### Custom and Special Distributions

PsiCumul | PsiHistogram | PsiShuffle |

PsiDiscrete | PsiMVLogNormal | PsiSip |

PsiDisUniform | PsiMVNormal | PsiSlurp |

PsiGeneral | PsiResample | PsiCertified |