Skip to Main Content Skip to Search
Product Documentation

capbybdt - Price cap instrument from Black-Derman-Toy interest-rate tree

Syntax

[Price, PriceTree] = capbybdt(BDTTree, Strike, Settle,
Maturity, Reset, Basis, Principal, Options)

Arguments

BDTTree

Interest-rate tree structure created by bdttree.

Strike

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

Settle

Settlement dates. NINST-by-1 vector of dates representing the settlement dates of the cap.

Maturity

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

Reset

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

Basis

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

Principal

(Optional) The notional principal amount. Default = 100.

Options

(Optional) Derivatives pricing options structure created with derivset.

Description

[Price, PriceTree] = capbybdt(BDTTree, Strike, Settle, Maturity, Reset, Basis, Principal, Options) computes the price of a cap instrument from a BDT interest-rate tree.

Price is the expected price of the cap at time 0.

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

The Settle date for every cap is set to the ValuationDate of the BDT tree. The cap argument Settle is ignored.

Examples

Example 1. Price a 3% cap instrument using a BDT interest-rate tree.

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

load deriv.mat; 

Set the required values. Other arguments will use defaults.

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

Use capbybdt to compute the price of the cap instrument.

Price = capbybdt(BDTTree, Strike, Settle, Maturity)

Price =

  28.5191

Example 2. This example shows the pricing of a 10% cap instrument using a newly created BDT tree.

First set the required arguments for the three needed specifications.

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

Next create the specifications.

RateSpec = intenvset('Compounding', Compounding,... 
'ValuationDate', ValuationDate,... 
'StartDates', StartDate,... 
'EndDates', EndDates,... 
'Rates', Rates); 
BDTTimeSpec = bdttimespec(ValuationDate, EndDates, Compounding); 
BDTVolSpec = bdtvolspec(ValuationDate, EndDates, Volatility); 

Now create the BDT tree from the specifications.

BDTTree = bdttree(BDTVolSpec, RateSpec, BDTTimeSpec);

Set the cap arguments. Remaining arguments will use defaults.

CapStrike = 0.10; 
Settlement = ValuationDate; 
Maturity = '01-01-2002'; 
CapReset = 1;

Use capbybdt to find the price of the cap instrument.

Price= capbybdt(BDTTree, CapStrike, Settlement, Maturity,... 
CapReset)

Price =

    1.6923

See Also

bdttree | cfbybdt | floorbybdt | swapbybdt

  


Free Interactive Computational Finance CD

View demos and recorded presentations led by industry experts.

Now On Demand
Network with industry peers and learn the latest applications of the leading software product for computational finance.

 © 1984-2012- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS