What is a Monte Carlo Simulation?

Monte Carlo simulations are used to model the probability of different outcomes in a process that cannot easily be predicted due to the intervention of random variables. It is a technique used to understand the impact of risk and uncertainty in prediction and forecasting models.

Monte Carlo simulation can be used to tackle a range of problems in virtually every field such as finance, engineering, supply chain, and science.

Monte Carlo simulation is also referred to as multiple probability simulation.

1:28

Monte Carlo Simulation

Explaining Monte Carlo Simulations

When faced with significant uncertainty in the process of making a forecast or estimation, rather than just replacing the uncertain variable with a single average number, the Monte Carlo Simulation might prove to be a better solution. Since business and finance are plagued by random variables, Monte Carlo simulations have a vast array of potential applications in these fields. They are used to estimate the probability of cost overruns in large projects and the likelihood that an asset price will move in a certain way. Telecoms use them to assess network performance in different scenarios, helping them to optimize the network. Analysts use them to assess the risk that an entity will default and to analyze derivatives such as options. Insurers and oil well drillers also use them. Monte Carlo simulations have countless applications outside of business and finance, such as in meteorology, astronomy and particle physics.

Monte Carlo simulations are named after the gambling hot spot in Monaco, since chance and random outcomes are central to the modeling technique, much as they are to games like roulette, dice, and slot machines. The technique was first developed by Stanislaw Ulam, a mathematician who worked on the Manhattan Project. After the war, while recovering from brain surgery, Ulam entertained himself by playing countless games of solitaire. He became interested in plotting the outcome of each of these games in order to observe their distribution and determine the probability of winning. After he shared his idea with John Von Neumann, the two collaborated to develop the Monte Carlo simulation.

Example of Monte Carlo Simulations: The Asset Price Modeling

One way to employ a Monte Carlo simulation is to model possible movements of asset prices using Excel or a similar program. There are two components to an asset's price movements: drift, which is a constant directional movement, and a random input, which represents market volatility. By analyzing historical price data, you can determine the drift, standard deviation, variance, and average price movement for a security. These are the building blocks of a Monte Carlo simulation.

To project one possible price trajectory, use the historical price data of the asset to generate a series of periodic daily returns using the natural logarithm (note that this equation differs from the usual percentage change formula):

Periodic Daily Return=ln(Day’s PricePrevious Day’s Price)\begin{aligned} &\text{Periodic Daily Return} = ln \left ( \frac{ \text{Day's Price} }{ \text{Previous Day's Price} } \right ) \\ \end{aligned}Periodic Daily Return=ln(Previous Day’s PriceDay’s Price)

Next use the AVERAGE, STDEV.P, and VAR.P functions on the entire resulting series to obtain the average daily return, standard deviation, and variance inputs, respectively. The drift is equal to:

Drift=Average Daily ReturnVariance2where:Average Daily Return=Produced from Excel’s AVERAGE function from periodic daily returns seriesVariance=Produced from Excel’s VAR.P function from periodic daily returns series\begin{aligned} &\text{Drift} = \text{Average Daily Return} - \frac{ \text{Variance} }{ 2 } \\ &\textbf{where:} \\ &\text{Average Daily Return} = \text{Produced from Excel's AVERAGE function from periodic daily returns series} \\ &\text{Variance} = \text{Produced from Excel's VAR.P function from periodic daily returns series} \\ \end{aligned}Drift=Average Daily Return2Variancewhere:Average Daily Return=Produced from Excel’s AVERAGE function from periodic daily returns seriesVariance=Produced from Excel’s VAR.P function from periodic daily returns series

Alternatively, drift can be set to 0; this choice reflects a certain theoretical orientation, but the difference will not be huge, at least for shorter time frames.

Next obtain a random input:

Random Value=σ×NORMSINV(RAND())where:σ=Standard deviation, produced from Excel’s STDEV.P function from periodic daily returns seriesNORMSINV and RAND=Excel functions\begin{aligned} &\text{Random Value} = \sigma \times \text{NORMSINV(RAND())} \\ &\textbf{where:} \\ &\sigma = \text{Standard deviation, produced from Excel's STDEV.P function from periodic daily returns series} \\ &\text{NORMSINV and RAND} = \text{Excel functions} \\ \end{aligned}Random Value=σ×NORMSINV(RAND())where:σ=Standard deviation, produced from Excel’s STDEV.P function from periodic daily returns seriesNORMSINV and RAND=Excel functions

The equation for the following day's price is:

Next Day’s Price=Today’s Price×e(Drift+Random Value)\begin{aligned} &\text{Next Day's Price} = \text{Today's Price} \times e^{ ( \text{Drift} + \text{Random Value} ) }\\ \end{aligned}Next Day’s Price=Today’s Price×e(Drift+Random Value)

To take e to a given power in Excel, use the EXP function: EXP(x). Repeat this calculation the desired number of times (each repetition represents one day) to obtain a simulation of future price movement. By generating an arbitrary number of simulations, you can assess the probability that a security's price will follow given trajectory. Here is an example, showing around 30 projections for the Time Warner Inc's (TWX) stock for the remainder of November 2015:

The frequencies of different outcomes generated by this simulation will form a normal distribution, that is, a bell curve. The most likely return is at the middle of the curve, meaning there is an equal chance that the actual return will be higher or lower than that value. The probability that the actual return will be within one standard deviation of the most probable ("expected") rate is 68%; that it will be within two standard deviations is 95%; and that it will be within three standard deviations is 99.7%. Still, there is no guarantee that the most expected outcome will occur, or that actual movements will not exceed the wildest projections.

Crucially, Monte Carlo simulations ignore everything that is not built into the price movement (macro trends, company leadership, hype, cyclical factors); in other words, they assume perfectly efficient markets. For example, the fact that Time Warner lowered its guidance for the year on November 4 is not reflected here, except in the price movement for that day, the last value in the data; if that fact were accounted for, the bulk of simulations would probably not predict a modest rise in price.