function price lattice Lattice Am Call Div PS

  • Slides: 11
Download presentation

function [price, lattice] = Lattice. Am. Call. Div. P(S 0, X, r, T, sigma,

function [price, lattice] = Lattice. Am. Call. Div. P(S 0, X, r, T, sigma, N, div, tau) delta. T = T/N; u=exp(sigma * sqrt(delta. T)); d=1/u; p=(exp(r*delta. T) - d)/(u-d); lattice = zeros(N+1, N+1); for i=1: N+1 lattice(i, N+1)=max(0 , S 0*(u^(N-i+1))*(d^(i-1))*(1 -div)-X); end for j=N: -1: tau for i=1: j lattice(i, j) = max( S 0*u^(j-i)*d^(i-1)*(1 -div)-X , . . . exp(-r*delta. T) *(p * lattice(i, j+1) + (1 -p) * lattice(i+1, j+1))); end for j=tau-1: 1 for i=1: j lattice(i, j) = max( S 0*u^(j-i)*d^(i-1)-X , . . . exp(-r*delta. T) *(p * lattice(i, j+1) + (1 -p) * lattice(i+1, j+1))); end price = lattice(1, 1);

function [price, lattice] = Lattice. Eur. Call. Div. P(S 0, X, r, T, sigma,

function [price, lattice] = Lattice. Eur. Call. Div. P(S 0, X, r, T, sigma, N, div, tau) delta. T = T/N; u=exp(sigma * sqrt(delta. T)); d=1/u; p=(exp(r*delta. T) - d)/(u-d); lattice = zeros(N+1, N+1); for i=1: N+1 lattice(i, N+1)=max(0 , S 0*(u^(N-i+1))*(d^(i-1))*(1 -div)-X); end for j=N: -1: tau for i=1: j lattice(i, j) = exp(-r*delta. T)*(p*lattice(i, j+1)+(1 -p)*lattice(i+1, j+1 end for j=tau-1: 1 for i=1: j lattice(i, j) =-exp(-r*delta. T) *(p * lattice(i, j+1) + (1 -p) * lattice( end price = lattice(1, 1);

>> Lattice. Eur. Call. Div. P(50, 0. 02, 1, 0. 2, 10, 0. 1,

>> Lattice. Eur. Call. Div. P(50, 0. 02, 1, 0. 2, 10, 0. 1, 3) ans = 2. 0767 >> Lattice. Am. Call. Div. P(50, 0. 02, 1, 0. 2, 10, 0. 1, 3) ans = 2. 1484

function [price, lattice] = Lattice. Eur. Put. Div. P(S 0, X, r, T, sigma,

function [price, lattice] = Lattice. Eur. Put. Div. P(S 0, X, r, T, sigma, N, div, tau) delta. T = T/N; u=exp(sigma * sqrt(delta. T)); d=1/u; p=(exp(r*delta. T) - d)/(u-d); lattice = zeros(N+1, N+1); for i=1: N+1 lattice(i, N+1)=max(0 , X-S 0*(u^(N-i+1))*(d^(i-1))*(1 -div)); end for j=N: -1: tau for i=1: j lattice(i, j) = exp(-r*delta. T)*(p*lattice(i, j+1)+(1 p)*lattice(i+1, j+1)); end for j=tau-1: 1 for i=1: j lattice(i, j) =-exp(-r*delta. T) *(p * lattice(i, j+1) + (1 -p) * lattice(i+1, j+1)); end price = lattice(1, 1);

>> Lattice. Eur. Put. Div. P(50, 0. 02, 1, 0. 2, 10, 0. 1,

>> Lattice. Eur. Put. Div. P(50, 0. 02, 1, 0. 2, 10, 0. 1, 3) ans = 6. 0867

function [price, lattice] = Lattice. Am. Call. Div. D(S 0, X, r, T, sigma,

function [price, lattice] = Lattice. Am. Call. Div. D(S 0, X, r, T, sigma, N, D, tau) delta. T = T/N; u=exp(sigma * sqrt(delta. T)); d=1/u; p=(exp(r*delta. T) - d)/(u-d); S 0 a=S 0 -D*exp(-r*tau*delta. T); lattice = zeros(N+1, N+1); for j=0: N lattice(N+1, j+1)=max(0 , S 0 a*(u^j)*(d^(N-j))-X); end for i=N-1: tau for j=0: i lattice(i+1, j+1) = max( S 0 a*u^j*d^(i-j)-X , . . . exp(-r*delta. T) *(p * lattice(i+2, j+2) + (1 -p) * lattice(i+2, j+1))); end for i=tau-1: 0 for j=0: i lattice(i+1, j+1) = max( S 0 a*u^j*d^(i-j)+D*exp(-r*(tau-i)*delta. T)-X , . . . exp(-r*delta. T) *(p * lattice(i+2, j+2) + (1 -p) * lattice(i+2, j+1))); end price = lattice(1, 1);

function [price, lattice] = Lattice. Eur. Call. Div. D(S 0, X, r, T, sigma,

function [price, lattice] = Lattice. Eur. Call. Div. D(S 0, X, r, T, sigma, N, D, tau) delta. T = T/N; u=exp(sigma * sqrt(delta. T)); d=1/u; p=(exp(r*delta. T) - d)/(u-d); S 0 a=S 0 -D*exp(-r*tau*delta. T); lattice = zeros(N+1, N+1); for j=0: N lattice(N+1, j+1)=max(0 , S 0 a*(u^j)*(d^(N-j))-X); end for i=N-1: tau for j=0: i lattice(i+1, j+1) = exp(-r*delta. T) *(p * lattice(i+2, j+2) + (1 -p) * lattice(i+2, j+1)); end for i=tau-1: 0 for j=0: i lattice(i+1, j+1) = exp(-r*delta. T) *(p * lattice(i+2, j+2) + (1 -p) * lattice(i+2, j+1)); end price = lattice(1, 1);

>> Lattice. Am. Call. Div. P(50, 0. 02, 1, 0. 2, 10, 0. 1,

>> Lattice. Am. Call. Div. P(50, 0. 02, 1, 0. 2, 10, 0. 1, 3) ans = 2. 6130 >> Lattice. Eur. Call. Div. D(50, 0. 02, 1, 0. 2, 10, 0. 1, 3) ans = 4. 3149

function [price, lattice] = Lattice. Eur. Put. Div. D(S 0, X, r, T, sigma,

function [price, lattice] = Lattice. Eur. Put. Div. D(S 0, X, r, T, sigma, N, D, tau) delta. T = T/N; u=exp(sigma * sqrt(delta. T)); d=1/u; p=(exp(r*delta. T) - d)/(u-d); S 0 a=S 0 -D*exp(-r*tau*delta. T); lattice = zeros(N+1, N+1); for j=0: N lattice(N+1, j+1)=max(0 , X-S 0 a*(u^j)*(d^(N-j))); end for i=N-1: tau for j=0: i lattice(i+1, j+1) = exp(-r*delta. T) *(p * lattice(i+2, j+2) + (1 -p) * lattice(i+2, j+1)); end for i=tau-1: 0 for j=0: i lattice(i+1, j+1) = exp(-r*delta. T) *(p * lattice(i+2, j+2) + (1 -p) * lattice(i+2, j+1)); end price = lattice(1, 1);

Lattice. Am. Put. Div. P(50, 0. 02, 1, 0. 2, 10, 0. 1, 3)

Lattice. Am. Put. Div. P(50, 0. 02, 1, 0. 2, 10, 0. 1, 3) price = 6. 0867