Intro: Monte Carlo Method


An Introduction to the Uses of Monte Carlo Methods in Finance

Monte Carlo: Solution by Simulation

The goal of this presentation is to show you when to use Monte Carlo and to provide a couple of interactive examples with visualizations.

  • The idea is that you should first have a good understanding of when Monte Carlo is useful before you dive into the math and mechanics of Monte Carlo.

Monte Carlo and Analytic Solutions

When an analytic solution is available, you should generally use it.

  • If you make the same underlying assumptions, the analytic solution will be the same as the Monte Carlo, though the Monte Carlo solution will have estimation error.

  • Monte Carlo is useful when an analytic solution is unavailable or difficult to obtain or when the underlying assumptions differ from a continuous-time solution. This is often the case, which makes Monte Carlo an important tool for analysts.

Example: European Option Pricing

Assuming a stockprice follows a geometric Brownian Motion, then at time `T` in the future we have:

`S_T = S_0 e^{(\mu - \frac{1}{2}\sigma^2)T + \sigma B_T}`

where `S_0` is the stock price today, `\mu` and `\sigma` are the stock’s drift and volatility respectively, and `B_T` is the value of a Brownian Motion at time `T`.

  • Since `B_T` is distributed as `N(0, T)`, we can create random draws from `B_T` by drawing from `N(0, 1)` and multiplying by `T`.

  • For each draw of `B_T` we get a new value of `S_T`.

Drift and Volatility

We estimate volatility `\sigma` using historical or forward looking measures. However, in a Black-Scholes world, the market is complete, and so we can set the drift `\mu` equal to the risk free rate of `r_f`.

  • Therefore each simulated stock price at time `T`is:

`S_T = S_0 e^{(r_f - \frac{1}{2}\hat{\sigma}^2)T + \hat{\sigma} N(0, 1)T}`

where `N(0, 1)` is a random draw from a standard Normal distribution.

Interactive App

In both cases we make the same assumptions, namely the stock follows geometric Brownian Motion, σσ is a constant, and the market is complete. Therefore the Monte Carlo estimate should be equal to the Black-Scholes analytic solution, which is: `C_0 = S_0N(d_1) - Xe^{-rT}N(d_2)`


`d_1 = \frac{ln(\frac{S_0}{X}) + (r+\frac{\sigma^2}{2})T}{\sigma\sqrt(T)}`

`d_2 = d_1 - \sigma\sqrt(T)`

`C_0` and `S_0` are the values of the call option and underlying stock at time 0. `X` is the strike price, and `T` the time until option expiration in years.

  • On the next slide we calculate the value of a European call option by both the Black-Scholes formula and Monte Carlo.

Pricing Path-Dependent Options

As mentioned, Monte Carlo makes sense when an analytic solution is unavailable or its solution is intractable. This is often the case for path-dependent options, where payoffs are a function of the stock prices over some interval—the path the stock took to get to its present price. Examples of such options are:

  • American Options: can be exercised prior to expiration.

  • Lookback Options: payoff is a function of the maximum (or minimum) stock price over the interval.

  • Asian Options: payoff is a function of the average stock price over the interval.

Lookback Option

Say an option pays the difference between the maximum price of a security over a time period and a set strike price. So the payoff is:`max(S_{max} - X, 0)` where `S_{max}` is the maximum security price over a set interval. This is a European lookback call option with a fixed strike price (you can also let the strike price float).

  • If we assume the underlying follows geometric Brownian motion, then this option value has an analytic solution.

  • However what if your boss wants you to value a lookback option on an underlying which is described by the following process?

`dS_t = \kappa(\mu_S - S_t)dt + \sigma S_t dB_t`

  • An analytic solution might be possible, but it may take a while to find. This is where it makes sense to turn to Monte Carlo.

Monte Carlo Setup

Given the parameters `\mu_S`,`\kappa`, and `\sigma` and a starting price, we’ll simulate various price paths. We’ll calculate the maximum over each of these price paths, which will give us the lookback call option payoff given the path. Taking the average value and discounting at the risk-free rate (assuming a complete market) affords the lookback call option’s value.

  • Remember, here we need to simulate the entire security’s path over the year, not just the terminal value like in the earlier valuation of a European call.

Monte Carlo Setup

In the next slide we’ll price a lookback call with 1 year to maturity, on a security with a $35 price today. The strike price is $37, and we will simulate a price path with 252 points (one for each trading day of the year). For each

  • You can set the `\kappa`, `\mu`, and `\sigma` parameters using the slider inputs. When you change any slider the Monte Carlo valuation is re-run.

Parting Note

Monte Carlo is a good approach in the case where we don’t have a closed-form solution give a particular underlying process. However what if we do have a closed-form solution for a continuous-time process, but the lookback option samples the price at discrete points?

For example, what if the lookback option’s payoff was the max closing price of the security minus the strike price. Then the continuous-time solution will likely overvalue the option.

  • Consider the probability that the maximum value over a period occurs at a closing price.

So in this case, despite having a closed-form solution for a continuous process, it still makes sense to simulate the process in a Monte Carlo solution because this is closer to the actual payoff function.

  • In sum, a good understanding of the problem is necessary to choose the most appropriate solution method.

Credits and Collaboration

Click the following links to see the codeline-by-line contributions to this presentation, and all the collaborators who have contributed to 5-Minute Finance via GitHub.

Learn more about how to contribute here.