An Introduction to Monte Carlo Methods in Finance

Table of Contents

There is a revealjs version of this presentation under investments.

1. 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.

2. 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.

3. 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 \sim 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\).

4. Drift and Volatility

We estimate volatility \(\sigma\) using historical or [maybe dead link –>] 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 \(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.

5. Interactive App

In both cases we make the same assumptions, namely the stock follows geometric Brownian Motion, \(\sigma\) 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)\)

where

\(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\) are \(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.

[TODO: Push app online and here]

6. 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.

7. 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).

\(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.

8. 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.

9. 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.

[TODO: push path dependent option app online and insert here]

10. 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.

Author: Matt Brigida, Ph.D.

Created: 2022-11-05 Sat 20:20

Validate