CRR and American Options1

```CRR and American Options
Date: Oct.20.2014
Authors: LÓPEZ LÓPEZ, VÍCTOR
LUTEMBEKA, SHEDRACK
YUAN, BO
OVERVIEW

1. Problem statement

2. Method

3. Examples using Python:
Price an American option using the CRR binomial model
Problem Statement
Implement in Python the Binomial model (CoxRoss-Rubenstein) and calculate the price as
function of time to maturity and strike and show
in a graph how the solution converge to the
hockey-stick.
Method
STEP 1:
Create the binomial price tree
At each step, it is assumed that the underlying instrument will move up or down by
a specific factor (u or d) per step of the tree.
So, if S is the current price, then in the next period the price will either be:
S
S
up
 S u
down
 S d
The up and down factors are calculated using:

u 
e
 t
d e

t
1
u
Method

STEP 2: Find Option value at each final node

At each final node of the tree — i.e. at expiration of the option — the
option value is simply its intrinsic, or exercise value.


Max (sn)  K , o  Call


Max ( K  sn),0  Put

Where K is the strike price and S(n) is the spot price of the
underlying asset.
Method

STEP 3: Find Option value at earlier nodes

The following formula to compute the expectation value is applied at
each node:

“probability” p: an up move in the underlying
( r  q ) t
pe


d
ud
“probability” (1-p) denotes down move.
Examples using Python

Price an American option using the CRR binomial model

For an American option, since the option may either be held or exercised prior to
expiry, the value at each node is: Max (Binomial Value, Exercise Value).

The input values is as follows:

n = 10
#number of steps

S = 100
#initial underlying asset price

r = 0.06
#risk-free interest rate

K = 105
#strike price

v = 0.4
#volatility

t = 1y
#time to maturity
Examples using Python

Results:

Pegging the strike: a solution to get rid of oscilations.

(1)Pricing American call option in one year:
Examples using Python

(2) Pricing American put option in one year:

Thank you for watching!
```