1Lattice methods(3)                 QuantLib                 Lattice methods(3)
2
3
4

NAME

6       Lattice methods -
7

Detailed Description

9       The framework (corresponding to the ql/Lattices directory) contains
10       basic building blocks for pricing instruments using lattice methods
11       (trees). A lattice, i.e. an instance of the abstract class
12       QuantLib::Lattice, relies on one or several trees (each one
13       approximating a diffusion process) to price an instance of the
14       DiscretizedAsset class. Trees are instances of classes derived from
15       QuantLib::Tree, classes which define the branching between nodes and
16       transition probabilities.
17

Binomial trees

19       The binomial method is the simplest numerical method that can be used
20       to price path-independent derivatives. It is usually the preferred
21       lattice method under the Black-Scholes-Merton model. As an example,
22       let's see the framework implemented in the bsmlattice.hpp file. It is a
23       method based on a binomial tree, with constant short-rate
24       (discounting). There are several approaches to build the underlying
25       binomial tree, like Jarrow-Rudd or Cox-Ross-Rubinstein.
26

Trinomial trees

28       When the underlying stochastic process has a mean-reverting pattern, it
29       is usually better to use a trinomial tree instead of a binomial tree.
30       An example is implemented in the QuantLib::TrinomialTree class, which
31       is constructed using a diffusion process and a time-grid. The goal is
32       to build a recombining trinomial tree that will discretize, at a finite
33       set of times, the possible evolutions of a random variable $ y $
34       satisfying dy_t = (t, y_t) dt + ma(t, y_t) dW_t. ] At each node, there
35       is a probability $ p_u, p_m $ and $ p_d $ to go through respectively
36       the upper, the middle and the lower branch. These probabilities must
37       satisfy p_{u}y_{i+1,k+1}+p_{m}y_{i+1,k}+p_{d}y_{i+1,k-1}=E_{i,j} ] and
38       p_u y_{i+1,k+1}^2 + p_m y_{i+1,k}^2 + p_d y_{i+1,k-1}^2 =
39       V^2_{i,j}+E_{i,j}^2, ] where k (the index of the node at the end of the
40       middle branch) is the index of the node which is the nearest to the
41       expected future value, $ E_{iig,hjt})=t$hbafn{dE}$t(
42       y(t_{i+1})|y(t_{i})=y_{i,j}
43       V_{i,j}^{2}=thbf{Var}y(t_{i+1})|y(t_{i})=y_{i,j} $. If we suppose that
44       the variance is only dependant on time $ V_{i,j}=V_{i} $ and set $
45       y_{i+1} $ to $ V_{i}t{3} $, we find that p_{u} =
46       ac{1}{6}+ac{(E_{i,j}-y_{i+1,k})^{2}}{6V_{i}^{2}} +
47       ac{E_{i,j}-y_{i+1,k}}{2t{3}V_{i}}, ] p_{m} =
48       ac{2}{3}-ac{(E_{i,j}-y_{i+1,k})^{2}}{3V_{i}^{2}}, ] p_{d} =
49       ac{1}{6}+ac{(E_{i,j}-y_{i+1,k})^{2}}{6V_{i}^{2}} -
50       ac{E_{i,j}-y_{i+1,k}}{2t{3}V_{i}}. ]
51

Bidimensional lattices

53       To come...
54

The QuantLib::DiscretizedAsset class

56       This class is a representation of the price of a derivative at a
57       specific time. It is roughly an array of values, each value being
58       associated to a state of the underlying stochastic variables. For the
59       moment, it is only used when working with trees, but it should be quite
60       easy to make a use of it in finite-differences methods. The two main
61       points, when deriving classes from QuantLib::DiscretizedAsset, are:
62
63       1.  Define the initialisation procedure (e.g. terminal payoff for
64           european stock options).
65
66       2.  Define the method adjusting values, when necessary, at each time
67           steps (e.g. apply the step condition for american or bermudan
68           options). Some examples are found in QuantLib::DiscretizedSwap and
69           QuantLib::DiscretizedSwaption.
70
71   Classes
72       class BinomialTree
73           Binomial tree base class.
74       class EqualProbabilitiesBinomialTree
75           Base class for equal probabilities binomial tree.
76       class EqualJumpsBinomialTree
77           Base class for equal jumps binomial tree.
78       class JarrowRudd
79           Jarrow-Rudd (multiplicative) equal probabilities binomial tree.
80       class CoxRossRubinstein
81           Cox-Ross-Rubinstein (multiplicative) equal jumps binomial tree.
82       class AdditiveEQPBinomialTree
83           Additive equal probabilities binomial tree.
84       class Trigeorgis
85           Trigeorgis (additive equal jumps) binomial tree
86       class Tian
87           Tian tree: third moment matching, multiplicative approach
88       class LeisenReimer
89           Leisen & Reimer tree: multiplicative approach.
90       class BlackScholesLattice
91           Simple binomial lattice approximating the Black-Scholes model.
92       class TreeLattice
93           Tree-based lattice-method base class.
94       class TreeLattice1D
95           One-dimensional tree-based lattice.
96       class TreeLattice2D
97           Two-dimensional tree-based lattice.
98       class TsiveriotisFernandesLattice
99           Binomial lattice approximating the Tsiveriotis-Fernandes model.
100       class Tree
101           Tree approximating a single-factor diffusion
102       class TrinomialTree
103           Recombining trinomial tree class.
104
105
106
107Version 0.8.1                     29 Oct 2007               Lattice methods(3)
Impressum