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 231-2.
- Combined Multiple Recursive Generator (CMRG) of L'Ecuyer: period of 2191, and excellent statistical independence of samples.
- Well Equidistributed Long-period Linear (WELL1024) generator of Panneton, L'Ecuyer and Matsumoto: period of 21024 with very good statistical independence.
- Mersenne Twister generator of Matsumoto and Nishimura: period of 219937-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 |