Documentation Center

  • Trial Software
  • Product Updates

bdttree

Construct Black-Derman-Toy interest-rate tree

Syntax

BDTTree = bdttree(VolSpec, RateSpec, TimeSpec)

Arguments

VolSpec

Volatility process specification. See bdtvolspec for information on the volatility process.

RateSpec

Interest-rate specification for the initial rate curve. See intenvset for information on declaring an interest-rate variable.

TimeSpec

Tree time layout specification. Defines the observation dates of the BDT tree and the Compounding rule for date to time mapping and price-yield formulas. See bdttimespec for information on the tree structure.

Description

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

Examples

Using the data provided, create a BDT volatility specification (VolSpec), rate specification (RateSpec), and tree time layout specification (TimeSpec). 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 = 

      FinObj: 'BDTFwdTree'
     VolSpec: [1x1 struct]
    TimeSpec: [1x1 struct]
    RateSpec: [1x1 struct]
        tObs: [0 1 2 3 4]
        dObs: [730486 730852 731217 731582 731947]
        TFwd: {[5x1 double]  [4x1 double]  [3x1 double]  [2x1 double]  [4]}
      CFlowT: {[5x1 double]  [4x1 double]  [3x1 double]  [2x1 double]  [5]}
     FwdTree: {[1.1000]  [1.0979 1.1432]  [1.0976 1.1377 1.1942]  [1.0872 1.1183 1.1606 1.2179]  [1x5 double]}

Use treeviewer to observe the tree you have created.

treeviewer(BDTTree)

See Also

| | |

Was this topic helpful?