% This is material illustrating the methods from the book
% Financial Modelling - Theory, Implementation and Practice with Matlab
% source
% Wiley Finance Series
% ISBN 978-0-470-74489-5
%
% 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 file-exchange
% 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 = knockinpayoff(S,K,Barrier,type)
% payoff of a knock-in barrier options
[M,n] = size(S);
if type==0
maximum = zeros(M,n);
for i=1:n
maximum(:,i) = max(S(:,1:i), [], 2);
end
ind = maximum >= Barrier;
y = max(S - K, 0) .* ind;
else
minimum = zeros(M,n);
for i=1:n
minimum(:,i) = min(S(:,1:i), [], 2);
end
ind = minimum <= Barrier;
y = max(K - S, 0) .* ind;
end