%% Price a 10% Floor Instrument Using a Newly Created BDT Interest-Rate Tree
% First set the required arguments for the three needed specifications.

Compounding = 1; 
ValuationDate = '01-01-2000'; 
StartDate = ValuationDate; 
EndDates = ['01-01-2001'; '01-01-2002'; '01-01-2003'; 
'01-01-2004'; '01-01-2005']; 
Rates = [.1; .11; .12; .125; .13]; 
Volatility = [.2; .19; .18; .17; .16];

%
% Create the specifications.

RateSpec = intenvset('Compounding', Compounding,... 
'ValuationDate', ValuationDate,... 
'StartDates', StartDate,... 
'EndDates', EndDates,... 
'Rates', Rates); 
BDTTimeSpec = bdttimespec(ValuationDate, EndDates, Compounding); 
BDTVolSpec = bdtvolspec(ValuationDate, EndDates, Volatility);

%
% Create the BDT tree from the specifications.

BDTTree = bdttree(BDTVolSpec, RateSpec, BDTTimeSpec)

%
% Set the floor arguments. Remaining arguments will use defaults.

FloorStrike = 0.10; 
Settlement = ValuationDate; 
Maturity = '01-01-2002'; 
FloorReset = 1;

%
% Use floorbybdt to find the price of the floor instrument.

Price= floorbybdt(BDTTree, FloorStrike, Settlement, Maturity,... 
FloorReset)

% Copyright 2015 The MathWorks, Inc.