You are on page 1of 11

Course Project: Implied Binomial Tree

QF607 Numerical Methods


Li Hao
haoli@smu.edu.sg

Numerical Methods (QF607) Implied Binomial Tree 1 / 11


Implied Binomial Tree
Project Objective
Given an implied volatility surface, construct and implement an implied
binomial tree (IBT) and its pricer, so that we can price exotic products
consistently with the implied volatility surface.

We will follow the Derman and Kani’s algorithm [Derman and Kani, 1994]
to construct the implied binomial tree.

Numerical Methods (QF607) Implied Binomial Tree 2 / 11


Implied Binomial Tree Construction
Implied volatility surface σiv (t, K ) are given
To construct n-step tree, the time interval [0, T ] is equally spced:
∆t = Tn
Risk-free interate rate r
Implied binomial tree is constructed by forward induction: from the
constructed tree up to the (k − 1)-th time step, we need to derive the
k-th time step. The parameters to construct are
I The position of the nodes Sk,i , for i ∈ 0, 1, . . . , k  k + 1 unknowns
I The transition probability pk,i : the probability that the stock price goes
from Sk−1,i to Sk,i  k unknowns
I Knowing pk,i , the probability that the stock price goes from Sk−1,i to
Sk−1,i+1 is just 1 − pk,i
I In total we have 2k + 1 unknowns for the k-th step induction

Numerical Methods (QF607) Implied Binomial Tree 3 / 11


Implied Binomial Tree Construction
Now let’s look at how many constraints we have
1 The forward price conditional on each node, should satisfy the
risk-neutral condition:

Fk−1,i = E[Sk |Sk−1,i ] = Sk−1,i e r ∆t = pk,i Sk,i + (1 − pk,i )Sk,i+1 (1)

In other words

Sk−1,i e (r −q)∆t − Sk,i+1 Fk−1,i − Sk,i+1


pk,i = = (2)
Sk,i − Sk,i+1 Sk,i − Sk,i+1

Here we have k constraints.


2 The option price struck at Sk−1,i and expiry at k-th step (so time to
maturity is k∆t), should match the option price given by the implied
volatility surface. Here we also have k constraints. Let us elaborate
on this.

Numerical Methods (QF607) Implied Binomial Tree 4 / 11


Matching Option Prices
Call option price C (K , k∆t) and put option price P(K , k∆t) can be
obtained from querying the implied volatility surface, and plug into
Black-Scholes formulae. These prices are our targets to match.
The way to obtain option price from the implied binomial tree is
through the Arrow-Debreu prices, denoted as λk,i , at each node.
Arrow-Debreu price λk,i is the discounted risk-neutral probabilities of
each node. In the binomial tree model, it is also the price of an option
that pays 1 unit payoff at time k, if and only if the stock reaches Sk,i .
We start with λ0,0 = 1, and calculate λk,i from λk−1,i by induction:

−r ∆t (p λ
λk,0 = e
 k,0 k−1,0 )
λk,i = e −r ∆t ((1 − pk,i−1 )λk−1,i−1 + pk,i λk−1,i ), 1≤i ≤k −1


λk,k = e −r ∆t λk−1,k−1 (1 − pk,k−1 ).
(3)

Numerical Methods (QF607) Implied Binomial Tree 5 / 11


Matching Option Prices
Under the binomial tree’s discrete distribution, the option prices
C (K , k∆t) and P(K , k∆t) are:
k
X
C (K , k∆t) = λk,i max(Sk,i − K , 0) (4)
i=0
Xk
P(K , k∆t) = λk,i max(K − Sk,i , 0) (5)
i=0

Note that we have Condition 1 matching the forward prices, due to


call-put parity, if call prices match, put prices will match by definition.
We match call price on the upper part of the tree, and match put
price on the lower part of the tree
Now, option prices give us k constraitns, forward prices give us k
constraints, we have 2k + 1 variables — left with 1 degree of
freedom. We use that to pick the middle point(s).
Numerical Methods (QF607) Implied Binomial Tree 6 / 11
When k is Even
At the even time steps, there are odd number of nodes (k + 1). We set the center point to be
equal to S0 :
Sk,k/2 = S0 (6)
The call prices above the central node, C (Sk−1,i , k∆t), for i < k/2, can be expressed as:
i
−r ∆t
X
C (Sk−1,i , k∆t) = λk,j (Sk,j − Sk−1,j ) = e [pk,0 λk−1,0 (Sk,0 − Sk−1,i ) (7)
j=0 | {z }
e r ∆t λk,1

+ ((1 − pk,0 )λk−1,0 + pk,1 λk−1,1 )(Sk,1 − Sk−1,i ) + ((1 − pk,1 )λk−1,1 + pk,2 λk−1,2 )(Sk,2 − Sk−1,i ) (8)
| {z } | {z }
e r ∆t λk,2 e r ∆t λk,0

+ . . . + ((1 − pk,i−1 )λk−1,i−1 + pk,i λk−1,i )(Sk,i − Sk−1,i )] (9)


