Pricing and hedging in the Cox-Ross-Rubinstein model

Damien LAMBERTON and Bernard LAPEYRE

July 20, 2007

pdf version of the document

Here we consider the Cox-Ross-Rubinstein model. We recall (see section [*] of chapter [*]) that $S_n$ denotes the price at time $n$ of the risky asset and for a given integer $n\geq 0$

\begin{displaymath}
S_{n+1} = S_n U_{n+1}
\end{displaymath}

where $(U_n,n\geq 1)$ is a sequence of independent random variables such that $\P(U_n=u)=p$ and $\P(U_n=d)=1-p$ where $0<u<d$ and $p$ are real numbers with $0<p<1$.

We denote by $S^x_n$ the value at time $n$ of the Cox-Ross-Rubinstein model starting from $x$ at time $0$

\begin{displaymath}
S^x_n = x U_1\ldots U_n.
\end{displaymath}

$S^0_n$ denote the price of the riskless asset, assumed to be given by $S^0_n = (1+R)^n.$

0.0.0.1 Choosing the parameters

In computer experiments, the parameters of the model can be chosen as follows

The values of $u$ and $d$ will be chosen to look like a Black-Scholes model, more precisely The choice of $u$ and $d$ are related to the discretisation of the Black-Scholes model with volatility $\sigma$. Assuming that $\sigma=0.2$ (for a year), $d$ and $u$ can be chosen as (see chapter [*], section [*] for a justification)

Downloading the constants in Scilab

0.0.0.2 Hedging in the Cox-Ross-Rubinstein model

  1. Describe a method to sample the vector $(S_0,\ldots,S_N)$.

    Plot typical trajectories of the Cox-Ross-Rubinstein process for different values of $p$ (from $0.1$ to $0.9$). Note that the price of options does not depend on the value of $p$ (see chapter [*]).

    Scilab solution

  2. Assuming that $d \leq R \leq u$, show that the unique $p^\ast$ such that $\E(S_n/(1+R)^n)=1$ is given by

    \begin{displaymath}
p^\ast = \frac{u-(1+R)}{u-d}.
\end{displaymath}

    Why must we compute the price of an option depending on $S$ as an expectation with $p=p^\ast$ whatever the value of $p$?

  3. Write an iterative algorithm allowing to compute the price of a call option with strike $K$ at time $0$ as a function
    Price_at_zero(N,K,R,up,down,x).
    Scilab solution

    By a time shift argument write a function Price(n,N,K,R,up,down,x) which computes the price at time $n$, when the asset value is $x$, at this time.

    Scilab solution
  4. Compute the hedge ratio Hedge(n,N,K,R,up,down,x) at time $n$ when the asset price is $x$ using the function Price(n,N,K,R,up,down,x).
    Scilab solution
  5. Sample a trajectory $(S_n,0 \leq n \leq N)$ and check that the hedging procedure perfectly replicates the payoff whatever the value of $p$ strictly between $0$ and $1$.
    Scilab solution

0.0.0.3 Asian call in the Cox-Ross-Rubinstein model

Consider an Asian call whose payoff at time $N$ is given by

\begin{displaymath}
f(S_N,S_1+\cdots+S_{N-1})
= \left(S_N - \frac{1}{N}\left(S_0+\cdots+S_{N-1}\right)\right)_+.
\end{displaymath}

Take $N=10$ in numerical examples.
  1. Using the results of chapter [*] prove that the price at time $n$ of this option is given by

    \begin{displaymath}
V_n = \frac{1}{(1+R)^{N-n}}\E^*\left(f(S_N,S_0+\cdots+S_{N-1}) \vert \F_n\right).
\end{displaymath}

    Deduce from this equality that if

    \begin{displaymath}
u(n,x,m) =
\E^* \left(\frac{1}{(1+R)^{N-n}} f(S^x_{N-n},
m+S^x_0+\cdots+S^x_{N-n-1}) \right),
\end{displaymath}

    then $V_n=u(n,S_n,S_0+S_1+\cdots+S_{n-1})$
  2. Show that $u$ is the unique solution to

    \begin{displaymath}\left\{
\begin{array}{lcl}
u(n,x,m) & = & \displaystyle \fr...
...ft(x - \frac{m}{N}\right)_+, x,m \in \R.
\end{array} \right.
\end{displaymath}

  3. Write a recursive algorithm to compute $u(0,x,0)$. What is the complexity of this algorithm with respect to $N$? Can you improve the complexity of this algorithm?
    Scilab solution
  4. Show that, between time $n$ and time $n+1$, the quantity $H_{n+1}$ of risky asset in the perfect hedging portfolio is given by $H_{n+1}=h(n+1,S_n,S_0+\cdots+S_{n-1})$ where

    \begin{displaymath}
h(n+1,x,m) = \frac{ u(n+1,xu,m+x) - u(n+1,xd,m+x)}{x(u-d)}.
\end{displaymath}

    Scilab solution
  5. Implement this hedging formula and check, using simulation, that it gives a perfect hedging strategy.
    Scilab solution