Assignment 2, problem 2

Contents

Problem 2(a): European Put Option

S0 = 10; u = 1.1; d = 0.9;  % binomial stock price model
rho = .01;                  % interest rate per period
N = 12;                     % maturity
K = 11;                     % strike

[V0_EP,av] = xbinom_eu_put(rho,S0,u,d,N,K,5);
disp('    S0        V0_EP')
disp([S0*av',V0_EP'])     % table: initial stock price, option price
    S0        V0_EP
    3.6665    6.0958
    4.4813    5.2862
    5.4771    4.3248
    6.6942    3.2494
    8.1818    2.1704
   10.0000    1.2439
   12.2222    0.5896
   14.9383    0.2222
   18.2579    0.0634
   22.3152    0.0128
   27.2741    0.0016

Problem 2(b): European Call Option

[V0_EC,av] = xbinom_eu_call(rho,S0,u,d,N,K,5);
disp('    S0        V0_EC')
disp([S0*av',V0_EC'])     % table: initial stock price, option price
    S0        V0_EC
    3.6665    0.0003
    4.4813    0.0055
    5.4771    0.0399
    6.6942    0.1817
    8.1818    0.5903
   10.0000    1.4820
   12.2222    3.0499
   14.9383    5.3985
   18.2579    8.5594
   22.3152   12.5661
   27.2741   17.5138

Problem 2(c): American Put Option

We see that the American Put option price is larger than the European Put option price. In the graphs the black dotted curve is the European Put price.

[V0_AP,av] = xbinom_am_put(rho,S0,u,d,N,K,5);
disp('    S0        V0_AP     V0_EP')
disp([S0*av',V0_AP',V0_EP'])     % table: initial stock price, option price
figure(1); hold on
plot(S0*av,V0_EP,'k:'); hold off;
legend('option price','current payoff','current payoff with discounted strike','European Put price')

figure(2); hold on
plot(K./av,V0_EP./av,'k:'); hold off;
legend('option price','current payoff','current payoff with discounted strike','European Put price','Location','best')
    S0        V0_AP     V0_EP
    3.6665    7.3335    6.0958
    4.4813    6.5187    5.2862
    5.4771    5.5229    4.3248
    6.6942    4.3058    3.2494
    8.1818    2.8182    2.1704
   10.0000    1.4895    1.2439
   12.2222    0.6668    0.5896
   14.9383    0.2415    0.2222
   18.2579    0.0669    0.0634
   22.3152    0.0132    0.0128
   27.2741    0.0016    0.0016

Problem 2(d): American Call Option

We see that the American Call option price is the same as the European Call option price.

[V0_AC,av] = xbinom_am_call(rho,S0,u,d,N,K,5);
disp('    S0        V0_AC     V0_EC')
disp([S0*av',V0_AC',V0_EC'])     % table: initial stock price, option price
    S0        V0_AC     V0_EC
    3.6665    0.0003    0.0003
    4.4813    0.0055    0.0055
    5.4771    0.0399    0.0399
    6.6942    0.1817    0.1817
    8.1818    0.5903    0.5903
   10.0000    1.4820    1.4820
   12.2222    3.0499    3.0499
   14.9383    5.3985    5.3985
   18.2579    8.5594    8.5594
   22.3152   12.5661   12.5661
   27.2741   17.5138   17.5138