I am using BINPRICE: An American Call and I assume the stock pays a dividend of 30 in 0.5 years. Thus it is very likely that the call is exercised at 0.5 – eps. The price that binprice gives me is 0.44. If I use European Black–Scholes–Merton with an `escrowed' dividend, the price of a European call is already 0.50.
If I price an American Call that matures in 0.5, ie., right before the dividend, its value is 6.91. This appears strange as for the 1-year call could always be exercised at 0.5 – eps, and hence give about the same payoff as the 0.5-year call. I would expect the magnitude to be roughly the same.
My code is as follows:
clc, clear all, close all hiddenS0 = 100;X = 100;r = 0.05;tau = 1;sigma = 0.2;M = 101; % steps
D = 30;tauD = 0.5;fprintf('American Call Dividend\n')[S, C0] = binprice(S0, X, r, tau, tau/M, sigma, 1, 0, D,tauD);C0(1,1)fprintf('\nB--S--M (European) escrowed dividend\n')blsprice(S0 - D*exp(-r * tauD), X, r, tau, sigma, 0)fprintf('Matlab Financial Toolbox without div, tau/2\n')[ign, C0] = binprice(S0, X, r, tau/2, tau/M, sigma, 1);C0(1,1)
Best Answer