Price cash flows from Black-Derman-Toy interest-rate tree


[Price, PriceTree] = cfbybdt(BDTTree,
CFlowAmounts, CFlowDates, Settle, Basis, Options)



Forward-rate tree structure created by bdttree.


Number of instruments (NINST) by maximum number of cash flows (MOSTCFS) matrix of cash flow amounts. Each row is a list of cash flow values for one instrument. If an instrument has fewer than MOSTCFS cash flows, the end of the row is padded with NaNs.


NINST-by-MOSTCFS matrix of cash flow dates. Each entry contains the serial date number of the corresponding cash flow in CFlowAmounts.


Settlement date. A vector of serial date numbers or date strings. The Settle date for every cash flow is set to the ValuationDate of the BDT tree. The cash flow argument, Settle, is ignored.


(Optional) Day-count basis of the instrument. A vector of integers.

  • 0 = actual/actual (default)

  • 1 = 30/360 (SIA)

  • 2 = actual/360

  • 3 = actual/365

  • 4 = 30/360 (BMA)

  • 5 = 30/360 (ISDA)

  • 6 = 30/360 (European)

  • 7 = actual/365 (Japanese)

  • 8 = actual/actual (ICMA)

  • 9 = actual/360 (ICMA)

  • 10 = actual/365 (ICMA)

  • 11 = 30/360E (ICMA)

  • 12 = actual/365 (ISDA)

  • 13 = BUS/252

For more information, see basis.


(Optional) Derivatives pricing options structure created with derivset.


[Price, PriceTree] = cfbybdt(BDTTree,
CFlowAmounts, CFlowDates, Settle, Basis, Options)
prices cash flows from a BDT interest-rate tree.

Price is an NINST-by-1 vector of expected prices at time 0.

PriceTree is a tree structure with a vector of instrument prices at each node.


Price a portfolio containing two cash flow instruments paying interest annually over the four-year period from January 1, 2000 to January 1, 2004.

Load the file deriv.mat, which provides BDTTree. The BDTTree structure contains the time and interest-rate information needed to price the instruments.

load deriv.mat; 

The valuation date (settle date) specified in BDTTree is January 1, 2000 (date number 730486).

ans =


Provide values for the other required arguments.

CFlowAmounts =[5 NaN 5.5 105; 5 0 6 105];
CFlowDates = [730852, NaN, 731582, 731947; 
              730852, 731217, 731582, 731947];

Use this information to compute the prices of the two cash flow instruments.

[Price, PriceTree] = cfbybdt(BDTTree, CFlowAmounts, ... 
CFlowDates, BDTTree.RateSpec.ValuationDate)
Price =


PriceTree = 

    FinObj: 'BDTPriceTree'
      tObs: [0 1.00 2.00 3.00 4.00]
     PTree: {1x5 cell}

You can visualize the prices of the two cash flow instruments with the treeviewer function.


Related Examples

Introduced before R2006a

Was this topic helpful?