Main Content

bdttree

Build Black-Derman-Toy interest-rate tree

Description

BDTTree = bdttree(VolSpec,RateSpec,TimeSpec) creates a structure containing time and interest-rate information on a recombining tree.

Note

Alternatively, you can use the IRTree object to price interest-rate instruments. For more information, see Get Started with Workflows Using Object-Based Framework for Pricing Financial Instruments.

example

Examples

collapse all

Using the data provided, create a BDT volatility specification (using bdtvolspec), rate specification (using intenvset), and tree time layout specification (using bdttimespec). Then use these specifications to create a BDT tree with bdttree.

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];

RateSpec = intenvset('Compounding', Compounding,...
		     'ValuationDate', ValuationDate,...
		     'StartDates', StartDate,...
		     'EndDates', EndDates,...
		     'Rates', Rates);
	 
BDTTimeSpec = bdttimespec(ValuationDate, EndDates, Compounding);
BDTVolSpec = bdtvolspec(ValuationDate, EndDates, Volatility);
BDTTree = bdttree(BDTVolSpec, RateSpec, BDTTimeSpec)
BDTTree = struct with fields:
      FinObj: 'BDTFwdTree'
     VolSpec: [1×1 struct]
    TimeSpec: [1×1 struct]
    RateSpec: [1×1 struct]
        tObs: [0 1 2 3 4]
        dObs: [730486 730852 731217 731582 731947]
        TFwd: {[5×1 double]  [4×1 double]  [3×1 double]  [2×1 double]  [4]}
      CFlowT: {[5×1 double]  [4×1 double]  [3×1 double]  [2×1 double]  [5]}
     FwdTree: {[1.1000]  [1.0979 1.1432]  [1.0976 1.1377 1.1942]  [1.0872 1.1183 1.1606 1.2179]  [1.0865 1.1134 1.1486 1.1948 1.2552]}

Use treeviewer to observe the tree you have created.

treeviewer(BDTTree)

Figure Tree Viewer contains 2 axes objects and other objects of type uicontrol. Axes object 1 contains 35 objects of type line. Axes object 2 is empty.

Input Arguments

collapse all

Volatility process specification, specified using the VolSpec output obtained from bdtvolspec.

Data Types: struct

Interest-rate specification for initial rate curve, specified by the RateSpec obtained from intenvset. For information on the interest-rate specification, see intenvset.

Data Types: struct

Time tree layout specification, specified using the TimeSpec output obtained from bdttimespec. The TimeSpec defines the observation dates of the BDT tree and the Compounding rule for date to time mapping and price-yield formulas.

Data Types: struct

Output Arguments

collapse all

Time and interest-rate information of a recombining tree, returned as a structure.

More About

collapse all

Version History

Introduced before R2006a