Finance - Maple Programming Help

Home : Support : Online Help : Mathematics : Finance : Lattice Methods : Finance/TreePlot

Finance

 TreePlot
 plot a binomial/trinomial tree

 Calling Sequence TreePlot(tree, opts, plotopts)

Parameters

 tree - binomial or trinomial tree data structure; tree opts - (optional) equation(s) of the form option = value where option is scale; specify options for the TreePlot command plotopts - (optional) options to be passed to the plots[display] command

Options

 • scale = default, exponential, or logarithmic -- This option specifies whether the tree should be plotted using the exponential, logarithmic, or the default scale.

Description

 • The TreePlot command plots the specified binomial/trinomial tree.
 • The tree is displayed using the plots[display] command. All unprocessed arguments are interpreted as plot options and will be passed to the plots[display] command when the final plot data structure is generated.

Examples

 > with(Finance):

Construct a Cox-Ross-Rubinstein binomial tree.

 > S0 := 100;
 ${\mathrm{S0}}{≔}{100}$ (1)
 > r := 0.05;
 ${r}{≔}{0.05}$ (2)
 > sigma := 0.3;
 ${\mathrm{\sigma }}{≔}{0.3}$ (3)
 > T := 3.0;
 ${T}{≔}{3.0}$ (4)
 > N := 20;
 ${N}{≔}{20}$ (5)
 > Su := exp(sigma*sqrt(T/N));
 ${\mathrm{Su}}{≔}{1.123208700}$ (6)
 > Sd := exp(-sigma*sqrt(T/N));
 ${\mathrm{Sd}}{≔}{0.8903064939}$ (7)
 > Pu := (exp(r*T/N)-Sd)/(Su-Sd);
 ${\mathrm{Pu}}{≔}{0.5033086765}$ (8)
 > Tree := BinomialTree(T, N, S0, Su, Pu, Sd);
 ${\mathrm{Tree}}{:=}{\mathbf{module}}\left({}\right)\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}{}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}{\mathbf{end module}}$ (9)
 > TreePlot(Tree, thickness = 2, axes = boxed, gridlines = true);
 > TreePlot(Tree, thickness = 2, axes = boxed, gridlines = true, scale = logarithmic);

Here is a Jarrow-Rudd tree approximating the same process.

 > Su := exp((r-sigma^2/2)*T/N+sigma*sqrt(T/N));
 ${\mathrm{Su}}{≔}{1.124051423}$ (10)
 > Sd := exp((r-sigma^2/2)*T/N-sigma*sqrt(T/N));
 ${\mathrm{Sd}}{≔}{0.8909744742}$ (11)
 > Pu := 0.5;
 ${\mathrm{Pu}}{≔}{0.5}$ (12)
 > Tree2 := BinomialTree(T, N, S0, Su, Pu, Sd);
 ${\mathrm{Tree2}}{:=}{\mathbf{module}}\left({}\right)\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}{}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}{\mathbf{end module}}$ (13)
 > TreePlot(Tree2, thickness = 2, axes = boxed, gridlines = true);
 > TreePlot(Tree2, thickness = 2, axes = boxed, gridlines = true, scale = logarithmic);

Here is a trinomial tree obtained by combining two steps of the Jarrow-Rudd tree.

 > Su := exp((r-sigma^2/2)*2*T/N+2*sigma*sqrt(T/N));
 ${\mathrm{Su}}{≔}{1.263491601}$ (14)
 > Sd := exp((r-sigma^2/2)*2*T/N-2*sigma*sqrt(T/N));
 ${\mathrm{Sd}}{≔}{0.7938355137}$ (15)
 > Pu := 0.25;
 ${\mathrm{Pu}}{≔}{0.25}$ (16)
 > Pd := 0.25;
 ${\mathrm{Pd}}{≔}{0.25}$ (17)
 > Tree3 := TrinomialTree(T, N/2, S0, Su, Pu, Sd, Pd);
 ${\mathrm{Tree3}}{:=}{\mathbf{module}}\left({}\right)\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}{}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}{\mathbf{end module}}$ (18)
 > TreePlot(Tree3, thickness = 2, axes = boxed, gridlines = true);
 > TreePlot(Tree3, thickness = 2, axes = boxed, gridlines = true, scale = logarithmic);
 > plots[display](TreePlot(Tree2, color = red), TreePlot(Tree3, transparency = 0.3), axes = boxed, thickness = 2, gridlines);

The following is a tree created for a Cox-Ingersoll-Ross short rate model.

The command to create the plot from the Plotting Guide is

 > M := CoxIngersollRossModel(ZeroCurve(0.03), 0.05, 0.5, 0.002, 0.1);
 ${M}{:=}{\mathbf{module}}\left({}\right)\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}{}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}{\mathbf{end module}}$ (19)
 > T := ShortRateTree(M, 3, 15);
 ${T}{:=}{\mathbf{module}}\left({}\right)\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}{}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}{\mathbf{end module}}$ (20)
 > TreePlot(T, axes = boxed, thickness = 3, gridlines = true, color = cyan .. blue);

Compatibility

 • The Finance[TreePlot] command was introduced in Maple 15.