Cox-Ross-Rubinstein trees simulation

The Cox-Rox-Rubinstein model

The moments

The computation of the first and second moment in the Black and Scholes model gives \[\mathbb{E}(S_{\Delta t})=S_{0}e^{r\Delta t},\] \[\mathbb{E}(S_{\Delta t}^2)=S_{0}^2e^{2r\Delta t}e^{\sigma^2\Delta t}.\]

On the other hand, on the binomial tree we get : \[\mathbb{E}(S_{\Delta t})=S_{0}(pu+(1-p)d),\] \[\mathbb{E}(S_{\Delta t}^2)=S_{0}^2(pu^2+(1-p)d^2).\]

The equations

By matching these moments and setting \(u = 1/d\), we get the following equations, which caracterize the Cox-Rox-Rubinstein model :

\[u=\frac{1}{d},\] \[pu+(1-p)d=e^{r\Delta t},\] \[pu^2+(1-p)d^2-e^{2r\Delta t}=\sigma ^2\Delta t,\] where \(r\) and \(\sigma\) are the riskless interest rate and the volatility of the Black and Scholes model.

Our unknowns

By solving this three equations, we finally get : \[p=\frac{e^{r\Delta t}-d}{u-d},\] \[u=e^{\sigma \sqrt{\Delta t}},\] \[d=e^{-\sigma \sqrt{\Delta t}}.\]

These three parameters define the model.


Here below we show the convergence of the Cox-Ross-Rubinstein binomial model.

In the first resulting graph, we compute the price of the option with the binomial tree, with a time step size varying between \(N_{min}\) and \(N_{max}\). We compare this price to the analytical and semi-analytical solutions, computed with Quantlib library.

We search also for the first time steps size \(N \in [N_{min}, N_{max}]\) such that the error between the analytical and the computed solution is smaller than a fixed \(\varepsilon\). \(N\) can be smaller of \(N_{min}\) or greater than \(N_{max}\).

In the second graph, we show the optimal exercise time, with respect to the number of steps of the tree.

The last graph shows the construction of a reference tree of size \(N_{ref}\). The nodes represent the possible option values at each time.