140 likes | 332 Views
Binomial Method for Options Pricing. Amit Kumar. References:. Book: Computational Methods for Option Pricing, by authors: Yves Achdou , and Olivier Pironneau. J. Cox, S. Ross, and M. Rubinstein. Option pricing: A Simplified Approach . Journal of Financial Economics, 7:229264, 1979.
E N D
Binomial Method for Options Pricing Amit Kumar
References: • Book: Computational Methods for Option Pricing, by authors: Yves Achdou , and Olivier Pironneau. • J. Cox, S. Ross, and M. Rubinstein. Option pricing: A Simplified Approach. Journal of Financial Economics, 7:229264, 1979.
Basic Equation for call value: • C(ST, T) = (ST – K)+ • Binomial Method for options pricing uses a tree of possible events. • The Tree for S – determines the intermediate value of the underlying asset, along the time to maturity. • The Tree for C – determines the intermediate values of the Call option, along the time to maturity.
The Tree for S • Consider a simple situation where the underlying asset(i.e., Sn = St, t = ndt) can evolve only in two ways: • either it goes up by a factor u >= 1: Sn+1 =uSn with probability p or, • it goes down by a factor d <= 1: Sn+1 = dSn with probability 1-p. • At n= 0, S0 is known, then at n = 1, S1 € {u S0,d S0}, at n= 2, S2 € {u2S0 ,udS0, d2S0} with probability p2, 2p(1-p), (1-p)2, and so forth.
u2S uS duS S dS d2S S – Tree
The Tree for C • By definition the price of the European vanilla call option can be approximated by the following equation • It is seen that Cn = (Sn – K)+ at t = ndt, also has only two possible changes, a growth with a probability p and a decrease with a probability 1-p. • Let , m = 0, …,n be the possible values of Cn. Then the expected value of Cn+1 knowing Cn = is , so the analogue equation to Black-Scholes is:
Cuu = max [0, u2S-K] Cu Cdu = max [0, duS-K] C Cd Cdd = max [0, d2S-K] C-Tree
Example:S = 80, n=3, K=80, u=1.5, d=0.5 r=1.1 • Suppose the probability function is defined as: p = (r-d)/(u-d) = 0.6 in this case. • Relevant values of r: r-1 = 0.909, r-2 = 0.826, r-3 = 0.751
270(0.216) 180(0.36) 90(0.432) 120(0.6) 60(0.48) 80 40(0.4) 30(0.288) 20(0.16) 10(0.064) Asset values and probabilitieswhen, n=3, S=80
270(0.36) 180(0.6) 90(0.48) 120 60(0.4) 30(0.16) Asset values and probabilities …when n=2, if S = 120
90(0.36) 60(0.6) 30(0.48) 40 20(0.4) 10(0.16) Asset values and probabilities …when n=2, if S = 40
190 107.272 10 60.463 5.454 34.065 2.974 0 0 0 Call value tree…
Sample Code … that has O(M2) operations // Source: Computational Methods for Option Pricing, by authors: Yves Achdou , and Olivier Pironneau. double binomial(const double S0) { double disc = exp(-r*dt); double u = ( 1+sqrt(exp(sigmap*sigmap*dt)-1))/disc; double d = (1-sqrt(exp(sigmap*sigmap*dt)-1))/disc, p = 0.5; double S[M],C[M]; S[0] = S0; for(int m=1; m<M; m++) { for(int n=m; n>0; n--) S[n] = u*S[n-1]; S[0] = d*S[0]; } for(int n=0; n<M; n++) C[n] = S[n]>K?S[n]-K:0; for(int m=M-1; m>0; m--) for(int n=0; n<m; n++) C[n] = (p*C[n+1]+(1-p)*C[n])*disc; return C[0]; }
What can be done … • Adapting binomial method to a time dependent volatility function? • Study the influence of the choice of p, u, and d on the results.