Hello everyone,
I'm student girl in university of UCL and I' learning coding in Matlab to implement the Cox Ross Rubinstein formula to price Option.
That's my error..
"??? Index exceeds matrix dimensions.
Error in ==> americantree at 26
put(i, j) = exp(-R * dt) * (p * (pf(i , j )) + ( (1-p )* pf(i , j)));"
And here my entirely code to get the price of the option
If someone here could help me, please
I'm student girl in university of UCL and I' learning coding in Matlab to implement the Cox Ross Rubinstein formula to price Option.
That's my error..
"??? Index exceeds matrix dimensions.
Error in ==> americantree at 26
put(i, j) = exp(-R * dt) * (p * (pf(i , j )) + ( (1-p )* pf(i , j)));"
And here my entirely code to get the price of the option
If someone here could help me, please
Code:
function C = americantree(s,K,T,R,sigma,M)
dt=T/M;
voldt = sigma * sqrt(dt);
up = exp(voldt);
down = 1 / up;
r = exp(R * dt);
p = (r - down) / (up - down);
%compute stock price at each node
for i=1:(M+1)
%for j= 1:(i+1)
St= s*up^(M-1-i)*down^(i-1);
pf(i)= max(K-St,0);
end;
%compute terminal payoffs
% work backwards to price the option at each nodes
for i= (M-1):-1:1
for j=(i+1):-1:1
put(i, j) = exp(-R * dt) * (p * (pf(i , j )) + ( (1-p )* pf(i , j)));
v(i, j) = max(K - pr(i, j),put(i, j));
end;
end;
C=v(1,1);