bktimespec

Specify time structure for Black-Karasinski tree

Syntax

``TimeSpec = bktimespec(ValuationDate,Maturity)``
``TimeSpec = bktimespec(___,Compounding)``

Description

example

````TimeSpec = bktimespec(ValuationDate,Maturity)` sets the number of levels and node times for a `bktree` and determines the mapping between dates and time for rate quoting.```

example

````TimeSpec = bktimespec(___,Compounding)` adds the optional argument `Compounding`.```

Examples

collapse all

This example shows how to specify a four-period tree with annual nodes using annual compounding to report rates.

```ValuationDate = datetime(2004,1,1); Maturity = [datetime(2004,12,31) ; datetime(2005,12,31) ; datetime(2006,12,31) ; datetime(2007,12,31)]; Compounding = 1; TimeSpec = bktimespec(ValuationDate,Maturity,Compounding)```
```TimeSpec = struct with fields: FinObj: 'BKTimeSpec' ValuationDate: 731947 Maturity: [4x1 double] Compounding: 1 Basis: 0 EndMonthRule: 1 ```

Input Arguments

collapse all

Pricing date and first observation in the tree, specified as a scalar datetime, string, or date character vector.

To support existing code, `bktimespec` also accepts serial date numbers as inputs, but they are not recommended.

Dates marking the cash flow dates of the tree, specified as `NLEVELS`-by-`1` vector using a datetime array, string array, or date character vectors. Cash flows with these maturities fall on tree nodes. `Maturity` should be in increasing order.

To support existing code, `bktimespec` also accepts serial date numbers as inputs, but they are not recommended.

(Optional) Rate at which the input zero rates were compounded when annualized, specified as a scalar integer value.

• If `Compounding` = `1`, `2`, `3`, `4`, `6`, `12`:

`Disc = (1 + Z/F)^(-T)`, where `F` is the compounding frequency, `Z` is the zero rate, and `T` is the time in periodic units; for example, ```T = F``` is one year.

• If `Compounding` = `365`:

`Disc = (1 + Z/F)^(-T)`, where `F` is the number of days in the basis year and `T` is a number of days elapsed computed by basis.

• If `Compounding` = `−1`:

`Disc = exp(-T*Z)`, where `T` is time in years.

Data Types: `double`

Output Arguments

collapse all

Specification for the time layout for `bktree`, returned as a structure. The state observation dates are `[ValuationDate; Maturity(1:end-1)]`. Because a forward rate is stored at the last observation, the tree can value cash flows out to `Maturity`(`end`).

Version History

Introduced before R2006a

expand all