| {z }
e r ∆t λk,i

−r ∆t
=e [λk−1,0 (pk,0 (Sk,0 − Sk−1,i ) + pk,1 (Sk,1 − Sk−1,i )) + λk−1,1 (Fk−1,1 − Sk−1,i ) (10)
| {z }
Fk−1,0 −Sk−1,i

+ . . . + λk−1,i−1 (Fk−1,i−1 − Sk−1,i ) + pk,i λk−1,i (Sk,i − Sk−1,i )] (11)


 
 
i−1 
X 
−r ∆t
=e λk−1,j (Fk−1,j − Sk−1,i ) + pk,i λk−1,i (Sk,i − Sk−1,i ) (12)
 

 
 j=0 |{z} 
| {z } Fk−1,i −Sk,i+1 
Sk,i −Sk,i+1
P
known quantities, denoted as

Numerical Methods (QF607) Implied Binomial Tree 7 / 11


Re-arranging the formula, we obtain Sk,i expressed in Sk,i+1 :

Sk,i+1 (e r ∆t C (Sk−1,i , k∆t) − ) − λk−1,i Sk−1,i (Fk−1,i − Sk,i+1 )


P
Sk,i = (13)
e r ∆t C (Sk−1,i , k∆t) −
P
−λk−1,i (Fk−1,i − Sk,Si +1 )

This can be used to calculate the position of nodes above the middle point: Sk,i for i < k/2.
Similarly, using the put option prices, we can express Sk,i+1 in Sk,i :

Sk,i (e r ∆t P(Sk−1,i , k∆t) − ) + λk−1,i Sk−1,i (Fk−1,i − Sk,i )


P
Sk,i+1 = (14)
e r ∆t P(Sk−1,i , k∆t) −
P
+λk−1,i (Fk−1,i − Sk,Si )

Algorithm for even number of time steps:


Start from center point Sk,k/2 = S0

For nodes above center, calculate their positions iteratively using (13)

For nodes below center, calculate their positions iteratively using (14)

Calcualte the probability using (2)

Note that in [Derman and Kani, 1994], the call and put prices C (.) and P(.) are calculted
from a standard CRR binomial tree with interpolated smile. This is unecessary. We can
just apply Black-Scholes formulae using the implied volatility queried from the implied
volatility surface.

Numerical Methods (QF607) Implied Binomial Tree 8 / 11


When k is Odd

We impose the constraint S02 = Sk,bk/2c × Sk,bk/2c+1 similar to CRR


binomial tree. Substituting Sk,bk/2c = S02 /Sk,bk/2c+1 into (13), we can
obtain:
S0 [e r ∆t C (S0 , k∆t) + λk−1,bk/2c S0 − ]
P
Sk,bk/2c = (15)
λk−1,bk/2c Fk−1,bk/2c − e r ∆t C (S0 , k∆t) +
P

Once we position Sk,bk/2c and Sk,bk/2c+1 , we can use the same iterative
method as when k is even, to setup the rest of the tree nodes.

Working examples are available in [Derman and Kani, 1994], node index
there is different from our notation: we are indexing from top to bottom
— Sk,0 represents the top node at time step k, in the paper the index is
from bottom to top.

Numerical Methods (QF607) Implied Binomial Tree 9 / 11


Project Requirements
Implement the above implied binomial tree model and pricer. For
discussion simplicity, we ommited the dividend rate q. In the actual
implementation, we need to incorporate dividend rate q.
Test the tree with different tradeables:
I Construct test cases to demonstrate that the model is implemented
correctly.
I Discuss observations from the test cases. Suggest the appropriate
model settings (discretization steps).

Project group: one or two members


A project report together with source code to be submitted, in
Jupyter notebook format (.ipynb).
Assessment will be made on the overall quality of report, code and
result
Deadline: 24 Feb 2020, 23:59:59

Numerical Methods (QF607) Implied Binomial Tree 10 / 11


References

Derman, E. and Kani, I. (1994).


The volatility smile and its implied tree
http://www.cmat.edu.uy/~mordecki/hk/derman-kani.pdf.
Quantitative Strategies Research Notes.

Numerical Methods (QF607) Implied Binomial Tree 11 / 11

You might also like