Main Content

treeviewer

Tree information

Description

treeviewer(Tree) displays an interest rate tree, stock price tree, or money-market tree.

example

treeviewer(PriceTree,InstSet) displays a tree of instrument prices.

If you provide the name of an instrument set (InstSet) and you have named the instruments using the field Name, the treeviewer display identifies the instrument being displayed with its name. (See Example 3 for a description.) If you do not provide the optional InstSet input argument, the instruments are identified by their sequence number in the instrument set. (See Example 6 for a description.)

example

treeviewer(CFTree,InstSet) displays a cash flow tree that has been created with swapbybdt or swapbyhjm. If you provide the name of an instrument set (InstSet) containing cash flow names, the treeviewer display identifies the instrument being displayed with its name. (See Example 3 for a description.) If the optional InstSet argument is not present, the instruments are identified by their sequence number in the instrument set. See Example 6 for a description.)

example

Examples

Display an HJM Interest-Rate Tree

load deriv.mat
treeviewer(HJMTree)

The treeviewer function displays the structure of an HJM tree in the left pane. The tree visualization in the right pane is blank.

To visualize the actual interest-rate tree, go to the Tree Visualization pane and clickPath(the default) and Diagram. Now, select the first path by clicking the last node (t = 3) of the upper branch.

The entire upper path is highlighted in red.

To complete the process, select a second path by clicking the last node (t = 3) of another branch. The second path is highlighted in purple. The final display looks like this.

Alternative Forms of Display

The Tree Visualization pane allows you to select alternative ways to display tree data. For example, if you select Path and Table as your visualization choices, the final display above instead appears in tabular form.

To see a plot of interest rates along the chosen branches, click Path and Plot in the Tree Visualization pane.

With Plot selected, rising interest rates are shown on the upper branch and declining interest rates on the lower.

Finally, if you clicked Node and Children under Tree Visualization, you restrict the data displayed to just the selected parent node and its children.

With Node and Children selected, the choices under Visualization are unavailable.

Display a BDT Interest-Rate Tree

load deriv.mat
treeviewer(BDTTree)

The treeviewer function displays the structure of a BDT tree in the left pane. The tree visualization in the right pane is blank.

To visualize the actual interest-rate tree, go to the Tree Visualization pane and click Path (the default) and Diagram. Now, select the first path by clicking the first node of the up branch (t = 1). Continue by clicking the down branch at the next node (t = 2). The two figures below show the treeviewer path diagrams for these selections.

Continue clicking all nodes in succession until you reach the end of the branch. The entire path you have selected is highlighted in red.

Select a second path by clicking the first node of the lower branch (t = 1). Continue clicking lower nodes as you did on the first branch. The second branch is highlighted in purple. The final display looks like this.

Display an HJM Price Tree for Named Instruments

load deriv.mat
[Price, PriceTree] = hjmprice(HJMTree, HJMInstSet);
treeviewer(PriceTree, HJMInstSet)

Display a BDT Price Tree for Named Instruments

load deriv.mat
[Price, PriceTree] = bdtprice(BDTTree, BDTInstSet);
treeviewer(PriceTree, BDTInstSet)

Display an HJM Price Tree with Renamed Instruments

load deriv.mat
[Price, PriceTree] = hjmprice(HJMTree, HJMInstSet);
Names = {'Bond1', 'Bond2', 'Option', 'Fixed','Float', 'Cap',... 
'Floor', 'Swap'};
treeviewer(PriceTree, Names)

Display an HJM Price Tree Using Default Instrument Names (Numbers)

load deriv.mat
[Price, PriceTree] = hjmprice(HJMTree, HJMInstSet);
treeviewer(PriceTree)

Input Arguments

collapse all

Interest-rate tree, stock price tree, or money-market tree, specified using the associated tree function.

Interest-rate trees:

  • Black-Derman-Toy (BDTTree) obtained from bdttree

  • Black-Karasinski (BKTree) obtained from bktree

  • Heath-Jarrow-Morton (HJMTree) obtained from hjmtree

  • Hull-White (HWTree) obtained from hwtree

  • Cox-Ingersoll-Ross (CIRTree) obtained from cirtree

