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[edit] 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 pe d ud “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!