Skip to content

Instantly share code, notes, and snippets.

@Odomontois
Last active December 26, 2015 19:19
Show Gist options
  • Save Odomontois/7200114 to your computer and use it in GitHub Desktop.
Save Odomontois/7200114 to your computer and use it in GitHub Desktop.
%----Data----
{"S": 1379.9,
"X": 1500,
"u": [1.0036, 1.0044, 1.0060, 1.0056, 1.0064, 1.0087, 1.0102, 1.0114, 1.0126, 1.0133, 1.0151, 1.0150],
"pu": 0.4930,
"r": 2.8000e-04,
"deltaT":1
}
%------------
tree=2;
i=1;
N_tree=12;
while tree<=2^N_tree
S_tree2=zeros(tree,1);
for j=1:1:tree/2
S_tree2(j)=S_tree1(j)*u(i);
S_tree2(j+tree/2)=S_tree1(j)/u(i);
end
S_tree1=S_tree2;
tree=tree*2;
i=i+1;
end
tree=tree/2;
C_tree1=X-S_tree1;
i=i-1;
while tree>1
C_tree2=zeros(tree/2,1);
for j=1:1:tree/2
C_tree2(j)=max(0,(pu*C_tree1(j)+(1-pu)*C_tree1(j+tree/2))*exp(r*N_tree));
end
C_tree1=C_tree2;
tree=tree/2;
i=i-1;
end
%------Option------
f0=126.4572
%----Data----
{"S": 1379.9,
"X": 1500,
"u": [1.0291, 1.0008, 1.0067, 1.0042, 1.0045, 1.0056, 1.0049, 1.0055, 1.0052, 1.0057, 1.0052, 1.0052],
"pu": [0.0337, 0.4628, 0.2873, 0.3539, 0.3472, 0.3164, 0.3354, 0.3184, 0.3262, 0.3150, 0.3281, 0.3262],
"pd": [0.0352, 0.4765, 0.2970, 0.3653, 0.3584, 0.3269, 0.3464, 0.3290, 0.3369, 0.3254, 0.3389, 0.3369],
"pm": [0.9311, 0.0607, 0.4157, 0.2808, 0.2944, 0.3567, 0.3182, 0.3526, 0.3369, 0.3596, 0.3330, 0.3369],
"r": 2.8000e-04,
"deltaT":1
}
%------------
tree=3;
i=1;
N_tree=12;
while tree<=3^N_tree
S_tree2=zeros(tree,1);
for j=1:1:tree/3
S_tree2(j)=S_tree1(j)*u(i);
S_tree2(j+tree/3)=S_tree1(j);
S_tree2(j+2*tree/3)=S_tree1(j)/u(i);
end
S_tree1=S_tree2;
tree=tree*3;
i=i+1;
end
tree=tree/3;
C_tree1=X-S_tree1;
i=i-1;
while tree>1
C_tree2=zeros(tree/3,1);
for j=1:1:tree/3
C_tree2(j)=max(0,(pu(i)*C_tree1(j)+pm(i)*C_tree1(j+tree/3)+pd(i)*C_tree1(j+2*tree/3))*exp(r*N_tree));
end
C_tree1=C_tree2;
tree=tree/3;
i=i-1;
end
%------Option------
f0=125.7697
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment