MA
CM
Bergische Universität Wuppertal
Fachbereich Mathematik und Naturwissenschaften
Institute of Mathematical Modelling, Analysis and Computational
Mathematics (IMACM)
Preprint BUW-IMACM 18/02
Igor Kossaczký, Matthias Ehrhardt and Michael Günther
The Two-dimensional Tree-Grid Method
February 2018
http://www.math.uni-wuppertal.de
The Two-dimensional Tree-Grid Method
Igor Kossaczkýa,∗, Matthias Ehrhardta , Michael Günthera
a
Lehrstuhl für Angewandte Mathematik und Numerische Analysis, Fakultät für Mathematik
und Naturwissenschaften, Bergische Universität Wuppertal, Gaußstrasse 20, 42119
Wuppertal, Germany
Abstract
In this paper we introduce a novel two-dimensional Tree-Grid method for solving stochastic control problems with two space dimensions and one time dimension or equivalently, the corresponding Hamilton-Jacobi-Bellman equation.
This new method can be regarded as a generalization of the Tree-Grid method
for the stochastic control problems with one space dimension that was recently
developed by the authors. This method overcomes two typical shortcomings: it
is explicit and unconditionally stable. We prove the convergence of the method
and exemplify it in the application on the two-factor uncertain volatility model.
Keywords: 2D Tree-Grid Method, Hamilton-Jacobi-Bellman equation,
Stochastic control problem, two-factor uncertain volatility model
1. Introduction
Stochastic control problems (SCP) arise in many application where the
stochastic (Itô) process is controlled with respect to time and state in order
to optimize the expectation of some utility or cost function. The problem of
5
searching for an optimal control strategy can be often treated by solving the
∗ Corresponding
author
Email addresses:
[email protected] (Igor Kossaczký),
[email protected] (Matthias Ehrhardt),
[email protected]
(Michael Günther)
URL:
http://www-num.math.uni-wuppertal.de/en/amna/people/igor-kossaczky-msc.html (Igor
Kossaczký), http://www-num.math.uni-wuppertal.de/~ehrhardt/ (Matthias Ehrhardt),
http://www-num.math.uni-wuppertal.de/~guenther/ (Michael Günther)
Preprint submitted to -
February 23, 2018
underlying partial differential equation (PDE), the so-called Hamilton-JacobiBellman (HJB) equation, cf. [1].
1.1. Overview of the numerical methods
Either way, solving the SCP directly or solving the HJB equation, numerical
10
methods are often needed as closed form solution are rarely known. For the onedimensional SCP (with one controlled stochastic process for one state variable)
various numerical methods were developed. Based on the approximation of the
time-continuous stochastic process with a discrete chain, Markov chain approximation methods are presented in [1]. Implicit finite difference methods (FDM)
15
for solving HJB equations were presented for example in [2]. The advantage
of these methods in contrast to the explicit FDMs is their unconditional stability and monotonicity. In [3], a method based on a transformation of the HJB
equation was developed. The advantage of using this approach is that we don’t
need to solve the optimization problem in each time-layer.
20
Recently a new explicit but still unconditionally stable and monotone scheme,
the so-called Tree-Grid method, was developed by the authors [4]. This method
combines the tree structure of the trinomial tree methods for option pricing, with
the grid used typically in FDMs and can be regarded as some special explicit
FDM or a Markov chain approximation. A useful modification of this method
25
was presented in [5]. As the explicitness and great flexibility of the method
(unconditional stability with any grid spacing) exhibit clear advantages of this
method, we are interested here in generalizing this method to two state-space
dimensions (two controlled stochastic processes).
In two space dimensions, a generalization of the implicit unconditionally
30
stable method of Wang and Forsyth [6] was presented in [7] and later used in
[8]. The main idea of this method is combining the wide and the fixed stencil
depending on the correlation in the particular time-space node. Alternatively,
explicit methods based on the ideas of Kushner and Dupuis [1] presented in the
papers [9, 10, 11] can be used. These are wide stencil schemes stable under some
35
CFL condition. Moreover, in these methods a linear interpolation of the grid
2
values is needed. Our generalization of the Tree-Grid method presented in this
paper also falls into this class of wide stencil schemes, however it overcomes two
shortcomings: it is unconditionally stable for any grid and no interpolation of
the grid values is needed. Furthermore, as this two-dimensional (2D) Tree-Grid
40
method is explicit, it is also suitable for parallelization.
1.2. Problem formulation
We are concerned with searching for the value function V (x, y, t) of the
following 2-dimensional general stochastic control problem (SCP):
!
Z
Z
T
V (x, y, t) =
max
θ(x,y,t)∈Θ̄
k
exp
E
r(∗l )dl f (∗k )dk
t
+ exp
Z
t
!
T
!
r(∗k )dk VT (XT , YT ) Xt = x, Yt = y ,
t
(1)
dXt =µx (∗t )dt + σx (∗t )dWtx ,
(2)
dYt =µy (∗t )dt + σy (∗t )dWty ,
(3)
dWtx dWty =σxy (∗t )/(σx (∗t )σy (∗t ))
(4)
with
∗t =(Xt , Yt , t, θ(Xt , Yt , t)),
0 < t < T,
x, y ∈ R,
where x, y are the state variables and t is time. Here, Θ̄ denotes the space of
all suitable control functions (see e.g. [1, 12]) from R2 × [0, T ] to a set Θ. For
our purpose, we will assume Θ to be discrete. If this is not the case, we can
easily achieve this property by its discretization. Now following the Bellman’s
principle, the dynamic programming equation holds:
V (x, y, tj ) =
max
θ(x,y,t)∈Θ̄tj
+ exp
Z
tj+1
E
Z
tj+1
exp
tj
!
Z
k
!
r(∗l )dl f (∗k )dk
tj
!
r(∗k )dk V (Xtj+1 , Ytj+1 , tj+1 ) Xtj = x, Ytj = y ,
tj
(5)
where 0 ≤ tj < tj+1 ≤ T are some time-points and Θ̄tj is a set of control
functions from Θ̄ restricted to the R2 × [tj , tj+1 ) domain. Using the dynamic
programming equation (5), it can be shown [12], that solving the SCP (1)–(4)
3
is equivalent to solving the two-dimensional Hamilton-Jacobi-Bellman (HJB)
equation:
∂V
+ max LV + r(·)V + f (·) = 0,
θ∈Θ
∂t
∂2V
∂V
σy (·)2 ∂ 2 V
∂V
σx (·)2 ∂ 2 V
+ σxy (·)
+ µx (·)
+
+ µy (·)
LV =
2
2 ∂x
∂x∂y
2 ∂y 2
∂x
∂y
V (x, y, T ) = VT (x, y),
0 < t < T,
(6)
(7)
(8)
x, y ∈ R,
where σ(·), µ(·), r(·), f (·) are functions of x, y, t, θ. We should note that the
maximum operator in (1) and (6) can be replaced by a minimum operator and
the whole following analysis will hold analogously. A possible generalization
45
of the SCP with corresponding HJB equation is a stochastic differential game
with the corresponding Hamilton-Jacobi-Bellman-Isaac equation [13]. Further
generalizations can be found in [14].
2. Construction of the 2D Tree-Grid algorithm
In this section we will derive the two-dimensional Tree-Grid algorithm for
50
solving the problem (1)–(4). We will use the ideas that were widely explained
in [4], [5] and we refer interested readers to these papers. We will work on
a three-dimensional rectangular domain with two space dimensions and one
time dimension. For a fixed control θ, the candidate for a value in each node
V (xi , yj , tk ) will be computed from seven values from the next time layer tk+1 .
55
Figure 1 illustrates this approach. We will denote these seven values in this
context simply as stencil located at (xi , yj , tk ). The weights of these seven
values can be interpreted as probabilities and therefore we demand, that the
moments of such discrete random variable are matching with the moments of
the increment of the two-dimensional stochastic process (2)–(4) with the fixed
60
control θ at least asymptotically. Then, the actual value V (xi , yj , tk ) will be
computed as a maximum of the candidates. For handling nodes close to the
boundary we suppose that we know, how the solution behaves in the outer
4
neighbourhood of the boundaries, and that we can describe this behaviour with a
boundary function BC(x, y, t). The terminal condition in the time-layer tM = T
65
reads V (x, y, tM ) = VT (x, y).
Figure 1: Illustration of the two-dimensional Tree-Grid structure. Only the red nodes in the
later time layer impact the blue node. On the other hand, the red nodes can be interpreted as
possible future states if we are in the blue node state. The figure illustrates a situation with
positive correlation and a variance that is larger in the x-direction than in the y-direction.
The stencil size in each direction is roughly proportional to the square root of the variance
coefficient in that direction multiplied by the discretization parameter h.
2.1. Notation
At first, before discussing how to choose the stencil nodes around node
(xi , yj , tk ), and the proper weights, we present here the notation used in the
sequel:
70
• x1 , x2 , . . . , xNx -space discretization in the first space dimension.
y1 , y2 , . . . , yNy -space discretization in the second space dimension.
t1 , t2 , . . . , tM -time discretization .
• ∆k t = tk+1 − tk -(current) time-step. We will use equidistant time stepping, ∆k t = ∆t for all k = 1, 2, . . . , M − 1. A generalization to non-
75
equidistant time stepping is straightforward.
• ∆i x = xi+1 − xi , ∆j y = yj+1 − yj space-steps in the first and second
dimension (possibly non-equidistant).
• ∆x = maxi ∆i x, ∆y = maxi ∆i y.
5
• h = max(K max(∆x, ∆y), ∆t), where K > 0 is a parameter used for
80
regulating the stencil size. In the non-equidistant case, ∆t should be
replaced by ∆k t.
• b = h/∆t. In the non-equidistant case, this should be replaced by b =
h/∆k t in the following algorithm.
• (xi , yj , tk ) -the node for which the stencil is constructed.
85
• E∗ = µ∗ (xi , yj , tk , θ)∆t for ∗ = x, y.
• V ar∗ = σ∗2 (xi , yj , tk , θ) + O(h) ∆t for ∗ = x, y, will be determined later.
• ρ(xi , yj , tk , θ) = σxy (xi , yj , tk , θ)/(σx (xi , yj , tk , θ)σy (xi , yj , tk , θ))
√
h , will be determined later.
• σ̃xy (xi , yj , tk , θ) = σxy (xi , yj , tk , θ) + O
√
• Cov = σxy (xi , yj , tk , θ) + O
h ∆t, will be determined later.
90
• W∗ = V ar∗ + E∗2 for ∗ = x, y.
• Wxy = Cov + Ex Ey .
k
-numerical approximation of V (xi , yj , tk )
• vi,j
2.2. Choosing the stencil nodes
Next, we describe how to choose the stencil nodes around an arbitrary node
95
(xi , yj , tk ) for a fixed control θ. The values in these nodes will impact the value
in the node (xi , yj , tk ).
If Ex > 0,
j
k
p
x− = xi − 2Wx b ,
x
else if Ex < 0,
l
m
p
x+ = xi + 2Wx b ,
x
else (Ex = 0),
l
m
p
x+ = max xi + 2Wx b, xi + (xi − x− )
, (9)
x
j
k
p
x− = min xi − 2Wx b, xi − (x+ − xi )
, (10)
x
j
k
p
x− = xi − 2Wx b ,
m
l
p
x+ = xi + 2Wx b ,
x
x
6
(11)
where ⌈⌉x resp. ⌊⌋x denotes rounding to the nearest greater resp. smaller element
from x1 , x2 , . . . , xNx . If such element does not exist, ⌈z⌉x resp. ⌊z⌋x will return
just z.
If Ey > 0,
j
k
p
y− = yj − 2Wy b ,
l
m
p
y+ = max yj + 2Wy b, yj + (yj − y− )
, (12)
l
m
p
y+ = yj + 2Wy b ,
j
k
p
y− = min yj − 2Wy b, yj − (y+ − yj )
, (13)
y
else if Ey < 0,
y
else (Ey = 0),
y
y
l
m
p
y+ = yj + 2Wy b ,
j
k
p
y− = yj − 2Wy b ,
y
100
y
where ⌈⌉y , ⌊⌋y are defined analogously.
(14)
The following nodes with the respective weights (probabilities) will be used
in the stencil located at (xi , yj , tk ):
• node (xi , yj , tk+1 ) with the probability po ,
• nodes (x+ , yj , tk+1 ) and (x− , yj , tk+1 ) with the probabilities px+ and px− ,
105
• nodes (xi , y+ , tk+1 ) and (xi , y− , tk+1 ) with the probabilities py+ and py− ,
• nodes (x+ , y+ , tk+1 ) and (x− , y− , tk+1 ), both with the probability pxy if
Wxy is non-negative, and nodes (x+ , y− , tk+1 ) and (x− , y+ , tk+1 ) both
with the probability pxy if Wxy is negative. In the following algorithm we
will focus on the case of non-negative Wxy , the case of a negative Wxy is
110
treated analogously.
Moreover, we define the difference operators
∆+ x = x+ − xi ,
∆− x = x i − x − ,
(15)
∆ + y = y+ − yi ,
∆− y = yi − y− .
(16)
7
2.3. Choosing the stencil weights (probabilities)
To match the first two moments of the approximative increment of the
stochastic process and of the increment of the discrete process defined by the
“stencil nodes” and their probabilities and to ensure that the probabilities are
positive and sum up to 1, we demand:
po + px+ + px− + py+ + py− + 2pxy = 1,
(17)
(px+ + pxy)∆+ x − (px− + pxy)∆− x = Ex ,
(18)
(py+ + pxy)∆+ y − (py− + pxy)∆− y = Ey ,
(19)
(px+ + pxy)(∆+ x)2 + (px− + pxy)(∆− x)2 = Wx ,
(20)
(py+ + pxy)(∆+ y)2 + (py− + pxy)(∆− y)2 = Wy ,
(21)
pxy (∆+ x∆+ y + ∆− x∆− y) = Wxy .
(22)
po , px+ , px− , py+ , py− , pxy ≥ 0
(23)
For negative Wxy , only the condition (22) changes to
pxy (∆+ x∆− y + ∆− x∆+ y) = |Wxy |.
(24)
The solution of the six equations (17)–(22) reads
∆+ x∆− x∆+ y∆− y − ∆+ x∆− xWy − ∆+ y∆− yWx
,
∆+ x∆− x∆+ y∆− y
Ey (∆+ y − ∆− y) Ex (∆+ x − ∆− x) 2|Wxy |
,
+
+
+
∆+ y∆− y
∆+ x∆− x
∆c
|Wxy |
W x + Ex ∆ − x
,
−
=
2
(∆+ x) + ∆+ x∆− x
∆c
W x − Ex ∆ + x
|Wxy |
=
,
−
2
(∆− x) + ∆+ x∆− x
∆c
|Wxy |
W y + Ey ∆ − y
,
−
=
2
(∆+ y) + ∆+ y∆− y
∆c
|Wxy |
W y − Ey ∆ + y
,
−
=
2
(∆− y) + ∆+ y∆− y
∆c
|Wxy |
=
,
∆c
po =
px+
px−
py+
py−
pxy
(25)
(26)
(27)
(28)
(29)
(30)
where ∆c = ∆+ x∆+ y + ∆− x∆− y for non-negative (σ̃xy (xi , yj , tk , θ)∆t + Ex Ey )
and ∆c = ∆+ x∆− y + ∆− x∆+ y for negative (σ̃xy (xi , yj , tk , θ)∆t + Ex Ey ).
8
Following the construction of x+ , x− , y+ , y− , it is easy to check that po is
115
always non-negative. The same holds for pxy . To ensure also the non-negativity
of px+ , px− , py+ and py− we have to properly choose the variables V arx , V ary ,
and Cov to get non-negative weights, while still remaining consistent with the
original problem as h → 0. This is done in the next Section 2.4.
2.4. Artificial diffusion and covariance adjustment
Let us assume Ex ≥ 0. Now, the first fraction of px+ is positive, however
the first fraction of px− may be negative. We will set V arx (and hence Wx ) in
such way, that it will be also positive. It holds
p
2b(V arx + Ex2 ) + 2∆x).
(31)
p
Ax = 1/2 |Ex | 4b2 Ex2 + 16b∆x|Ex | − (2b − 2)Ex2 + 4∆x|Ex | .
(32)
Wx − Ex ∆+ x > V arx + Ex2 − Ex (
The right-hand side of the inequality (31) is 0 for V arx = Ax and greater than
0 for V arx > Ax with
We replaced here Ex with |Ex | to cover also the analogous case Ex < 0 and
possibly negative px+ . Now, if we set
V arx = max(σx2 (xi , yj , tk , θ)∆t, Ax , Ex2 ),
(33)
V ary = max(σy2 (xi , yj , tk , θ)∆t, Ay , Ey2 ),
(34)
where Ay is defined analogously, the first fraction in px+ , px− , py+ and py−
will be non-negative. The possible difference between V arx resp. V ary and
the variances from the original problem σx2 ∆t resp. σy2 ∆t is called artificial
diffusion. Now, taking into account the correlation coefficient in the current
node, following these definitions of variances V arx , V ary we introduce also the
new covariance
σ̃xy
p
V arx V ary
=ρ
∆t
9
(35)
and
Cxy := min
W x − Ex ∆ + x
W x + Ex ∆ − x
∆c ,
∆c ,
(∆+ x)2 + ∆+ x∆− x
(∆− x)2 + ∆+ x∆− x
W y − Ey ∆ + y
W y + Ey ∆ − y
∆c ,
∆c ,
(∆+ y)2 + ∆+ y∆− y
(∆− y)2 + ∆+ y∆− y
|σ̃xy (xi , yj , tk , θ)∆t + Ex Ey | .
Now, we define Cov as
Cxy − Ex Ey
Cov =
−Cxy − Ex Ey
if (σ̃xy (xi , yj , tk , θ)∆t + Ex Ey ) ≥ 0,
(36)
(37)
if (σ̃xy (xi , yj , tk , θ)∆t + Ex Ey ) < 0.
This covariance Cov is consistent with the variances V arx , V ary defined by
(33), (34) as for σ̃xy (xi , yj , tk , θ)∆t + Ex Ey ≥ 0 it holds
−
p
p
V arx V ary ≤ −Ex Ey ≤ Cov ≤ σ̃xy (xi , yj , tk , θ)∆t ≤ V arx V ary ,
(38)
p
p
V arx V ary ≤ σ̃xy (xi , yj , tk , θ)∆t ≤ Cov ≤ −Ex Ey ≤ V arx V ary .
(39)
and for σ̃xy (xi , yj , tk , θ)∆t + Ex Ey < 0 it holds
−
Now it also holds |Wxy | = Cxy , which implies that px+ , px− , py+ and py− are
all positive. It is easy to check that it holds
V arx
= σx2 (xi , yj , tk , θ) + O(h),
∆t
V ary
= σy2 (xi , yj , tk , θ) + O(h),
∆t
(40)
and
V arx
= σx2 (xi , yj , tk , θ),
∆t
resp.
V ary
= σy2 (xi , yj , tk , θ),
∆t
(41)
for σx2 (xi , yj , tk , θ) 6= 0 resp. σy2 (xi , yj , tk , θ) 6= 0 and h small enough. It holds
√
Wx + Ex ∆− x = σx2 + O
h ∆t,
(42)
(∆+ x)2 + ∆+ x∆− x = 4hσx2 + O(h3/2 ),
∆c = 4hσx σy + O(h3/2 ).
(43)
(44)
It follows that
√
W x + Ex ∆− x
h ∆t
∆c = σx σ y + O
2
(∆+ x) + ∆+ x∆− x
10
(45)
and the same holds also for the second, third and fourth maximum candidate
in (36). Moreover,
√
|σ̃xy ∆t + Ex Ey | = |σ̃xy |∆t + O((∆t)2 ) = |σxy | + O
h ∆t.
(46)
Therefore,
√
h ∆t,
Cxy = |σxy | + O
⇒
√
Cov
h
= σxy + O
∆t
(47)
and it is easy to check that
Cov
= σxy
∆t
120
(48)
for σx2 6= 0, σy2 6= 0, |σxy | 6= σx σy and h small enough. Following (40),(47), the
modified variances and the modified covariance are consistent with the variances
and the covariance from the original problem. Moreover, for σx , σy 6= 0 and
|σxy | < σx σy , the modified variances and the covariance will be equal to the
original ones for h small enough.
125
2.5. Setting the parameter K and the stencil size reduction
In the formula for h = max(K max(∆x, ∆y), ∆t), the part K max(∆x, ∆y)
is responsible for the consistency of the correlation in the numerical model with
the correlation of the original problem. Here, the parameter K > 0 can be
chosen arbitrarily, however for a large (relative to the problem parameters) K,
130
the stencil is large, what typically increases the error. On the other hand, for
too small K, the correlation may start being exact (or exact enough) only for
very fine grids, while not being sufficiently exact on the coarse grids, resulting
in larger errors on these coarse grids. For K = 0 we can’t guarantee the convergence of the correlation. However, the correlation in the numerical model
135
may match with the correlation from the original problem even for small K or
K = 0. This motivates the following multiple K modification of the Tree-Grid
method;
For each control in each node:
1. set l = 1 and use K = K0 , K0 ≥ 0 to compute x∗ , y∗ , p∗
11
140
2. compute the correlation of the numerical model: ρ̃ = Cov/
p
V arx V ary
3. if ρ̃ 6= ρ: recompute x∗ , y∗ , p∗ with K = Kl , Kl > Kl−1 and set l := l + 1
else break.
4. if l < lmax : go to step 2,
else break.
145
Using this modification, we will use a smaller stencil size as much as possible.
This approach can be seen as some analogy to the approach of Ma and Forsyth
[7], where a fixed (and thus small) stencil is used as much as possible. However,
here we will not increase the convergence rate, but possibly reduce the error.
Another approach, the non-constant K modification, is to use a non-constant
150
K = K(x, y, θ). This K can be smaller in nodes with large volatilities σx , σy
and larger in nodes with smaller σx , σy , regulating the stencil size to not explode
in case of large volatilities.
Both modifications can be also combined and it is easy to check, that they
do not harm the consistency. In our numerical simulation these modifications
155
didn’t lead to a significant improvement and therefore we used simply a constant
K = 1/400. However, a non-constant K modification may be useful for other
stochastic control problems.
3. The 2D Tree-Grid Algorithm
Finally, we can use the stencil nodes and weights to construct the 2D Tree160
Grid algorithm.
We define the function v k+1 :
If (x, y) ∈ {x1 , x2 , . . . , xNx } × {y1 , y2 , . . . , yNy } :
k+1
v k+1 (x, y) = vi,j
so that (x, y) = (xi , yj ),
else: v k+1 (x, y) = BC(x, y, tk+1 ).
12
(49)
For a given space-node (xi , yj ) and a given control θ we define
vok+1 = v k+1 (xi , yj ),
k+1
vx+
= v k+1 (x+ , yj ),
k+1
vy+
= v k+1 (xi , y+ ),
k+1
vy−
= v k+1 (xi , y− ),
k+1
vx−
= v k+1 (x− , yj ),
(50)
(51)
If Wxy ≥ 0 :
k+1
vxy+
= v k+1 (x+ , y+ ),
k+1
vxy−
= v k+1 (x− , y− ).
(52)
If Wxy < 0 :
k+1
vxy+
= v k+1 (x+ , y− ),
k+1
vxy−
= v k+1 (x− , y+ ).
(53)
k
fi,j
(θ) = f (xi , yj , tk , θ),
k
ri,j
(θ) = r(xi , yj , tk , θ).
(54)
Now, the discretized version of the dynamic programming equation for
i = 2, 3, . . . , Nx − 1, j = 2, 3, . . . , Ny − 1, k = 1, 2, . . . , M − 1 reads
k
k
= max wi,j
(θ)
vi,j
(55)
θ∈Θ
k
k
k
(θ) =fi,j
(θ)∆t + (1 + ri,j
(θ)∆t)
wi,j
k+1
k+1
k+1
k+1
+ py+ vy+
+ py− vy−
+ px− vx−
· px+ vx+
k+1
k+1
+ po vok+1 + pxy (vxy+
+ vxy−
) .
(56)
For the boundary nodes (xi , yj ) (i ∈ {1, Nx } or j ∈ {1, Ny }) we employ the
boundary condition:
k
vi,j
= BC(xi , yj , tk ).
(57)
The terminal condition is defined as
M
vi,j
= VT (xi , yj ).
(58)
Finally we can summarize the whole algorithm of the 2D Tree-Grid Method:
13
Algorithm 1 The 2D Tree-Grid method
M
= VT (xi , yj ) for i = 1, 2, . . . , Nx , j = 1, 2, . . . , Ny ;
1: Set vi,j
2:
3:
4:
5:
for k = M − 1, M − 2, . . . , 1 do
for i = 1, 2, 3, . . . , Nx do
for j = 1, 2, 3, . . . , Ny do
if i ∈ {1, Nx } or j ∈ {1, Ny } then
k
Compute vi,j
according to (57);
6:
7:
else
for θ ∈ Θ do
8:
Determine Ex , Ey according to Section 2.1;
9:
10:
Compute Ax , Ay according to (32);
11:
Compute V arx , V ary according to (33), (34);
12:
Determine Wx , Wy according to Section 2.1;
13:
Determine x+ , x− , y+ , y− according to (9)–(14);
14:
Determine ∆+ x, ∆− x, ∆+ y, ∆− y according to (15)–(16);
15:
Compute σ̃xy according to (35);
16:
Compute Cxy according to (36);
17:
Compute Cov according to (37);
18:
Determine Wxy according to Section 2.1;
19:
Compute po , px+ , px− , py+ , py− , pxy according to (25)–(30);
20:
Using (49), compute all variables defined by (50)–(54);
21:
k
Compute wi,j
(θ) according to (56);
22:
end for
23:
k
Compute vi,j
according to (55);
24:
25:
26:
27:
end if
end for
end for
end for
14
4. Convergence
In this section we will prove the convergence of the 2D Tree-Grid method.
First we will quickly summarize the classical convergence theory of Barles and
165
Souganidis [15] and in the second part of this section we will use this theory
to prove the convergence of our scheme. Let us note that the algorithm was
derived by discretizing the dynamics in the original SCP (1)–(4), but we will
prove that the scheme is consistent with the HJB equation (6)–(8).
4.1. The convergence theory
Let U denote some suitable function space. Let us define some nonlinear
differential operator F
F : U → R,
V (s) → F V (s).
We suppose there exists a viscosity solution (see [16]) of the equation F V (s) = 0,
and denote this solution simply by V (s). To find some approximation of the
viscosity solution we define a discrete approximation scheme
Gv(s) = G v(s), v(s + b1 h), v(s + b2 h), . . . , v(s + bn h) ,
170
(59)
where v(s), s ∈ RK is defined as a (possibly) multidimensional function, bi ∈
RK , i = 1, 2, . . . , n and h ∈ R+ .
Let us consider the system of sets called discretized domains
Sh = {si ∈ RK |i = 1, 2, . . . , Nh },
defined for different values of h, which is often referred as step size.
Definition 1 (Numerical scheme). The system of equations Gv(s) = 0 with
s ∈ Sh depending on a parameter h ∈ R+ is called a numerical scheme.
175
The numerical scheme is well-defined, if it possess an unique solution. We
will assume that this condition is met for any feasible h. By v(s), we will denote
an approximation of the solution of F V (s) = 0, computed by solving the system
of equations Gv(s) = 0, s ∈ Sh . In order to distinguish between approximations
with different h, we will sometimes denote v(s) as vh (s).
15
180
Definition 2 (Monotonicity). A discrete approximation scheme
Gv(s) = G v(s), v(s + b1 h), v(s + b2 h), . . . , v(s + bn h) is monotone, if the function G is non-increasing in v(s + bi h) for bi 6= 0, i = 1, . . . , n.
Definition 3 (Consistency). The scheme Gv(s) = G(v(s), v(s + b1 h), v(s +
b2 h), . . . , v(s+bn h)) is a consistent approximation of F V (s), if limh→0 |F φ(s)−
185
Gφ(s)| = 0, for any C ∞ -smooth test function φ(s).
A scheme is consistent on a numerical domain, if it is consistent in all points
of this numerical domain. In such case we will call the scheme consistent. In
literature, often C 2 -smooth test functions are used. However, as shown for
example in [17], this leads to an equivalent definition.
190
Definition 4 (Stability). The numerical scheme defined by the system of equations Gvh (s) = 0, s ∈ Sh with solution vh (s) is stable, if there exists some
constant C so that kvh (s)k∞ < C, ∀h > 0.
The following Theorem of Barles and Souganidis [15] is the key for proving
convergence of a numerical scheme approximating a nonlinear PDE:
195
Theorem 1 (Barles-Souganidis). If the equation F V (s) = 0 satisfies the strong
uniqueness property (see [15]) and if the numerical scheme Gvh (s) = 0, s ∈ Sh
approximating the equation F V (s) = 0 is monotone, consistent and stable, its
solution vh (s) converges locally uniformly to the solution V (s) of F V (s) = 0
with h → 0.
200
The above mentioned strong uniqueness property [15] is a property of the
problem and not of the numerical scheme. Therefore, we will simply assume
that our problem possess this property without actually proving it.
4.2. Convergence of the 2D Tree-Grid method
In this section, we will prove the convergence of the 2D Tree-Grid method.
For the purpose of this convergence analysis we will rewrite equations (55), (56)
16
as
k+1 k+1 k+1 k+1 k+1 k+1
Gv(xi , yj , tk ) =G(vok+1 , vx+
, vx− , vy+ , vy− , vxy+ , vxy− )
1
k
k
k
vi,j
− max fi,j
(θ)∆t + 1 + ri,j
(θ)∆t
=
θ∈Θ
∆t
k+1
k+1
k+1
k+1
· px+ vx+
+ px− vx−
+ py+ vy+
+ py− vy−
k+1
k+1
+ po vok+1 + pxy (vxy+
+ vxy−
)
= 0.
(60)
Using the theory of the previous Section 4.1, our goal is to show that equation (60) is a monotone, consistent, and stable approximation of the nonlinear
differential operator F V defined by the PDE (6):
F V (x, y, t) = −
∂V
− max LV + r(·)V + f (·) .
θ∈Θ
∂t
(61)
Let us define the difference operators
∆o+ z = ∆+ z,
∆o− z = −∆− z,
(62)
for z ∈ {x, y}. At first, we will show the consistency of the scheme in an
205
arbitrary point (xi , yj , tk ):
Lemma 1 (Consistency). The discrete scheme (60) is consistent with the PDE
operator (61).
Proof. Let φ : R2 × [0, T ] → R be a C ∞ -smooth function. Let us define
φk (x, y) = φ(x, y, tk ) and use the short notation defined by (50)–(54) for φk+1
instead of v k+1 . At first, let us sketch the main idea of the proof of consistency in an arbitrary point (xi , yj , tk ): We will write all values φk+1
for
α
α ∈ {x+, x−, y+, y−, xy+, xy−} as Taylor expansions around φki,j . We will
substitute these Taylor expansions into the discrete scheme (60), group terms
with the same derivatives together and estimate the sum of the coefficients in
front of them. We will end up with the PDE operator (61) and some terms of
order O(hλ ), where λ = 1/2 if |ρ| = 1 or σx = 0 or σy = 0 and λ = 1 else.
Let us suppose that Wxy ≥ 0 in (xi , yj , tk ). The case of negative Wxy can be
17
treated analogously. For ∗ ∈ {+, −}, let us define the operators:
∂φ
∂φ
1 ∂2φ
∂2φ
2
∆o∗ x +
∆o∗ y +
(∆
x)
+
∆o∗ x∆o∗ y
o∗
∂x
∂y
2 ∂x2
∂x∂y
1 ∂2φ
(∆o∗ y)2 ,
(63)
+
2 ∂y 2
1 ∂3φ
1 ∂3φ
1 ∂3φ
3
2
Bxy∗ φ =
(∆
x)
+
(∆
x)
∆
y
+
∆o∗ x(∆o∗ y)2
o∗
o∗
o∗
6 ∂x3
2 ∂x2 ∂y
2 ∂x∂y 2
1 ∂3φ
+
(∆o∗ y)3 ,
(64)
6 ∂y 3
1 ∂4φ
1 ∂4φ
1 ∂4φ
4
3
(∆
x)
+
(∆
x)
∆
y
+
(∆o∗ x)2 , (∆o∗ y)2
Cxy∗ φ =
o∗
o∗
o∗
24 ∂x4
6 ∂x3 ∂y
4 ∂x2 ∂y 2
1 ∂4φ
1 ∂4φ
+
∆o∗ x(∆o∗ y)3 +
(∆o∗ y)4 .
(65)
3
6 ∂x∂y
24 ∂y 4
Axy∗ φ =
k
Now we can expand φk+1
xy∗ around φi,j as follows:
k
φk+1
xy∗ =φi,j +
∂
∂ k
Axy∗ φki,j ∆t + Bxy∗ φki,j
φi,j ∆t + Axy∗ φki,j +
∂t
∂t
∂
(Bxy∗ Rxy∗ ) ∆t + Cxy∗ Rxy∗ + O((∆t)2 ),
∂t
(66)
Rxy∗ = φ(xi + ǫxy∗ ∆o∗ x, yj + δxy∗ ∆o∗ y, tk + γxy∗ ∆t),
(67)
+
where
k+1
for some ǫxy∗ , δxy∗ , γxy∗ ∈ [0, 1]. We expand φk+1
x∗ , φy∗ , ∗ ∈ {+, −} in the
k+1
same manner: for φk+1
x∗ we only need to substitute ∆o∗ y with 0 and for φy∗ we
only need to substitute ∆o∗ x with 0 in the Taylor expansion (66) and change
the index xy∗ to x∗ resp. y∗ in all expressions (63)–(67). Now, by substituting
the Taylor expansions into the scheme Gφki,j defined by (60) we get:
Gφki,j =
1 k
k
k
φi,j − max fi,j
(θ)∆t + 1 + ri,j
(θ)∆t
θ∈Θ
∆t
k
∂φ
i,j
∆t + (Lφki,j + O(hλ ))∆t
· φki,j +
∂t
= F φki,j + O(hλ ),
(68)
where λ = 1/2 if |ρ| = 1 or σx = 0 or σy = 0 and λ = 1 else. In the first equation
of (68) we used the estimates of the linear combinations of higher order terms
210
from the Taylor expansions. The coefficients of these linear combinations are
18
the probabilities po , px+ , px− , py+ , py− , pxy+ , pxy− (according to the definition
of G (60)). We describe here these estimates:
1. For the linear combinations of the terms included in Aα φki,j ,
α ∈ {x+, x−, y+, y−, xy+, xy−} we used the properties of the scheme
215
(17)–(22). After summing all expressions obtained by applying (17)–
(22) we get Lφki,j + O(h1/2 ) ∆t. Moreover, following Section 3, if |ρ| =
6
1, σx 6= 0, σy 6= 0, for h small enough we end up just with Lφki,j ∆t.
2. In the same way, for the linear combinations of the terms included in
∂
λ
2
k
k
∂t Aα φi,j ∆t we get L ∂φi,j /∂t + O(h ) (∆t) = O(h)∆t.
3. For the linear combinations of the terms included in Bα φki,j we used the
following estimates:
(px+ + pxy+ )(∆o+ x)3 + (px− + pxy+ )(∆o− x)3
= Wx (∆o+ x + ∆o− x) − Ex ∆o+ x∆o− x = O(h)∆t,
(69)
pxy+ (∆o+ x)2 ∆o+ y + pxy− (∆o− x)2 ∆o− y =
Wxy (∆o+ x)2 ∆o+ y + (∆o− x)2 ∆o− y
= O(h)∆t.
∆o+ x∆o+ y + ∆o− x∆o− y
220
(70)
Here we used that ∆o+ x+∆o− x = O(h), (∆o+ x)2 ∆o+ y+(∆o− x)2 ∆o− y =
O(h2 ). We used analogous estimates also for the terms where x and y are
switched symmetrically.
4. As (∆o∗ x)2 = O(h), (∆o∗ y)2 = O(h) it is clear that all terms in
∂
∂t
(Bα Rα ) ∆t are of order O(h)∆t.
5. For the linear combinations of the terms included in Cα Rα we constructed
the estimate in the following way: Let us define
ψ = (px+ ax+ + pxy+ axy+ )(∆o+ x)2 + (px− ax− + pxy− axy− )(∆o− x)2 .
Then, it holds:
m σx2 + O(h) ∆t ≤ ψ ≤ M σx2 + O(h) ∆t,
m = min (ax+ , ax− , axy+ , axy− ) ,
19
M = max(ax+ , ax− , axy+ , axy− ).
225
If m = O(h), M = O(h) then ψ = O(h)∆t. Now for (ax+ , ax− , axy+ , axy− )
equal to
•
1 ∂4
24 ∂x4
•
1 ∂4
6 ∂x3 ∂y
•
230
4
1 ∂
4 ∂x3 ∂y
(∆o+ x)2 Rx+ , (∆o− x)2 Rx− , (∆o+ x)2 Rxy+ , (∆o− x)2 Rxy− ,
(0, 0, ∆o+ x∆o+ yRxy+ , ∆o− x∆o− yRxy− ),
0, 0, (∆o+ y)2 Rxy+ , (∆o− y)2 Rxy− ,
which are all O(h), we get that the linear combinations of the first three
terms in Cα Rα are of order O(h)∆t. Using analogous estimates, also the
linear combinations of the fourth and fifth term are of order O(h)∆t.
Using the estimates above, we proved (68) which is the first order consistency
of our scheme if |ρ| < 1, σx > 0, σy > 0 and consistency of order 1/2 else.
235
Now the lemma establishing monotonicity of the scheme follows:
k
Lemma 2 (Monotonicity). If 1 + ri,j
(θ)∆t ≥ 0 for all possible i, j, k, θ, then
the discrete scheme (60) is monotone.
Proof. In this case, monotonicity is a direct implication of the non-negativity
of po , px+ , px− , py+ , py− , pxy+ , pxy− .
240
k
Remark 1. As already mentioned by the authors in [4], even if 1+ri,j
(θ)∆t < 0
for some i, j, k, θ, we can obtain a monotone scheme if we substitute 1 +
k
ri,j
(θ)∆t by
k
1/(1 − ri,j
(θ)∆t) in (60) for these parameters i, j, k, θ. Note that this change
does not harm the consistency, nor the stability of the scheme.
245
The stability analysis of the 2D Tree-Grid method is basically identical to the
stability analysis of the one-dimensional Tree-Grid method done in [4]. Therefore we state here just the stability condition and the Lemma about stability of
the scheme.
Property 1 (Stability condition of the problem). We suppose that:
250
1. There exist constants Cf , Cr such that for all x, y, t, θ ∈ [x1 , xNx ]×[y1 , yNy ]×
[t1 , tM ] × Θ holds: |f (x, y, t, θ)| < Cf , |r(x, y, t, θ)| < Cr .
20
2. There exist a constant CBC such that |BC(x, y, t)| < CBC holds for all
t ∈ [t1 , tM ] and for all possible outer-domain values (x, y) of the variables
(x+ , yj ), (x− , yj ), (xi , y+ ), (xi , y− ), (x+ , y+ ), (x+ , y− ), (x− , y+ ), (x− , y− ) for
255
any grid.
The lemma about stability of the scheme follows:
Lemma 3 (Stability). If the problem satisfies the stability conditions defined in
Property 1, then the scheme (60) is stable.
Proof. The proof of this lemma can be found in [4].
260
Finally, the convergence theorem follows:
Theorem 2 (Convergence of the 2D Tree-Grid Method). The approximation
computed with the 2D Tree-Grid Method (defined by Algorithm 1) for solving the
SCP (1)–(4) and the corresponding HJB equation (6)–(8) satisfying the strong
uniqueness property (see [15]) and the stability conditions defined in Property 1
265
converges to the viscosity solution of this SCP (and the HJB equation).
Proof. The proof follows from the Theorem 1 and Lemmas 1, 2, 3.
5. Application to option pricing models
5.1. Two-factor uncertain volatility model
Here we will use the 2D Tree-Grid method for pricing options on two different
risky assets under uncertain volatility. In this setting, the volatilities and the
correlation of the assets are only known to lie in certain bounds. In this case
the maximal option price can be computed as the solution of the HJB equation
∂V
+ max (LV − rV ) = 0,
θ∈Θ
∂t
σy2 2 ∂ 2 V
σ2 ∂ 2 V
∂2V
∂V
∂V
LV = x x2 2 + ρσx σy xy
+
y
+ rx
+ ry
,
2
∂x
∂x∂y
2
∂y 2
∂x
∂y
V (x, y, T ) = VT (x, y),
0 < t < T,
(71)
(72)
(73)
x, y ∈ R.
21
Here, x, y, t denote the first and the second asset price and the time, r denotes
the risk-free interest rate, T is the maturity time, the terminal condition VT (x, y)
is the payoff function and for the control variable holds θ = (σx , σy , ρ), where
σx , σy , ρ are uncertain volatilities of the first and the second asset, and their
correlation. For the set of possible controls holds:
Θ = [σx,min , σx,max ] × [σy,min , σy,max ] × [ρmin , ρmax ].
(74)
To obtain the minimal option price, we have to replace ’max’ by ’min’ in the
HJB equation (71). This model was discussed for example in [18] and later
solved with a hybrid (combining fixed and wide stencils) implicit method in [7].
As explained in [7], the optimal control lies in a subset of Θ,
Θ̃ =
({σx,min , σx,max } × [σy,min , σy,max ])
∪ ([σx,min , σx,max ] × {σy,min , σy,max }) × {ρmin , ρmax }.
(75)
Therefore, we will search for the control in Θ̄, a discretized version of Θ̃. To
270
verify the implementation, we will also solve a problem with an one-element set
Θ̄ = {(σx , σy , ρ)}. In this case, the equation (71) is simply the 2-dimensional
Black-Scholes equation [19] for which the analytical solution is known.
Terminal condition: As a terminal condition, we use the payoff function in
the form of a butterfly spread on the maximum of two assets:
+
VT (x, y) = (M − K1 )+ − 2 (M − (K1 + K2 )/2) + (M − K2 )+
M = max(x, y),
K1 = 34,
K2 = 46.
Boundary conditions: We will use Dirichlet boundary conditions. On the
upper and the right boundary, we will set the value to 0:
BC(x > xmax , y, t) = 0,
BC(x, y > ymax , t) = 0,
xmax = ymax = 144.
To verify that our computational domain is large enough, we solved the HJB
equation and the Black-Scholes equation also for xmax = ymax = 400 and
obtained in node (x, y, t) = (40, 40, 0) the same values as for xmax = ymax = 144.
22
On the lower (y = 0) and left (x = 0) boundary, the equation (71) degenerates to
a HJB equation for the one-dimensional uncertain volatility model from [2]. We
solve it with the one-dimensional Tree-Grid method, as in paper [4]. For the case
that the values from outside of the computational domain [0, xmax ] × [0, ymax ]
are needed, we artificially define the solution for x < 0, y < 0 to have the same
values as the solution on the boundary:
BC(x < 0, y) = BC(0, y),
BC(x, y < 0) = BC(x, 0),
BC(x < 0, y < 0) = 0.
5.2. Numerical results
Here we present the experimental convergence results of the 2D Tree-Grid
275
method applied to the Black-Scholes model and the uncertain volatility model.
We implemented our method in Python
1
and tested on an Intel Core i7-4770
CPU 3.40GHz computer with 16 GB RAM. We performed the simulations on
four different sets of parameters:
• Black-Scholes model with moderate volatility and correlation: σx = 0.3,
280
σy = 0.5, ρ = 0.4. Results of the simulation are in Table 1.
• Black-Scholes model with extreme parameters: σx = 0.05, σy = 0.05,
ρ = −0.95. Results of the simulation are in Table 2.
• Uncertain volatility model, maximal option price (worst case scenario)
with parameters σx,min = σy,min = ρmin = 0.3, σx,max = σy,max =
285
ρmax = 0.5. Results of the simulation are in Table 3.
• Uncertain volatility model, minimal option price (best case scenario). The
max operator is replaced by min in equation (71), all other parameters are
the same as in the worst case scenario. Results of the simulation are in
Table 4.
290
In all models we used the parameters T = 0.25, r = 0.05. For each model we
computed the approximations of the solution on different refinement levels. Let
1 The
code can be downloaded from https://github.com/igor-vyr/Tree-Grid-method
23
us denote the final time-layer (t = 0) of the approximation of the solution on
the k-th refinement level as Ak , and final time-layer of the reference solution
as Aref . We measured the approximation error on each refinement level in two
295
different ways:
1. the L1 error - the error was computed using the formula:
Error Ak = kAk − Aref k1 ,
(76)
2. the error in (x = 40, y = 40), was computed using the formula
Error Ak = |Ak (40, 40) − Aref (40, 40)|.
(77)
We use this error and the value in (x = 40, y = 40) to compare our results
with results from the paper [7], where the same parameters are used for
the uncertain volatility model.
To compute the experimental order of convergence (EOC) we used the following
formula:
EOC Ak =
log(ErrAk−1 ) − log(ErrAk )
.
log(hk−1 ) − log(hk )
(78)
In all refinement levels we used a (rectangular) grid with equidistant time300
stepping and non-equidistant space-stepping with more nodes near to the nonsmooth regions of the terminal conditions. The refinements were done uniformly.
From Table 2 we can deduce, that the numerical solution converges also in
the case of very small volatility and large correlation, although the convergence
is not as smooth as in the case of moderate parameters (Table 1). As we can
305
see in Tables 1, 3, the point-wise convergence may be quite non-smooth, even
if the approximation is converging relatively smoothly in L1 . In the uncertain
volatility model, the values in (x = 40, y = 40) are similar to the values of Ma
and Forsyth [7], what verifies our method. The experimental order of convergence in the Tables 1, 3, 4 seems to be slightly better than the theoretical order
310
1, the experimental order of convergence in Table 2 is quite non-smooth.
The increase of the experimental order of convergence in the last refinement
level in the uncertain volatility model results from using a solution computed on
24
Table 1: Black-Scholes model, σx = 0.3, σy = 0.5, ρ = 0.4. M -number of time steps, N
-number of space nodes. Value, error and experimental order of convergence (EOC) in the
final time layer in the point (x, y) = (40, 40) and error, EOC in L1 norm in the final time
layer. As reference solution the exact solution (computed with the R-library fExoticOptions)
was used.
M
25
50
100
200
400
N
35
2
69
2
Convergence
in (x, y) = (40, 40)
Convergence
in L1
Value
Error
EOC
Error
EOC
1.9910
1.77E-01
-
1.21E-02
-
1.8211
7.02E-03
4.66
1.84E-03
2.72
2
1.8229
8.88E-03
-0.34
7.16E-04
1.36
2
1.8177
3.67E-03
1.27
3.02E-04
1.25
137
273
2
545
1.8141
5.31E-05
6.11
1.24E-04
1.28
800
1089
2
1.8138
1.96E-04
-1.89
5.11E-05
1.28
1600
21772
1.8139
1.38E-04
0.51
2.54E-05
1.01
Table 2: Black-Scholes model, σx = 0.05, σy = 0.05, ρ = −0.95. M -number of time steps, N
-number of space nodes. Value, error and experimental order of convergence (EOC) in the
final time layer in the point (x, y) = (40, 40) and error, EOC in L1 norm in the final time
layer. As reference solution the exact solution (computed with the R-library fExoticOptions)
was used.
M
25
50
N
35
2
69
2
Convergence
in (x, y) = (40, 40)
Convergence
in L1
Value
Error
EOC
Error
EOC
3.3619
1.28E+00
-
3.60E-02
-
3.8702
7.71E-01
0.73
1.96E-02
0.88
2
4.3095
3.31E-01
1.22
7.62E-03
1.37
200
2
273
4.6339
6.91E-03
5.58
5.53E-04
3.78
400
5452
4.6465
5.73E-03
0.27
3.86E-05
3.84
800
10892
4.6468
5.97E-03
-0.06
4.61E-05
-0.26
1600
21772
4.6416
8.35E-04
2.84
9.85E-06
2.22
100
137
a fine grid as reference solution (that is disproportionally closer to the solution
on the last refinement level in contrast to the solutions on previous refinement
25
Table 3: Uncertain volatility model, worst case scenario (maximization). M -number of time
steps, N -number of space nodes, Q -number of controls. Value, error and experimental order
of convergence (EOC) in the final time layer in the point (x, y) = (40, 40) and error, EOC
in L1 norm in the final time layer. As reference solution, a solution computed on a fine grid
with 400 time steps, 5452 space nodes and 256 controls was used.
M
25
50
100
200
N
2
35
2
69
Convergence
in (x, y) = (40, 40)
Convergence
in L1
Q
Value
Error
EOC
Error
EOC
16
2.8364
1.59E-01
-
1.17E-02
-
32
2.6619
1.53E-02
3.38
3.64E-03
1.68
137
2
64
2.6784
1.19E-03
3.68
1.17E-03
1.64
273
2
128
2.6784
1.20E-03
-0.01
3.07E-04
1.93
Table 4: Uncertain volatility model, best case scenario (minimization). M -number of time
steps, N -number of space nodes, Q -number of controls. Value, error and experimental order
of convergence (EOC) in the final time layer in the point (x, y) = (40, 40) and error, EOC
in L1 norm in the final time layer. As reference solution, a solution computed on a fine grid
with 400 time steps, 5452 space nodes and 256 controls was used.
M
25
50
100
200
315
N
2
35
2
69
Convergence
in (x, y) = (40, 40)
Convergence
in L1
Q
Value
Error
EOC
Error
EOC
16
0.9847
6.95E-02
-
4.29E-03
-
32
0.9475
3.23E-02
1.11
2.01E-03
1.09
137
2
64
0.9270
1.18E-02
1.46
7.59E-04
1.41
273
2
128
0.9173
2.07E-03
2.50
1.31E-04
2.53
levels).
In Figure 2, we see the final time layer (t = 0) of the approximation of
option prices under the uncertain volatility model for both best and worst case
scenario.
26
Worst case scenario
Best case scenario
0.8
0.6
0.6
0.4
0.4
0.5
0.2
0.2
0.0
0.0
2.0
1.5
1.5
1.0
1.0
0.5
0.0
60
y 40
20
0
0
20
60
40 x
V(x,y)
V(x,y)
0.8
2.0
100
80
1.0
1.0
2.5
2.5
100
80
100
80
0.0
60
y 40
20
0
0
20
60
40 x
100
80
Figure 2: Final time layers (t=0) of the approximations of the worst case option price (maximization) and of the best case option price (minimization) from the uncertain volatility model
computed with the 2D Tree-Grid method with 50 time steps, 692 space nodes and 32 controls.
6. Conclusion
320
In this paper we generalized the one-dimensional Tree-Grid method to 2
space dimensions. Although the ideas behind this two-dimensional method are
similar to the one-dimensional case, the algorithm construction is more challenging, mainly because of the correlation between the two spatial variables.
Our 2D Tree-Grid method is explicit and hence suitable for parallelization, but
325
still unconditionally stable and monotone in contrast to other explicit methods
[1, 9, 10]. Moreover, unlike other wide-stencil methods [7, 9, 10], it doesn’t
use any interpolation. These properties make the method very flexible and, by
simply following of the Algorithm 1, also easy to implement.
We proved the convergence of the 2D Tree-Grid method using the theory of
330
Barles and Souganidis [15]. We tested the method on the two-factor uncertain
volatility model and on the Black-Scholes model for option pricing and verified
the convergence also experimentally.
Acknowledgements
This research was supported within the bilateral German-Slovakian Project
335
ENANEFA - Efficient Numerical Approximation of Nonlinear Equations in Financial Applications financed by DAAD and the Slovakian Ministry of Education (01/2018–12/2019).
27
References
[1] H. Kushner, P. G. Dupuis, Numerical methods for stochastic control prob340
lems in continuous time, Vol. 24 of Applications of Mathematics, Springer
Science & Business Media, 2013.
[2] P. A. Forsyth, K. R. Vetzal, Numerical methods for nonlinear PDEs in
finance, in: Handbook of Computational Finance, Springer, 2012, pp. 503–
528.
345
[3] S. Kilianová, D. Ševčovič, A transformation method for solving the
Hamilton-Jacobi-Bellman equation for a constrained dynamic stochastic
optimal allocation problem, The ANZIAM Journal 55 (01) (2013) 14–38.
[4] I. Kossaczký, M. Ehrhardt, M. Günther, A new convergent explicit TreeGrid method for HJB equations in one space dimension, Applied Mathe-
350
matics Letters 11 (2018) 1–29.
[5] I. Kossaczký, M. Ehrhardt, M. Günther, The Tree-Grid Method with
control-independent stencil, in: Proceedings of Equadiff 2017 Conference,
Bratislava, 2017, pp. 79–88.
[6] J. Wang, P. A. Forsyth, Maximal use of central differencing for Hamilton-
355
Jacobi-Bellman PDEs in finance, SIAM Journal on Numerical Analysis
46 (3) (2008) 1580–1601.
[7] K. Ma, P. Forsyth, An unconditionally monotone numerical scheme for the
two-factor uncertain volatility model, IMA Journal of Numerical Analysis
37 (2) (2016) 905–944.
360
[8] Y. Chen, J. W. Wan, Monotone mixed narrow/wide stencil finite difference
scheme for Monge-Ampère equation, arXiv preprint arXiv:1608.00644.
[9] J. F. Bonnans, H. Zidani, Consistency of generalized finite difference
schemes for the stochastic HJB equation, SIAM Journal on Numerical Analysis 41 (3) (2003) 1008–1021.
28
365
[10] K. Debrabant, E. Jakobsen, Semi-Lagrangian schemes for linear and fully
non-linear diffusion equations, Mathematics of Computation 82 (283)
(2013) 1433–1462.
[11] K. Debrabant, E. R. Jakobsen, Semi-Lagrangian schemes for linear
and fully non-linear Hamilton-Jacobi-Bellman equations, arXiv preprint
370
arXiv:1403.1217.
[12] J. Yong, X. Y. Zhou, Stochastic controls:
Hamiltonian systems and
HJB equations, Vol. 43 of Stochastic Modelling and Applied Probability,
Springer Science & Business Media, 1999.
[13] S. Mataramvura, B. Øksendal, Risk minimizing portfolios and HJBI equa375
tions for stochastic differential games, Stochastics An International Journal
of Probability and Stochastic Processes 80 (4) (2008) 317–337.
[14] Q. Song, Convergence of Markov chain approximation on generalized HJB
equation and its applications, Automatica 44 (3) (2008) 761–766.
[15] G. Barles, P. E. Souganidis, Convergence of approximation schemes for fully
380
nonlinear second order equations, in: Asymptotic Analysis, no. 4, 1991, pp.
2347–2349.
[16] M. G. Crandall, H. Ishii, P.-L. Lions, Users guide to viscosity solutions
of second order Partial Differential Equations, Bulletin of the American
Mathematical Society 27 (1) (1992) 1–67.
385
[17] P.-L. Lions, Optimal control of diffusion processes and Hamilton–Jacobi–
Bellman equations part 2: viscosity solutions and uniqueness, Communications in Partial Differential Equations 8 (11) (1983) 1229–1276.
[18] D. M. Pooley, P. A. Forsyth, K. R. Vetzal, Numerical convergence properties of option pricing PDEs with uncertain volatility, IMA Journal of
390
Numerical Analysis 23 (2) (2003) 241–267.
[19] F. Black, M. Scholes, The pricing of options and corporate liabilities, Journal of Political Economy 81 (3) (1973) 637–654.
29