Skip to main content
Chapter 7

Monte Carlo Simulation: Mapping Tens of Thousands of Futures

#Monte Carlo#Random Number#Scenario Analysis#Path Dependency

Monte Carlo Simulation: Virtual Reality Built with Data

Not all financial products can be solved with elegant formulas like Black-Scholes. For complex products (Exotic Options) where the value depends not just on the final price but on the path the price took, we use computers to simulate tens of thousands of virtual futures.

1. Why ‘Monte Carlo’?

Named after the famous gambling city in Monaco, this technique calculates approximations of probabilistic events through numerous repeated trials. In financial engineering, we define the movement of stock prices as a Stochastic Process and execute it.

2. The Four-Step Simulation Process

The logical flow of how a computer determines the price of a financial product is as follows:

1
Define Probabilistic Model

Set up a Geometric Brownian Motion (GBM) model based on volatility, interest rates, etc.

2
Generate Random Numbers

Create tens of thousands of normal distribution random numbers to draw virtual price paths.

3
Calculate Payoffs

Determine the payoff the option would provide at maturity (or during the path) for each scenario.

4
Discount and Average

Discount all scenario payoffs to present value using the risk-free rate and take the average.

3. Relationship Between Iterations and Accuracy

As the number of simulations increases, the result converges to the theoretical true value. However, balancing computational cost (time) and accuracy is crucial in practice.

Option Price Convergence by Iterations (Example)

As the number of trials increases, the error decreases and the price approaches the theoretical value ($10.45).


💡 Professor’s Tip

Monte Carlo simulation is like a “hammer.” It’s incredibly powerful, but if you set up the model incorrectly, it will mass-produce wrong results. This is known as GIGO (Garbage In, Garbage Out). This is why sophisticated random number generators and accurate volatility inputs are essential.

🔗 Next Step