[Price,PriceTree]
= floorbybk(BKTree,Strike,Settle,Maturity) computes
the price of a floor instrument from a Black-Karasinski interest-rate
tree. floorbybk computes prices of vanilla floors
and amortizing floors.

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.

Interest-rate tree structure, specified by using bktree.

Data Types: struct

Strike — Rate at which cap is exercised decimal

Rate at which cap is exercised, specified as a NINST-by-1 vector
of decimal values.

Data Types: double

Settle — Settlement date for floor serial date number | date character vector | cell array of date character vectors

Settlement date for the floor, specified as a NINST-by-1 vector
of serial date numbers or date character vectors. The Settle date
for every floor is set to the ValuationDate of
the BK tree. The floor argument Settle is ignored.

Data Types: double | char | cell

Maturity — Maturity date for floor serial date number | date character vector | cell array of date character vectors

Maturity date for the floor, specified as a NINST-by-1 vector
of serial date numbers or date character vectors.

Data Types: double | char | cell

Reset — Reset frequency payment per year 1 (default) | numeric

(Optional) Reset frequency payment per year, specified as a
NINST-by-1 vector.

Data Types: double

Basis — Day-count basis of instrument 0 (actual/actual) (default) | integer from 0 to 13

(Optional) Day-count basis representing the basis used when annualizing the input
forward rate, specified as a NINST-by-1 vector
of integers.

Principal — Notional principal amount 100 (default) | numeric

(Optional) Notional principal amount, specified as a
NINST-by-1 of notional principal amounts, or a
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.

Use Principal to pass a schedule to compute the price for an
amortizing floor.

Expected price of the floor at time 0, returned as a NINST-by-1 vector.

PriceTree — Tree structure with values of floor at each node vector

Tree structure with values of the floor at each node, returned as a MATLAB^{®} structure of trees containing vectors of instrument prices and a vector
of observation times for each node:

PriceTree.PTree contains floor prices.

PriceTree.tObs contains the observation times.

PriceTree.Connect contains the connectivity vectors. Each
element in the cell array describes how nodes in that level connect to the next.
For a given tree level, there are NumNodes elements in the
vector, and they contain the index of the node at the next level that the middle
branch connects to. Subtracting 1 from that value indicates where the up-branch
connects to, and adding 1 indicated where the down branch connects to.

PriceTree.Probs contains the probability arrays. Each
element of the cell array contains the up, middle, and down transition
probabilities for each node of the level.

A floor is a contract that includes a guarantee
setting the minimum interest rate to be received by the holder, based on an otherwise
floating interest rate.

You can also select a web site from the following list:

How to Get Best Site Performance

Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.