# hjmtree

Build Heath-Jarrow-Morton interest-rate tree

## Syntax

``HJMTree = hjmtree(VolSpec,RateSpec,TimeSpec)``

## Description

example

````HJMTree = hjmtree(VolSpec,RateSpec,TimeSpec)` creates a structure containing time and forward-rate information on a bushy tree. ```

## Examples

collapse all

Using the data provided, create a HJM volatility specification (using `hjmvolspec`), rate specification (using `intenvset`), and tree time layout specification (using `hjmtimespec`). Then use these specifications to create a HJM tree using `hjmtree`.

```Compounding = 1; ValuationDate = '01-01-2000'; StartDate = ['01-01-2000'; '01-01-2001'; '01-01-2002'; '01-01-2003'; '01-01-2004']; 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]; CurveTerm = [1; 2; 3; 4; 5]; HJMVolSpec = hjmvolspec('Stationary', Volatility , CurveTerm); RateSpec = intenvset('Compounding', Compounding,... 'ValuationDate', ValuationDate,... 'StartDates', StartDate,... 'EndDates', EndDates,... 'Rates', Rates); HJMTimeSpec = hjmtimespec(ValuationDate, EndDates, Compounding); HJMTree = hjmtree(HJMVolSpec, RateSpec, HJMTimeSpec)```
```HJMTree = struct with fields: FinObj: 'HJMFwdTree' VolSpec: [1x1 struct] TimeSpec: [1x1 struct] RateSpec: [1x1 struct] tObs: [0 1 2 3 4] dObs: [730486 730852 731217 731582 731947] TFwd: {[5x1 double] [4x1 double] [3x1 double] [2x1 double] [4]} CFlowT: {[5x1 double] [4x1 double] [3x1 double] [2x1 double] [5]} FwdTree: {1x5 cell} ```

Use `treeviewer` to observe the tree you have created.

`treeviewer(HJMTree)`

## Input Arguments

collapse all

Volatility process specification, specified using the `VolSpec` output obtained from `hjmvolspec`. `VolSpec` sets the number of factors and the rules for computing the volatility $\sigma \left(t,T\right)$ for each factor.

Data Types: `struct`

Interest-rate specification for initial rate curve, specified by the `RateSpec` obtained from `intenvset`. For information on the interest-rate specification, see `intenvset`.

Data Types: `struct`

Time tree layout specification, specified using the `TimeSpec` output obtained from `hjmtimespec`. The TimeSpec defines the observation dates of the HJM tree and the `Compounding` rule for date to time mapping and price-yield formulas.

Data Types: `struct`

## Output Arguments

collapse all

Time and interest-rate information of a bushy tree, returned as a structure.

Introduced before R2006a