MONTE CARLO SIMULATION #
Monte Carlo simulations are often used to model complex problems or to estimate variables when there are small sample sizes. There are four basic steps required to conduct a Monte Carlo simulation.
Step 1: Specify the data generating process (DGP)
Step 2: Estimate an unknown variable or parameter
Step 3: Save the estimate from step 2
Step 4: Go back to step 1 and repeat this process N times
REMOVING MONTE CARLO SAMPLING ERROR #
The sampling variation for a Monte Carlo simulation is quantified as the standard error estimate. The standard error of the true expected value is computed as s / √N , where s is the standard deviation of the output variables and N is the number of scenarios or replications in the simulation. Based on this equation, it intuitively follows that in order to reduce the standard error estimate by a factor of 10, the analyst must increase N by a factor of 100.
The accuracy of simulations depends on the standard deviation and the number of scenarios run. However, increasing the number of generated scenarios can become costly for more complex multi-period simulations. Variance reduction techniques offer an alternative way to reduce the sampling error of a Monte Carlo simulation. The two most commonly used techniques for reducing the standard error estimate are antithetic variates and control variates.
ANTITHETIC VARIATES #
The antithetic variate technique can reduce Monte Carlo sampling error by rerunning the simulation using a complement set of the original set of random variables. The use of antithetic variates causes the error terms to be independent for the two sets, which results in a negative covariance term in the variance equation. This negative relationship means that the Monte Carlo sampling error must always be smaller using this approach.
CONTROL VARIATES #
A control variate involves replacing a variable x (under simulation) that has unknown properties with a similar variable y that has known properties. The new x* variable estimate will have a smaller sampling error than the original x variable if the control statistic and statistic of interest are highly correlated.
REUSING SETS OF RANDOM NUMBERS #
Reusing sets of random number draws across Monte Carlo experiments reduces the estimate variability across experiments by using the same set of random numbers for each simulation. Two examples of reusing sets of random numbers are for testing the power of the Dickey-Fuller test (used to determine whether a time series is covariance stationary) or for different experiments with options using time series data.
DICKEY FULLER TEST: Using the same set of random numbers for each Monte Carlo experiment reduces the sampling variation across experiments. In this case, the sampling variability is reduced, but the accuracy of the actual estimates is not increased.
DIFFERENT EXPERIMENTS: Using the same random number data set reduces the variability of simulated option prices across maturities.
BOOTSTRAPPING METHOD #
Another way to generate random numbers is the bootstrapping method. The bootstrapping approach draws random return data from a sample of historical data. The bootstrapping method uses actual historical data instead of random data from a probability distribution. In addition, bootstrapping repeatedly draws data from a historical data set and replaces the data so it can be drawn again.
SITUATIONS WHERE THE BOOTSTRAPING METHOD IS INEFFECTIVE.
Two situations that cause the bootstrapping method to be ineffective are outliers in the data and non-independent data.
OUTLIERS: If outliers exist in the data, the inferences drawn from parameter estimates may not be accurate depending on how many times the outliers are included in the bootstrapped sample.
NON-INDEPENDENT DATA: If autocorrelation exists in the original sample data, then the original historical data are not independent of one another. A technique known as a moving block bootstrap is used to overcome the problem of autocorrelation. Blocks of data are examined at one time in order to preserve the original data dependency.
RANDOM NUMBER GENERATION #
Simulation software programs are able to reproduce the same sequence of iterations by starting sequences with a seed random number. The algorithms used to generate these random sequences are referred to as pseudorandom number generators.
Pseudo-random numbers are not truly random, because they are actually generated from a formula. The choice of the initial seed value influences the properties of the random number distribution that is generated. Thus, when using a seed value, increasing the number of replications and eliminating early estimates from the sample can mitigate any biases.
DISADVANTAGES OF SIMULATION APPROACHES #
Disadvantages of the simulation approach to financial problem solving include:
- High computation costs
- Results are imprecise
- Results are difficult to replicate
- Results are experiment-specific