Professional Documents
Culture Documents
第六組
BinTree (下三角)
lattice = ones(N+1,N+1)*S0;
Code for j=2:N+1
lattice(1,j)= 0;
end
for i=2:1:N+1
for j=1:i-1
lattice(i,j) =d*lattice(i-1,j);
end
%for loop ends on last value of j
lattice(j+1,j+1) =u*lattice(i-1,j);
for j=i+1:N+1
lattice(i,j) =0;
end
end
Outcome
BinOptionValue (上三角)
deltaT = T/N;
if imod == 0
rnmut=(r-q-0.5*sigma^2)*deltaT;
u=exp(rnmut+sigma*sqrt(deltaT));
d=exp(rnmut-sigma*sqrt(deltaT));
p=0.5;
else
u=exp(sigma * sqrt(deltaT));
d=1/u;
p=(exp((r-q)*deltaT) - d)/(u-d);
end
Code
lattice = zeros(N+1,N+1);
for j=0:N
lattice(j+1, N+1)=max(0 , S0*(u^j)*(d^(N-j)) - X);
end
for i=N-1:-1:0
for j=0:i
lattice(j+1, i+1) = exp(-r*deltaT) * (p *
lattice(j+2, i+2) + (1-p) * lattice(j+1, i+2));
end
end
price = lattice(1,1);
Outcome
BinOptionValue (一次折現)
deltaT = T/N;
if imod == 0
rnmut=(r-q-0.5*sigma^2)*deltaT;
u=exp(rnmut+sigma*sqrt(deltaT));
d=exp(rnmut-sigma*sqrt(deltaT));
p=0.5;
else
u=exp(sigma * sqrt(deltaT));
d=1/u;
p=(exp((r-q)*deltaT) - d)/(u-d);
Code end
lattice = zeros(N+1,N+1);
for j=0:N
lattice(N+1,j+1)=max(0 , S0*(u^j)*(d^(N-j)) - X);
end
price = 0;
for j=0:N
price = price + exp(-r*T) * (nchoosek(N,j) * (p^j) *
((1-p)^(N-j)) * lattice(N+1, j+1));
end
Outcome
BinOptionValue_Put
deltaT = T/N;
if imod == 0
rnmut=(r-q-0.5*sigma^2)*deltaT;
u=exp(rnmut+sigma*sqrt(deltaT));
d=exp(rnmut-sigma*sqrt(deltaT));
p=0.5;
else
u=exp(sigma * sqrt(deltaT));
d=1/u;
p=(exp((r-q)*deltaT) - d)/(u-d);
end
Code
lattice = zeros(N+1,N+1);
for j=0:N
lattice(N+1,j+1)=max(0 , X - S0*(u^j)*(d^(N-j)));
end
for i=N-1:-1:0
for j=0:i
lattice(i+1,j+1) = exp(-r*deltaT) * (p *
lattice(i+2,j+2) + (1-p) * lattice(i+2,j+1));
end
end
price = lattice(1,1);
Outcome