www.gusucode.com > fininst 案例源码程序 matlab代码 > fininst/PriceEuropeanSwaptionforaLinearGaussianTwoFactorModelExample.m

    %% Price a European Swaption Using a Linear Gaussian Two-Factor Model  

% Copyright 2015 The MathWorks, Inc.


%% 
% Define the |ZeroCurve|, |a|, |b|, |sigma|, |eta|, and |rho| parameters
% to compute the price of the swaption. 
Settle = datenum('15-Dec-2007');
 
ZeroTimes = [3/12 6/12 1 5 7 10 20 30]';
ZeroRates = [0.033 0.034 0.035 0.040 0.042 0.044 0.048 0.0475]';
CurveDates = daysadd(Settle,360*ZeroTimes,1);
 
irdc = IRDataCurve('Zero',Settle,CurveDates,ZeroRates);
 
a = .07;
b = .5;
sigma = .01;
eta = .006;
rho = -.7;
 
Reset = 1;
ExerciseDate = daysadd(Settle,360*5,1);
Maturity = daysadd(ExerciseDate,360*[3;4],1);
Strike = .05;
  
Price = swaptionbylg2f(irdc,a,b,sigma,eta,rho,Strike,ExerciseDate,Maturity,'Reset',Reset)