Code covered by the BSD License
 ...
This is material illustrating the methods from the book
 ...
This is material illustrating the methods from the book
 BinTree_A(S0, K, r, T, si...This is material illustrating the methods from the book
 BinTree_CP(S0, K, r, T, s...This is material illustrating the methods from the book
 BinTree_KI(S0, K, r, T, s...This is material illustrating the methods from the book
 BlackScholesPrice(S,K,r,T...This is material illustrating the methods from the book
 PIter_R.m
 RegCoeff(S, g, df, B, Nb,...This is material illustrating the methods from the book
 RegCoeff_M(S, M, Ns, g, d...This is material illustrating the methods from the book
 UpperBound2.m
 UpperBound3(S, g, df, B, ...This is material illustrating the methods from the book
 [price, se, low, high] ...
This is material illustrating the methods from the book
 [price, se, low, high] ...
This is material illustrating the methods from the book
 [price, se, low, high] ...
This is material illustrating the methods from the book
 [price, se, low, high] ...
This is material illustrating the methods from the book
 asian_bintree(S, df, p, K...This is material illustrating the methods from the book
 barrier_bintree(S, df, p,...This is material illustrating the methods from the book
 callpayoff(S,Strike)
This is material illustrating the methods from the book
 callput_bintree(S, df, p,...This is material illustrating the methods from the book
 createbintree(S0, T, n, r...This is material illustrating the methods from the book
 getPaths(S0, r, sigma, dt...This is material illustrating the methods from the book
 getPathsAsian(S0, r, sigm...This is material illustrating the methods from the book
 knockIn_indikator.m
 knockinpayoff(S,K,Barrier...This is material illustrating the methods from the book
 putpayoff(S,Strike)
This is material illustrating the methods from the book
 TestLongstaffSchwarz.m
 TestLongstaffSchwarz_exot...
 TestTrees.m

View all files

BinTree_CP(S0, K, r, T, sigma, n, type)

% This is material illustrating the methods from the book
% Financial Modelling  Theory, Implementation and Practice with Matlab
% source
% Wiley Finance Series
% ISBN 9780470744895
%
% Date: 02.05.2012
%
% Authors: Joerg Kienitz
% Daniel Wetterau
%
% Please send comments, suggestions, bugs, code etc. to
% kienitzwetterau_FinModelling@gmx.de
%
% (C) Joerg Kienitz, Daniel Wetterau
%
% Since this piece of code is distributed via the mathworks fileexchange
% it is covered by the BSD license
%
% This code is being provided solely for information and general
% illustrative purposes. The authors will not be responsible for the
% consequences of reliance upon using the code or for numbers produced
% from using the code.
function y = BinTree_CP(S0, K, r, T, sigma, n, type)
% American call/put pricing using a binomial tree
% S0: Spot value
% K: Strike
% r: riskless rate
% T: Maturity
% sigma: volatility
% n: periods for tree
% type: 0 put, 1 call
dt = T / n; % length of one period
u = exp(sigma * sqrt(dt)); % up move
d = 1 / u; % down move
D = exp(r * dt); % discount
p = (1/D  d) / (u  d); % probability
S{n} = S0 * u^n * d.^(0:2:2*n);
if type == 0
cp = 1;
else
cp = 1; % payoff at t_N
end
v{n} = max(cp*(S{n}K), 0); % payoff at t_N
for i = n1:1:1
S{i} = S0 * u.^i * d.^(0:2:2*i);
v{i} = max(cp*(S{i}K), 0);
expected_val = p * v{i+1}(1:end1) * D ...
+ (1p) * v{i+1}(2:end) * D; % expected value of price
index = v{i} < expected_val; % early exercise or not
v{i}(index) = expected_val(index); % value at t_i
end
y = p * v{1}(1) * D + (1p) * v{1}(2) * D; % option value t_0
end


Contact us