Monte Carlo simulation is one of the most famous and widely applied finance techniques. This is a tool that helps us deal with uncertainty in complex situations. It steps on the premise that one of the best ways to deal with multiple uncertain variables is to generate a large number of random observations for each of them and hence create a joint distribution regarding the different possible outcomes resulting from the combination of the random variables. In layman terms, a Monte Carlo simulation consists in the following series of steps: 1st – determine the variables that represent a source of uncertainty 2nd – assume a distribution for each variable (please note that the distribution that will be chosen is up to the analyst’s discretion); and of course, the final model predictions will be as good as the analyst’s choice of distribution for the unknown variables. Very good. The 3rd step refers to the following: once we have chosen the different types of distributions describing the random variables, we need to carry out iterations with possible realizations for these variables. And 4th – by repeating the 3rd step many, many times (hundreds, but more likely thousands of times), we would be able to observe a large number of possible realization paths that ultimately indicate what could be expected in terms of the mean of the distribution; In practice, Monte Carlo simulations find a large number of applications in the world of finance. Some examples are: • Options and other derivatives pricing models (when complex features are involved) • Company valuation (to cross-check results obtained through a DCF, use Monte Carlo to triangulate results) • And Risk management (Monte Carlo is frequently used for Value at Risk estimation and volatility modeling) The large number of repetitions involved in a Monte Carlo simulation is significantly facilitated by the strong advents of computing power we have observed in recent years. Running a Monte Carlo simulation with a very large number of observations does not represent a significant issue for most models nowadays. This technique is very useful whenever an analyst would like to gain an idea of the different possible realizations that could be obtained through a given distribution function. For example, if a distribution function considers three possible variables influencing an asset’s price, then by testing for different values of these variables, we could obtain a good idea about the possible prices of the asset (provided that the distribution function represents well the development of the asset’s price). Two main drawbacks should come to mind when performing this technique. First, as already mentioned the results to be obtained will only be as good as the assumed model according to which the random output variable is distributed. And second, this is a statistical approach and not an analytical one. It doesn’t allow us to examine the impact of some of the separate variables but instead provides aggregate results.