Monte Carlo methods for Option Pricing
in the Black and Scholes model

Damien LAMBERTON and Bernard LAPEYRE

July 20, 2007

pdf version of the document

Preliminaries

  1. Write a Scilab function computing the empirical mean (Mean, the empirical variance Variance of an array of numbers.

    Check they are equal to the ones prefined in Scilab : mean, variance.

    Correction

  2. Write a function which sample a vector of gaussian independant random variables with mean $0$ and variance $1$. Note that this function already exists in Scilab ( x=rand(1,n,''gauss'')).

    Draw the histogram of the vector and compare it with the law of gaussian random variable with mean $0$ and variance $1$.

    Correction

  3. We want to compute using a Monte-Carlo method $\E(e^{\beta G})$ where $G$ is gaussian with mean $0$ and variance $1$. We recall that $\E(e^{\beta
G})=\exp(\beta^2/2)$.

    Compute using simulation $\E(e^{\beta G})$ for $\beta=2,4,6,8,10\ldots$. Give a confidence intervall in each case. For whihc value of $\beta$ can you safely use a Monte-Carlo method ?

    Correction

The Black et Scholes model

We consider the Black et Scholes model :

\begin{displaymath}
S_t = S_0 \exp\left(\left(r-\frac{\sigma^2}{2}\right)t + \sigma W_t\right).
\end{displaymath}

In what follows, we will assume that $S_0=100$, $\sigma=0.3$ (annual volatility) and $r=0.05$ (exponential riskless interest rate).

  1. Draw an histogram of the law of $W_T$ and $S_T$ ($T=1$, $\sigma=0.3$, $r=0.05$).
    Correction
  2. We want to compute the price of a call with strike $K=100$. Compute this price using a Monte-Carlo method with a number of drawing equal to $N=1000$,$1000$,$10000$. Give a confidence interval in each cases.
    Correction
  3. We will now use the random variable $S_T$ as a control variate. Check that $\E(S_T)=e^{rt}$ (give a financial argument for this result ?).

    Write a program using $S_T$ as a control variate. Compare the precision of this method with the previous one using various values for $K$ and $S_0$.

    How is this method related to the call-put arbitrage formula ?

    Correction

  4. Wa assume that we want to compute a call option with strike $K$ where $S_0$ is small with respect to $K$.

    Show that the relative precision of the computation decrease whith $S_0/K$. Take $S_0=100$ and $K=100$, $150$, $200$, $250$. What happen when $K=400$ ?

    Correction

  5. Prove either directly or by using Girsanov theorem that

    \begin{displaymath}
\E\left(f(W_T)\right)
= \E\left(e^{-\lambda W_T -\frac{\lambda^2 T}{2}}f(W_T+\lambda T)\right).
\end{displaymath}

    In the case of a call option where $S_0=100$ and $K=150$, propose a value for $\lambda$ which possibly reduce the simulation variance.
    Correction