Jarrow-Rudd trees simulation

The Jarrow-Rudd model

The moments

The Jarrow-Rudd model is based on the log-transformation of the binomial model.

We set \(Y_{\Delta t}=\log(S_{\Delta t})\). Due to the Black and Scholes model, we know that \(Y_{\Delta t}\)~\(\mathcal{N}(Y_{0}+\gamma \Delta t, \sigma^2 \Delta t)\) and if we set \(\gamma=r-\frac{\sigma ^2}{2}\), then we have \[\mathbb{E}(Y_{\Delta t})=Y_{0}+\gamma \Delta t,\] \[\mathbb{Var}(Y_{\Delta t}^2)=\sigma^2 \Delta t.\] On the other hand, if we set \(p = \frac{1}{2}\) on the binomial tree, we get : \[\mathbb{E}(Y_{\Delta t})=Y_{0}+\frac{\ln(ud)}{2},\] \[\mathbb{Var}(Y_{\Delta t})=\frac{1}{4}(\ln(u/d))^2.\]

The equations

By matching these first two moments, we get the following equations: \[p = \frac{1}{2},\] \[p\ln (u) +(1-p)\ln (d) = \left( r- \frac{\sigma^2}{2} \right) \Delta t, \] \[p(1-p)\left( \ln(u/d) \right)^2 = \sigma^2 \Delta t,\] where \(r\) and \(\sigma\) are the riskless interest rate and the volatility in the Black and Scholes model.

Our unknowns

By solving these three equations, we finally get : \[p=\frac{1}{2},\] \[u=e^{\left(r - \sigma^2/2 \right) \Delta t + \sigma \sqrt{\Delta t}}, \] \[d=e^{\left(r - \sigma^2/2 \right) \Delta t - \sigma \sqrt{\Delta t}}.\]

These three parameters define the model.


Here below we show the convergence of the Jarrow-Rudd 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.