Money market trees:

  • Black-Derman-Toy (BDTMMktTree) obtained from mmktbybdt for a money-market tree from a BDT interest-rate tree.

  • Heath-Jarrow-Morton (HJMMMktTree) obtained from mmktbyhjm for a money-market tree from an HJM interest-rate tree.

    Note

    Money market trees cannot be created from BK or HW interest-rate trees.

Stock price trees:

  • Cox-Ross-Rubinstein (CRRTree) obtained from crrtree

  • Implied Trinomial tree (ITTTree) obtained from itttree

  • Standard Trinomial tree (STTTree) obtained from stttree

  • Leisen-Reimer stock tree (LRTree) obtained from lrtree

  • Equal probabilities (EQPTree) obtained from eqptree

Cash flow trees:

  • Black-Derman-Toy (BDTCFTree) obtained as output from the swap function swapbybdt

  • Heath-Jarrow-Morton (HJMCFTree) obtained as output from the swap function swapbyhjm

    Note

    For the function swapbybdt, which uses a recombining binomial tree, this structure contains only NaNs because cash flows cannot be accurately calculated at every tree node for floating-rate notes.

Data Types: struct

Tree structure of instrument prices, specified as:

  • Black-Derman-Toy (BDTPriceTree) obtained from the portfolio function bdtprice or the individual functions, such as bondbybdt, capbybdt, and so on.

  • Black-Karasinski (BKPriceTree) obtained from the portfolio function bkprice or the individual functions, such as bondbybk, capbybk, and so on.

  • Cox-Ingersoll-Ross (CIRPriceTree) obtained from the portfolio function cirprice or the individual functions, such as bondbycir, capbycir, and so on.

  • Heath-Jarrow-Morton (HJMPriceTree) obtained from the portfolio function hjmprice or the individual functions, such as bondbyhjm, capbyhjm, and so on.

  • Hull-White (HWPriceTree) obtained from the portfolio function hwprice or the individual functions, such as bondbyhw, capbyhw, and so on.

  • Leisen-Reimer (LRPriceTree) obtained from the individual function optstockbylr.

  • Cox-Ross-Rubinstein (CRRPriceTree) obtained from the portfolio function crrprice or the individual functions, such as asianbycrr, barrierbycrr, and so on.

  • Equal probabilities (EQPPriceTree) obtained from the portfolio function eqpprice or the individual functions, such as asianbyeqp, barrierbyeqp, and so on.

  • Implied Trinomial tree (ITTPriceTree) obtained from the portfolio function ittprice or the individual functions, such as asianbyitt, barrierbyitt, and so on.

  • Standard trinomial tree (STTPriceTree) obtained from the portfolio function sttprice or the individual functions, such as asianbystt, barrierbystt, and so on.

Data Types: struct

CFTree is a tree of swap cash flows, specified when you create cash flow trees by executing the Black-Derman-Toy (obtained as output from the swap function swapbybdt) and Heath-Jarrow-Morton (swapbyhjm) swap functions. (Black-Derman-Toy cash flow trees contain only NaNs.)

Data Types: struct

(Optional) Variable containing a collection of instruments whose prices or cash flows are contained in a tree, specified using instadd. To display the names of the instruments, the field Name should exist in InstSet. If InstSet is not passed, treeviewer uses default instruments names (numbers) when displaying prices or cash flows.

Data Types: struct

More About

collapse all

Treeviewer Conventions

treeviewer price tree diagrams follow the convention that increasing prices appear on the upper branch of a tree and, so, decreasing prices appear on the lower branch.

Conversely, for interest rate displays, decreasing interest rates appear on the upper branch (prices are rising) and increasing interest rates on the lower branch (prices are falling).

Using Treeviewer

treeviewer provides an interactive display of prices or interest rates.

The treeviewer display is activated by clicking the nodes along the price or interest rate path shown in the left pane when the function is called.

  • For HJM trees, you select the endpoints of the path, and treeviewer displays all data from beginning to end.

  • With recombining trees, such as BDT, BK, HW, and CIR you must click each node in succession from the beginning (t = 1) to the last node (t = n). Do not include the root node, the node at t = 0. If you do not click the nodes in the proper order, you are reminded with the message

    Parent of selected node must be selected.
    

Note

The Help button is not available for treeviewer in MATLAB Online.

Version History

Introduced before R2006a