Documentation

This is machine translation

Translated by
Mouse over text to see original. Click the button below to return to the English verison of the page.

floorbybk

Price floor instrument from Black-Karasinski interest-rate tree

Syntax

```[Price, PriceTree] = floorbybk(BKTree, Strike, Settle, Maturity,Reset, Basis, Principal, Options)
```

Arguments

 `BKTree` Interest-rate tree structure created by `bktree`. `Strike` Number of instruments (`NINST`-by-`1`) vector of rates at which the floor is exercised. `Settle` 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 BK tree. The floor argument `Settle` is ignored. `Maturity ` `NINST`-by-`1` vector of dates representing the maturity dates of the floor. `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/3603 = actual/3654 = 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/252For more information, see basis. `Principal` (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`. `Options` (Optional) Derivatives pricing options structure created with `derivset`.

Description

```[Price, PriceTree] = floorbybk(BKTree, Strike, Settlement, Maturity, Reset, Basis, Principal, Options)``` computes the price of a floor instrument from a Black-Karasinski 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.

Examples

collapse all

Load the file `deriv.mat`, which provides `BKTree`. The `BKTree` structure contains the time and interest rate information needed to price the floor instrument.

```load deriv.mat; ```

Set the required values. Other arguments will use defaults.

```Strike = 0.03; Settle = '01-Jan-2004'; Maturity = '01-Jan-2007'; ```

Use `floorbybk` to compute the price of the floor instrument.

```Price = floorbybk(BKTree, Strike, Settle, Maturity) ```
```Price = 0.2061 ```

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

```load deriv.mat; Settle = '01-Jan-2004'; Maturity = '01-Jan-2008'; Strike = 0.045; Reset = 1; Principal ={{'01-Jan-2005' 100;'01-Jan-2006' 60;'01-Jan-2007' 30;'01-Jan-2008' 30};... 100}; ```

Price the amortizing and vanilla floors.

```Basis = 1; Price = floorbybk(BKTree, Strike, Settle, Maturity, Reset, Basis, Principal) ```
```Price = 2.2000 2.5564 ```