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

    %% Construct a LIBOR Market Model  

% Copyright 2015 The MathWorks, Inc.


%% 
% Construct a |LMM| object. 
Settle = datenum('15-Dec-2007');
CurveTimes = [1:5 7 10 20]';
ZeroRates = [.01 .018 .024 .029 .033 .034 .035 .034]';
CurveDates = daysadd(Settle,360*CurveTimes,1);

irdc = IRDataCurve('Zero',Settle,CurveDates,ZeroRates);

LMMVolFunc = @(a,t) (a(1)*t + a(2)).*exp(-a(3)*t) + a(4);
LMMVolParams = [.3 -.02 .7 .14];
  
numRates = 20;
VolFunc(1:numRates-1) = {@(t) LMMVolFunc(LMMVolParams,t)};
  
Beta = .08;
CorrFunc = @(i,j,Beta) exp(-Beta*abs(i-j));
Correlation = CorrFunc(meshgrid(1:numRates-1)',meshgrid(1:numRates-1),Beta);
  
LMM = LiborMarketModel(irdc,VolFunc,Correlation,'Period',1);  

%% 
% Simulate the term structures for the specified |LMM| object. 
[ZeroRates, ForwardRates] = simTermStructs(LMM, 10,'nTrials',100);