# 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 ```

Get trial now