Price floor instrument from Heath-Jarrow-Morton interest-rate tree


[Price, PriceTree] = floorbyhjm(HJMTree, Strike, Settle, Maturity,
Reset, Basis, Principal, Options)



Forward-rate tree structure created by hjmtree.


Number of instruments (NINST)-by-1 vector of rates at which the floor is exercised.


Settlement date. NINST-by-1 vector of dates representing the settlement dates of the floor. The Settle date for every floor is set to the ValuationDate of the HJM tree. The floor argument Settle is ignored.


NINST-by-1 vector of dates representing the maturity dates of the floor.


(Optional) NINST-by-1 vector representing the frequency of payments per year. Default = 1.


(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/actual (ISDA)

  • 13 = BUS/252

For more information, see basis.


(Optional) NINST-by-1 of notional principal amounts or NINST-by-1 cell array where each element is a NumDates-by-2 cell array where the first column is dates and the second column is associated principal amount. The date indicates the last day that the principal value is valid. Default is 100.


(Optional) Derivatives pricing options structure created with derivset.


[Price, PriceTree] = floorbyhjm(HJMTree, Strike, Settlement, Maturity, Reset, Basis, Principal, Options) computes the price of a floor instrument from an HJM tree.

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

PriceTree is the tree structure with values of the floor at each node.

    Note:   Use the optional name-value pair argument, Principal, to pass a schedule to compute price for an amortizing floor.


expand all

Price a 3% Floor Instrument Using an HJM Forward-Rate Tree

This example shows how to price a 3% floor instrument using an HJM forward-rate tree by loading the file deriv.mat, which provides HJMTree. The HJMTree structure contains the time and forward-rate information needed to price the floor instrument.

load deriv.mat;

Strike = 0.03;
Settle = '01-Jan-2000';
Maturity = '01-Jan-2004';

Price = floorbyhjm(HJMTree, Strike, Settle, Maturity)
Price =


Compute the Price of an Amortizing Floor Using the HJM Model

Load deriv.mat to specify the HJMTree and then define the floor instrument.

load deriv.mat;
Settle = '01-Jan-2000';
Maturity = '01-Jan-2004';
Strike = 0.05;
Reset = 1;
Principal ={{'01-Jan-2001' 100;'01-Jan-2002' 80;'01-Jan-2003' 70;'01-Jan-2004' 30}};

Price the amortizing floor.

Price = floorbyhjm(HJMTree, Strike, Settle, Maturity, Reset, Principal)
Price =


Was this topic helpful?