Code covered by the BSD License

# Modern Pricing Method using Transforms

### Kienitz Wetterau FinModelling (view profile)

25 Jul 2012 (Updated )

COS, CONV, Lewis Option Pricing Methods including Bermudan and American Options.

coeff_b_2(k, x1, x2, a, b)
```% 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
%
% 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 [chi, psi] = coeff_b_2(k, x1, x2, a, b)

arg2 = k .* pi * diag((x2 - a) ./ (b - a));     % arg trig func
arg1 = k .* pi * diag((x1 - a) ./ (b - a));     % arg trig func

term1 = cos( arg2 ) * diag(exp(x2));
term2 = cos( arg1 ) * diag(exp(x1));

term3 = pi * k .* sin( arg2 ) * diag(exp(x2)./ (b-a));
term4 = pi * k .* sin( arg1 ) * diag(exp(x1)./ (b-a));

chi = 1 ./ ( 1 + ((k .* pi) *diag(1./ (b - a))).^2 ) ...
.* ( term1 - term2 + term3 - term4 );   % modify init

chi(1,:) = (exp(x2)-exp(x1)); % init chi

psi = ((sin(arg2) - sin(arg1)) ./ (k .* pi)) *diag(b-a);    % modify init

psi(1,:) = (x2-x1);           % init psi

end```