%% Price Swap By Specifying Multiple Term Structures Using a 1-by-2 RateSpec
% Price a swap using two interest-rate curves. First, define data for the two interest-rate term structures:

StartDates = '01-May-2012'; 
EndDates = {'01-May-2013'; '01-May-2014';'01-May-2015';'01-May-2016'};
Rates1 = [0.0356;0.041185;0.04489;0.047741];
Rates2 = [0.0366;0.04218;0.04589;0.04974];

%
% Create the RateSpec using intenvset.

RateSpecReceiving = intenvset('Rates', Rates1, 'StartDates',StartDates,...
'EndDates', EndDates, 'Compounding', 1);
RateSpecPaying= intenvset('Rates', Rates2, 'StartDates',StartDates,...
'EndDates', EndDates, 'Compounding', 1);
RateSpec=[RateSpecReceiving RateSpecPaying]

%
% Define the swap instruments.

Settle = '01-May-2012';
Maturity = '01-May-2015';
LegRate = [0.06 10]; 
Principal = [100;50;100];

%
% Price three swaps using the two curves.

Price = swapbyzero(RateSpec, LegRate, Settle, Maturity, 'Principal', Principal)

% Copyright 2015 The MathWorks, Inc.