Price cash flows from Heath-Jarrow-Morton interest-rate tree



[Price,PriceTree] = cfbyhjm(HJMTree,CFlowAmounts,CFlowDates,Settle) prices cash flows from a Heath-Jarrow-Morton interest-rate tree.


[Price,PriceTree] = cfbyhjm(___,Basis,Options) adds optional arguments.


collapse all

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 HJMTree. The HJMTree structure contains the time and interest-rate information needed to price the instruments.

load deriv.mat;

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

ans = 730486

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] = cfbyhjm(HJMTree, CFlowAmounts,... 
CFlowDates, HJMTree.RateSpec.ValuationDate)
Price = 2×1


PriceTree = struct with fields:
    FinObj: 'HJMPriceTree'
      tObs: [0 1 2 3 4]
     PBush: {1x5 cell}

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

Input Arguments

collapse all

Interest-rate tree structure, specified by using hjmtree.

Data Types: struct

Cash flow amounts, specified as a 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.

Data Types: double

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

Data Types: double

Settlement date, specified as a vector of serial date numbers or a date character vectors. The Settle date for every cash flow is set to the ValuationDate of the HJM tree. The cash flow argument, Settle, is ignored.

Data Types: double | char

(Optional) Day-count basis of the instrument, specified as a vector of integers.

  • 0 = actual/actual

  • 1 = 30/360 (SIA)

  • 2 = actual/360

  • 3 = actual/365

  • 4 = 30/360 (PSA)

  • 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.

Data Types: double

(Optional) Derivatives pricing options structure, specified using derivset.

Data Types: struct

Output Arguments

collapse all

Expected prices at time 0, returned as a NINST-by-1 vector.

Tree structure of instrument prices, returned as a MATLAB® structure of trees containing vectors of instrument prices and observation times for each node. Within PriceTree:

  • PriceTree.tObs contains the observation times.

  • PriceTree.PBush contains the clean prices.

Introduced before R2006a