+ All Categories
Home > Documents > Chapter 20: An Introduction to ADI and Splitting...

Chapter 20: An Introduction to ADI and Splitting...

Date post: 20-Mar-2018
Category:
Upload: dangtuyen
View: 229 times
Download: 2 times
Share this document with a friend
26
< Day Day Up > Chapter 20: An Introduction to ADI and Splitting Schemes 20.1INTRODUCTION AND OBJECTIVES In this chapter we discuss how to apply finite difference schemes to approximate the solution of multidimensional diffusion equations. In general, an exact solution to these problems is not possible to find, and even when an exact solution is known it is complicated to evaluate. Our interest is in applying and extending the schemes from previous chapters in this book to multi-factor problems. Some typical applications are: Asian options (payoff depends on the underlying S and the average price of S over some prescribed period) Multi-asset options (for example, basket options and options with two underlyings) Convertible bonds (bond price is a function of the underlying S and the (stochastic) interest rate r) Multidimensional interest rate models. In general, each of the above models can be subsumed under the general parabolic partial differential equation (Bhansali, 1998) (20.1) Here we see that the derivative quantity V is a function of n underlyings. Furthermore, these underlyings may be correlated. As discussed in Bhansali (1998), the rate of change of V with respect to time may be written as the sum of three elements (20.2) (20.3) (20.4) Of course, we must provide initial (terminal) and boundary conditions in order to produce a unique solution to (20.1) . As there is no explicit formula for the solution in general, we must resort to approximate methods. In this book we look at finite difference methods for such problems and concentrate on two-factor equations (that is where n = 2 in equation (20.1) ). In particular, we first of all discuss discretising all variables in (20.1) simultaneously, and we show the consequences of such an approach. In particular, we encounter the curse of dimensionality because solving two-factor equations by a straightforward finite difference scheme leads to large systems of equations that are difficult (but not impossible) to solve. Another approach is to reduce the multidimensional problem to a series of one-dimensional sub-problems where each sub-problem corresponds to one specific underlying variable. For this latter case we discuss two major approaches called Alternating Direction Implicit (ADI) and splitting (or splitting up) methods, respectively. In this chapter we shall concentrate on the heat equation in a rectangle in order to motivate the ADI and splitting methods. Furthermore, we focus on Dirichlet conditions only. In the next chapter we shall extend the methods to handle convection–diffusion equations in general (and Black–Scholes in
Transcript
Page 1: Chapter 20: An Introduction to ADI and Splitting Schemesscrepey.free.fr/doc/Financial.Instrument.Pricing.Using.C++Chap20... · €€ 20.2A MODEL PROBLEM In

 < Day Day Up > 

Chapter 20: An Introduction to ADI and Splitting

Schemes

20.1INTRODUCTION AND OBJECTIVES

In this chapter we discuss how to apply finite difference schemes to approximate the solution of

multidimensional diffusion equations. In general, an exact solution to these problems is not possible to

find, and even when an exact solution is known it is complicated to evaluate. Our interest is in applying

and extending the schemes from previous chapters in this book to multi-factor problems. Some typical

applications are:

Asian options (payoff depends on the underlying S and the average price of S over some

prescribed period)

Multi-asset options (for example, basket options and options with two underlyings)

Convertible bonds (bond price is a function of the underlying S and the (stochastic) interest rate r)

Multidimensional interest rate models.

In general, each of the above models can be subsumed under the general parabolic partial differential

equation (Bhansali, 1998)

(20.1) 

Here we see that the derivative quantity V is a function of n underlyings. Furthermore, these

underlyings may be correlated. As discussed in Bhansali (1998), the rate of change of V with respect to

time may be written as the sum of three elements

(20.2) 

(20.3) 

(20.4) 

Of course, we must provide initial (terminal) and boundary conditions in order to produce a unique

solution to (20.1). As there is no explicit formula for the solution in general, we must resort to

approximate methods. In this book we look at finite difference methods for such problems and

concentrate on two-factor equations (that is where n = 2 in equation (20.1)). In particular, we first of all

discuss discretising all variables in (20.1) simultaneously, and we show the consequences of such an

approach. In particular, we encounter the curse of dimensionality because solving two-factor equations

by a straightforward finite difference scheme leads to large systems of equations that are difficult (but

not impossible) to solve. Another approach is to reduce the multidimensional problem to a series of

one-dimensional sub-problems where each sub-problem corresponds to one specific underlying

variable. For this latter case we discuss two major approaches called Alternating Direction Implicit (ADI)

and splitting (or splitting up) methods, respectively.

In this chapter we shall concentrate on the heat equation in a rectangle in order to motivate the ADI and

splitting methods. Furthermore, we focus on Dirichlet conditions only. In the next chapter we shall

extend the methods to handle convection–diffusion equations in general (and Black–Scholes in

Page 2: Chapter 20: An Introduction to ADI and Splitting Schemesscrepey.free.fr/doc/Financial.Instrument.Pricing.Using.C++Chap20... · €€ 20.2A MODEL PROBLEM In

particular).

Understanding how ADI and splitting methods work for the heat equation will help you to appreciate

similar schemes for convection–diffusion and Black–Scholes equations.

 < Day Day Up > 

Page 3: Chapter 20: An Introduction to ADI and Splitting Schemesscrepey.free.fr/doc/Financial.Instrument.Pricing.Using.C++Chap20... · €€ 20.2A MODEL PROBLEM In

 < Day Day Up > 

20.2A MODEL PROBLEM

In this chapter we focus primarily on the two-dimensional heat equation

(20.5) 

that is defined in some region of (x,y,t) space. In this section we extend the finite difference method

that we defined in previous chapters to the case where the continuous (x,y) space is replaced by a

two-dimensional mesh. To this end, we use some notation for difference operators in the x and y

directions:

(20.6) 

These operators are just the two-dimensional extensions of the one-dimensional discrete operators of

previous chapters. Thus, when approximating the heat equation (20.5) we can choose centred

differencing in the x and y directions while we can choose the following options for the time direction:

Explicit Euler (EE)

Implicit Euler (IE)

Crank–Nicolson (CN).

For EE, the finite difference scheme becomes (neglecting boundary and initial conditions for the

moment)

(20.7) 

Of course, this is an explicit scheme and stability is only conditional. By a von Neumann stability

analysis we can prove that (20.7) is stable if

(20.8) 

where we assume now that the step sizes in the x and y directions are the same (see Peaceman,

1977).

Rewritingequation (20.7) in a different form allows us to write the approximate solution at time level n +

1 in terms of the solution at time level n

(20.9) 

It is then easy to develop some C++ code to implement this algorithm without the need to solve a linear

system of equations. However, you must keep the constraint (20.8) in mind (you must satisfy it!)

otherwise you will get non-realistic results.

The IE scheme for (20.5) is given by

Page 4: Chapter 20: An Introduction to ADI and Splitting Schemesscrepey.free.fr/doc/Financial.Instrument.Pricing.Using.C++Chap20... · €€ 20.2A MODEL PROBLEM In

(20.10) 

This is an unconditionally stable scheme (for all values of k and h) but we see that the solution at time

leveln + 1 is defined on both sides of equation (20.10). We must resort to some kind of matrix solver if

we wish to find this solution. A good treatment is given in Peaceman (1977). For the heat equation we

get a system of the form

(20.11) 

If we assume that the x and y regions have been partitioned into N and M intervals, respectively, then

the matrix A has N row and M columns if we use Dirichlet boundary conditions.

ThusA has a block form. In general, the vector U will have N × M elements, where N is the number of

sub-divisions of the x dimension and M is the number of sub-divisions of the y dimension.

There are methods for solving systems of the form (20.11) (Peaceman, 1977; Tavella and Randall,

2000) but such a discussion is outside the scope of this book. The methods are very advanced, in my

opinion, and there are more effective ways of solving such systems as we shall see in this chapter and

the next.

 < Day Day Up > 

Page 5: Chapter 20: An Introduction to ADI and Splitting Schemesscrepey.free.fr/doc/Financial.Instrument.Pricing.Using.C++Chap20... · €€ 20.2A MODEL PROBLEM In

 < Day Day Up > 

20.3MOTIVATION AND HISTORY

We now give a short introduction to the origins and history of the ADI and splitting methods. Like much

of numerical analysis, many techniques were developed during the 1960s when the digital computer

started to be used to model various industrial, scientific and engineering problems. Some examples

are:

Reservoir engineering (Peaceman, 1977)

Solving the heat equations in several dimensions (Douglas and Rachford, 1955)

Problems in hydrodynamics and elasticity (Yanenko, 1971).

The ADI method was pioneered in the United States by Douglas, Rachford, Peaceman, Gunn and

others. The ADI method has a number of advantages over the methods that are discussed in section

20.2. First, explicit difference methods are rarely used to solve initial boundary value problems due to

their poor stability properties. Implicit methods have superior stability properties but unfortunately they

are difficult to solve in two or more dimensions. Consequently, ADI methods became an alternative

because they can be programmed by solving a simple tridiagonal system of equations in the x and y

directions, respectively.

During the period that ADI was being developed, a number of Soviet numerical analysts (most notably

Yanenko, Marchuk, Samarskii and D’Yakanov) were developing splitting methods (also known as

fractional step or locally one-dimensional (LOD) methods) for solving time-dependent partial differential

equations in two and three dimensions.

It would seem that the financial engineering community tends to use the ADI method when solving

multi-factor Black–Scholes equations (see Sun, 1999; Wilmott, 1998) although there is evidence to

show that it is inferior to splitting methods, especially when cross-derivatives (correlation terms) must

be modelled. Furthermore, great leaps of faith have been taken by some authors who think that

numerical recipes that work well for the two-dimensional heat equation can be applied with the same

success to convection–diffusion equations in two and three dimensions. Unfortunately, there is

evidence to show that ADI performs badly for convection-dominated systems. We shall discuss this

particular topic in the next chapter.

In this chapter we introduce the ADI and splitting methods for the two-dimensional heat equation and

shall also pay a fleeting visit to approximating three-dimensional equations using these methods.

However, these are the easiest cases and we must also extend our knowledge to include answers for

the following problems:

Approximating cross-derivatives in the multi-factor Black–Scholes equation

How to handle boundary conditions and determine how their approximation affects accuracy of the

scheme

Approximating multidimensional convection–diffusion problems

Dealing with convection-dominated problems

Developing algorithms that we map to C++ code.

In particular, we shall address these issues in the next chapter. We concentrate solely on splitting

methods in that chapter for the following reasons: I find them more appealing than ADI methods, they

tend to perform better, and it would seem that ‘pure ADI’ has gone out of fashion.

 < Day Day Up > 

Page 6: Chapter 20: An Introduction to ADI and Splitting Schemesscrepey.free.fr/doc/Financial.Instrument.Pricing.Using.C++Chap20... · €€ 20.2A MODEL PROBLEM In

 < Day Day Up > 

20.4BASIC ADI SCHEME FOR THE HEAT EQUATION

We shall now introduce the basic ADI scheme for the two-dimensional heat equation, and for the

moment shall neglect boundary and initial conditions. The basic idea behind ADI is to replace a two-

dimensional scheme such as (20.10) (which is implicit in the x and y directions) by two simpler

equations, each of which is implicit in one direction only. To this end, we devise what is in fact a kind of

predictor–corrector scheme (as discussed in Chapter 11) as follows:

(20.12a) 

(20.12b) 

Here we see the introduction of an intermediate value in equation (20.12a). This equation is implicit in x

and explicit in y and hence can be solved by LU decomposition or the Double Sweep method that we

examined in Chapter 8. Having found the intermediate value we then calculate the value of the

approximate solution at time level n + 1using equation (20.12b). This equation is implicit in y and

explicit in x and again can be solved using LU decomposition or the Double Sweep method.

It can be shown that the scheme (20.12) is unconditionally stable. Thus there are no restrictions on the

mesh size k. The scheme (20.12) is sometimes called the Peaceman–Rachford scheme.

20.4.1Three-dimensional heat equation

Let us try to extend the Peaceman–Rachford scheme to three dimensions as follows:

(20.13) 

(notice that we have suppressed the space indices in (20.13) for readability reasons). A lengthy stability

analysis (see Peaceman, 1977) should be that scheme (20.13) is stable if

(20.14) 

Thus, the three-dimensional version of the Peaceman–Rachford method is not unconditionally stable.

The first unconditionally stable ADI method for three dimensions was developed by J. Douglas Jr. and

H. Rachford and is given by

(20.15) 

Page 7: Chapter 20: An Introduction to ADI and Splitting Schemesscrepey.free.fr/doc/Financial.Instrument.Pricing.Using.C++Chap20... · €€ 20.2A MODEL PROBLEM In

 < Day Day Up > 

Page 8: Chapter 20: An Introduction to ADI and Splitting Schemesscrepey.free.fr/doc/Financial.Instrument.Pricing.Using.C++Chap20... · €€ 20.2A MODEL PROBLEM In

 < Day Day Up > 

20.5BASIC SPLITTING SCHEME FOR THE HEAT EQUATION

Splitting schemes are more ruthless than ADI schemes in the sense that they reduce a partial

differential equation to a series of one-dimensional equations. Each of the latter equations is then

approximated by a suitable one-dimensional finite difference scheme. We can choose between explicit

and implicit schemes, whereas ADI uses an implicit scheme only. For the two-dimensional heat

equation, for example, we define the splitting scheme by solving two legs in one specific direction. In

the case of the explicit splitting scheme we get

(20.16) 

We assume that the mesh size in both x and y directions is a constant h. Then (20.16) is stable under

the condition

(20.17) 

(for a proof, see Godunov and Riabenki, 1987). A schematic representation of the above scheme is

shown in Figure 20.1 where the explicit nature of the scheme can be clearly seen. The implicit splitting

scheme for the two-dimensional heat equation is given by

(20.18) 

Page 9: Chapter 20: An Introduction to ADI and Splitting Schemesscrepey.free.fr/doc/Financial.Instrument.Pricing.Using.C++Chap20... · €€ 20.2A MODEL PROBLEM In

Figure 20.1: Mesh for explicit scheme

and its graphical representation is shown in Figure 20.2.

Page 10: Chapter 20: An Introduction to ADI and Splitting Schemesscrepey.free.fr/doc/Financial.Instrument.Pricing.Using.C++Chap20... · €€ 20.2A MODEL PROBLEM In

Figure 20.2: Mesh for implicit scheme

20.5.1Three-dimensional heat equation

Analysis of the stability of ADI methods shows that approximation with an explicit operator reduces the

stability of the scheme. This suggests using an implicit operator at each leg or fractional step (Yanenko,

1971). In order to improve the accuracy of this scheme Yanenko proposes using the weighted scheme

(20.19) 

For example, in the case = 1/2, the scheme (20.19) has second-order accuracy in both space and

time.

 < Day Day Up > 

Page 11: Chapter 20: An Introduction to ADI and Splitting Schemesscrepey.free.fr/doc/Financial.Instrument.Pricing.Using.C++Chap20... · €€ 20.2A MODEL PROBLEM In

 < Day Day Up > 

20.6APPROXIMATING CROSS-DERIVATIVES

In many financial engineering applications we must model cross-derivative terms, for example with

various kinds of PDEs for bonds and interest-rate models. To this end, we devise good schemes for

handling these terms. The mathematical financial literature is a bit fuzzy on this topic. Let us take the

following example:

(20.20) 

Again, Yanenko states that the ADI method is not applicable to solving (20.20) because its application

does not lead to a simple three-point scheme (in fact we get a nine-point scheme). Instead, the

following splitting scheme is proposed

(20.21) 

We conclude our discussion of splitting methods by introducing a predictor–corrector method (compare

withChapter 11) for the three-dimensional heat equation. It consists of four equations, the first three of

which are predictors in the x,y and z directions while the last equation is a corrector based on the ‘full’

discrete operator:

(20.22) 

Thus, the predictor is based on a splitting scheme.

 < Day Day Up > 

Page 12: Chapter 20: An Introduction to ADI and Splitting Schemesscrepey.free.fr/doc/Financial.Instrument.Pricing.Using.C++Chap20... · €€ 20.2A MODEL PROBLEM In

 < Day Day Up > 

20.7HANDLING BOUNDARY CONDITIONS

Of course, when solving initial boundary value problems for the heat equation (and for any parabolic

equation for that matter) we must model the bounded or unbounded region in which the equation is to

be valid. In particular, we must describe the conditions on the solution at the boundary of the region.

There are five main issues that we must address:

The shape or geometry of the region

The kinds of boundary conditions (Dirichlet, Neumann, Robins, linearity)

How to approximate the boundary conditions

How to incorporate the boundary conditions into the ADI or splitting equations

Ensuring that boundary approximation does not adversely affect the stability and accuracy of the

difference approximation.

We now give a brief discussion of each of these topics and focus on creating the algorithm for the two-

dimensional heat equation in a rectangular region with Dirichlet boundary conditions. In general, it

would seem that ADI and splitting methods are better suited to rectangular regions rather than non-

rectangular regions because it is more difficult to approximate function values and their derivatives on

curved boundaries than on horizontal or vertical boundaries.

In this chapter we concentrate on Dirichlet boundary conditions for the two-dimensional heat equation,

how to approximate such conditions and to incorporate them into ADI and splitting schemes. A good

discussion of these and other issues can be found in Thomas (1998). In particular, Thomas discusses

how to define first-order and second-order approximations to the derivative of the exact solution on the

boundary of the region of interest.

We now discuss the case of Dirichlet boundary conditions. To this end, we consider the model problem

on a unit square:

1.

2.

3.

We rewrite the ADI equations (20.12a) and (20.12b) for the two-dimensional heat equation by grouping

known terms on the right-hand side of the equations and unknown terms on the left-hand side:

(20.23a) 

(20.23b) 

In general, there is not much difficulty involved if we wish to calculate the boundary values of the

approximate solution at times n and n + 1. The real challenge is to determine suitable boundary

conditions for the intermediate value in equations (20.23). To this end, we add the left-hand side of

equation (20.23a) to the right-hand side of equation (20.23b) and vice versa. This give us a formula for

the intermediate solution in terms of the solution at time levels n and n + 1:

(20.24) 

Page 13: Chapter 20: An Introduction to ADI and Splitting Schemesscrepey.free.fr/doc/Financial.Instrument.Pricing.Using.C++Chap20... · €€ 20.2A MODEL PROBLEM In

This formula allows us to find the appropriate boundary values. For example, in the x direction these

will be:

(20.25) 

Of course, we can find the corresponding boundary conditions in the y direction by plugging in special

index values of j in equation (20.24).

Equation (20.25) is a second-order (in time) accurate approximation to the boundary condition. An

alternative solution is to use the (again) second-order approximation

(20.26) 

Thus, you may choose between (20.25) and (20.26) as each gives second-order accuracy. See

Thomas (1998) for a justification.

 < Day Day Up > 

Page 14: Chapter 20: An Introduction to ADI and Splitting Schemesscrepey.free.fr/doc/Financial.Instrument.Pricing.Using.C++Chap20... · €€ 20.2A MODEL PROBLEM In

 < Day Day Up > 

20.8ALGORITHMS AND DESIGN ISSUES

We now discuss how to solve ADI systems. First, we set up the system of equations, then we describe

the solution using some kind of pseudo-code and, finally, we map this pseudo-code to C++. Since ADI

is essentially a method for solving an n-dimensional problem as a series of (simpler) one-dimensional

problems we would hope that many of our classes and results from previous chapters can also be used

in this chapter. This hope is realistic. In particular, we shall be able to reuse the following artefacts:

Data structures for vectors and numeric matrices (template classes Vector and

NumericMatrix). Furthermore, we will need structures for tridiagonal matrices.

Code that generates meshes in one and two dimensions.

Mechanisms that implement divided difference schemes in one and two directions. For example,

we wish to implement divided differences for first and second derivatives in the x and y directions.

Algorithms, schemes and code that solve linear systems of equations, in particular LU

decomposition and Double Sweep method (see Chapter 8) in conjunction with tridiagonal matrices.

Using the above artefacts improves the quality of our code for ADI in a number of ways. First, this

approach improves reliability because we are using code that has already been written, reviewed and

tested, albeit in a possibly simpler context. It is hoped that the same code can be used as is in the

present context. Second, this approach improves the understandability of the code because we are

using the code as façcades or black boxes; you do not need to know about the internals of the code

because you just need to use the appropriate interfaces. Finally, the resulting code is maintainable.

This means that you can change and modify the source code to suit new wants and needs. For

example, the C++ code that implements ADI and splitting schemes can be extended to include models

for convection–diffusion equations in general and multi-factor Black–Scholes equations in particular. It

may even be possible to extend the two-dimensional schemes and corresponding code to three

dimensions.

Let’s get down to business. We develop the algorithms that describe the ADI scheme (20.12) or its

equivalent representation (20.23). We discuss the algorithm that gets us from the solution U at time

leveln to the solution U at level n + 1. We first describe the algorithm in general terms. Once we have

done that we then describe the algorithm in more detail so that the cognitive distance between this

level of detail and C++ is not too great.

The first cut algorithm for solving (20.23) is described by a series of activities:

A1: Calculate the right-hand side (RHS) of equation (20.23a)

A2: Create the stencil (system of equations) for (20.23a)

A3: Solve system of equations (by LU decomposition, for example)

A4: Calculate the right-hand side (RHS) of equation (20.23b)

A5: Create the stencil (system of equations) for (20.23b)

A6: Solve system of equations (by LU decomposition, for example)

This approach is based on the algorithms in Thomas (1998). Each of the above activities has input I

and output O. It is useful to motivate the information flow by an activity diagram in UML. We develop a

somewhat more top-down approach in the first instance in order to scope the problem. To this end, the

major input and output from the top-level activity corresponding to equations (20.23) is given in Figure

20.3. We decompose the main activity into two sub-activities, each one corresponding to a

‘leg’(whether it be x or y) in the ADI scheme (20.23). This is shown in Figure 20.4. We now can

subsume the activities A1 to A6 above under each leg: Leg 1 consists of activities A1, A2 and A3 while

Leg 2 consists of activities A4, A5 and A6.

Page 15: Chapter 20: An Introduction to ADI and Splitting Schemesscrepey.free.fr/doc/Financial.Instrument.Pricing.Using.C++Chap20... · €€ 20.2A MODEL PROBLEM In

Figure 20.3: ADI main activity

Figure 20.4: Activity decomposition x and y legs

There is a lot of commonality between the eventual code that implements Legs 1 and 2. In fact they

share the following common steps:

Calculate a RHS vector (A1 and A4)

Create a tridiagonal matrix (A2 and A5)

Solve the tridiagonal system (A3 and A6).

The steps for these algorithms are given in detail in Thomas (1998) in the form of pseudo-code. In our

code we can give C++ as an alternative to this pseudo-code.

 < Day Day Up > 

Page 16: Chapter 20: An Introduction to ADI and Splitting Schemesscrepey.free.fr/doc/Financial.Instrument.Pricing.Using.C++Chap20... · €€ 20.2A MODEL PROBLEM In

 < Day Day Up > 

20.9CONCLUSIONS AND SUMMARY

We have given an introduction to Alternating Direction Implicit (ADI) and splitting methods that are used

in engineering and science to solve multidimensional partial differential equations. These methods are

based on the assumption that a multidimensional problem can be broken down into a series of one-

dimensional problems. We then solve each sub-problem using the techniques for one-factor equations,

already discussed in earlier chapters of this book.

We have included this chapter for a number of reasons. First, there is growing interest in ADI as can be

seen in the financial literature, and it is probably a good idea to present the essence of the method for a

simple but important model problem, namely the two-dimensional heat equation. Second, ADI is a bit

overhyped and in some cases it is better to use splitting methods. There is some evidence to show that

splitting methods give better results than ADI for two-factor Black–Scholes equations. Third, ADI and

splitting methods are easy to understand and to implement and they are preferable to direct methods

(as discussed in Tavella and Randall, 2000) in this respect. Thus, these methods are easier to

understand for a reader with a non-numerical analysis background. Finally, once you have understood

how ADI and splitting methods work for diffusion problems it is relatively easy to move to more complex

problem such as multidimensional convection–diffusion PDE and multi-factor Black–Scholes equations.

This is the content of the next chapter.

 < Day Day Up > 

Page 17: Chapter 20: An Introduction to ADI and Splitting Schemesscrepey.free.fr/doc/Financial.Instrument.Pricing.Using.C++Chap20... · €€ 20.2A MODEL PROBLEM In

 < Day Day Up > 

Chapter 21: Numerical Approximation of Two-

Factor Derivative Models

21.1INTRODUCTION AND OBJECTIVES

In this chapter we discuss how to approximate two-factor derivative models using finite difference

schemes. We focus on ADI and splitting methods because they are easy to implement and build on the

methods that we developed in Chapter 20. Furthermore, they are easier to understand than directly

discretising space and time variables simultaneously (for an introduction to this approach, see

Peaceman, 1977, and Tavella and Randall, 2000, for example).

The general two-dimensional Black–Scholes equation is given by

(21.1) 

Here we see that there are three main operators, namely two convection–diffusion operators and a

cross-term. These correspond to single-factor models and coupling, respectively. There are many

special cases of (21.1) in the numerical analysis and financial literature and we give an introduction to

some of these cases and how they are approximated using finite difference schemes. There is a vast

literature on this subject (dating from the 1950s) and, in particular, the ADI method is also making

inroads in the financial literature. The main issue is how to split a two-dimensional problem into simpler

problems, proving that the scheme is stable (or not), avoiding spurious oscillation and proving that the

schemes are (reasonably) accurate. We do not pretend to have all the answers but we do give some

guidelines and results based on a number of successful models for two-factor problems.

 < Day Day Up > 

Page 18: Chapter 20: An Introduction to ADI and Splitting Schemesscrepey.free.fr/doc/Financial.Instrument.Pricing.Using.C++Chap20... · €€ 20.2A MODEL PROBLEM In

 < Day Day Up > 

21.2TWO-FACTOR MODELS IN FINANCIAL ENGINEERING

We now give some interesting examples of problems in financial engineering that can be approximated

by parabolic partial differential equations in two ‘space’ variables. These variables will have a specific

meaning depending on the context. For example, options based on the maximum or minimum of two

stocks have the space variables based on the variation of the two stocks.

21.2.1Asian options

An Asian option is a contract that gives the holder the right to buy the underlying asset for an average

price over some prescribed interval. This kind of option is popular in the currency and commodity

markets and there are two ways of averaging the value:

Arithmetic averaging

Geometric averaging

If the underlying asset is assumed to be lognormally distributed then the geometric average of the

asset will also be lognormally distributed. Arithmetic averaging takes the arithmetic average of the

underlying asset.

We must also determine when this sampling takes place:

Discretely averaged samples

Continuously averaged samples.

The formulae for the averaging scenarios are shown in equations (21.2) and (21.3) and are well

documented in the literature (Haug, 1998; Wilmott et al ., 1993).

Arithmetic averaging

(21.2) 

Geometric averaging

(21.3) 

The corresponding PDEs are given in equations (21.4) and (21.5):

(21.4) 

Asian option (Arithmetic averaging)

Page 19: Chapter 20: An Introduction to ADI and Splitting Schemesscrepey.free.fr/doc/Financial.Instrument.Pricing.Using.C++Chap20... · €€ 20.2A MODEL PROBLEM In

(21.5) 

We note that these equations are convection–diffusion in the S variable (thus, of parabolic type) while

in the I direction it is essentially a first-order hyperbolic equation:

(21.6) 

and since we only have a derivative of, at most, order one in the I direction we can only accommodate

one boundary condition. Furthermore, centred difference schemes are not suitable (they are weakly

stable) and we must resort to one-sided (upwinded) schemes (Peaceman, 1977; Duffy, 1977) that take

the so-called characteristic direction of the first-order equations into account.

21.2.2Convertible bonds with random interest rates

A convertible bond is like a normal bond except that it may be exchanged for an asset. The exchange

is called conversion . The corresponding PDE is:

(21.7) 

This equation is based on the stochastic differential equations (SDEs) that describe the evolution of the

asset and random interest rate:

(21.8) 

Here, dX1 is a normally distributed random variable with mean 0 and variance dt. The drift µ and

volatilitys depend on both the asset price S and time t. For the SDE describing the interest rate, dX 2 is

a normally distributed random variable with mean 0 and variance dt.

We note that the convertible bond has an underlying asset of either European or American type. In the

latter case we note the existence of a free boundary that depends on both the interest rate r and time t

(see Sun, 1999).

Note the presence of the cross-derivative term in equation (21.7) in which the correlation of the random

variables in S and r is given by:

(21.9) 

InChapter 20 we discussed a number of finite difference discretisations for approximating this cross-

term.

21.2.3Options with two underlying assets

A general PDE that describes a derivative quantity that depends on two underlying assets is given by:

Page 20: Chapter 20: An Introduction to ADI and Splitting Schemesscrepey.free.fr/doc/Financial.Instrument.Pricing.Using.C++Chap20... · €€ 20.2A MODEL PROBLEM In

(21.10) 

(Topper, 1998). The PDE is played out in a general two-dimensional region D having boundary R. On

one part of the boundary we can specify Dirichlet boundary conditions while on its complement we

specify Neumann boundary conditions. We must also specify terminal conditions:

(21.11) 

When the region D is rectangular we can apply finite differences to approximate the space variable, but

if it has a more general form we may need to resort to finite element methods (Strang and Fix, 1973;

Topper, 1998). In particular, approximating the derivatives of the option variable on curved boundaries

is a challenge if we use finite differences.

21.2.4Basket options

It is known that there is no known analytical solution to options on baskets and we must thus resort to

numerical approximations. A common simplifying technique is to combine the volatilities of the

underlying assets and their correlations into a single volatility of the basket. The basket is then treated

as a single underlying. In this section we pose the problems as a PDE:

(21.12) 

in a bounded domain D, as shown in Figure 21.1.

Figure 21.1: Region of integration

The corresponding terminal and boundary conditions are given by:

Page 21: Chapter 20: An Introduction to ADI and Splitting Schemesscrepey.free.fr/doc/Financial.Instrument.Pricing.Using.C++Chap20... · €€ 20.2A MODEL PROBLEM In

(21.13) 

(Topper, 1998) where w is a weight corresponding to each of the underlyings.

21.2.5Fixed-income applications

This section is a short introduction to a two-factor model that links instrument-specific cash flows and

random prices to the observed term structure of interest rates. As with convertible bonds we assume

the following SDEs:

(21.14) 

wherev is a special variable. If we apply Ito’s lemma we get the following PDE:

(21.15) 

whereP is the price that we wish to calculate. In general, r, and the µ’s depend on both r and v

(Levin, 2000).

 < Day Day Up > 

Page 22: Chapter 20: An Introduction to ADI and Splitting Schemesscrepey.free.fr/doc/Financial.Instrument.Pricing.Using.C++Chap20... · €€ 20.2A MODEL PROBLEM In

 < Day Day Up > 

21.3FINITE DIFFERENCE APPROXIMATIONS

The two main competing finite difference schemes are ADI and splitting. ADI seems to be more popular

than splitting methods in the financial literature, and there are historical reasons for this state of affairs,

the main one being that splitting methods originated in the former Soviet Union and many of the original

articles may have been difficult to access by western researchers in the past. However, there is

anecdotal evidence to show that splitting methods give better results than ADI for two-dimensional

convection–diffusion problems (Levin, 2000).

We have various choices when approximating a two-factor model:

ADI with standard centred differencing1.

Splitting with standard centred differencing2.

ADI with exponential fitting3.

Splitting with exponential fitting.4.

We stress that we are still developing the above kinds of schemes and these will be dealt with in more

detail in Duffy (2004b).

 < Day Day Up > 

Page 23: Chapter 20: An Introduction to ADI and Splitting Schemesscrepey.free.fr/doc/Financial.Instrument.Pricing.Using.C++Chap20... · €€ 20.2A MODEL PROBLEM In

 < Day Day Up > 

21.4ADI SCHEMES FOR ASIAN OPTIONS

We rewrite the PDE for an Asian option (21.4) and (21.5) in the slightly more general form:

(21.16) 

We apply the ADI by discretising (21.16) in two steps. We first proceed from time level n to n + 1/2 by

using the implicit exponentially fitted scheme (see Chapter 18) in S and centred differencing in the I

direction:

(21.17) 

wherek,h and m are the mesh sizes in the time, and S and I are variables. This equation can also be

written in the form

(21.18) 

which we can solve, for example, by the use of LU decomposition or by the Double Sweep method (see

Chapter 8).

The next step is to obtain the solution at level n + 1 in terms of the solution at level n + 1/2 by using

explicit fitting (see Chapter 18) and the implicit method in the I direction:

(21.19) 

Again, we can write (21.19) as a tridiagonal system:

(21.20) 

21.4.1Upwinding

In equations (21.17) and (21.19) we have approximated the first-order derivative with respect to the

independent variable I by using centred differences. A better approach is to use a one-sided scheme

depending on the sign of the coefficient a appearing in equation (21.16). The correct schemes are:

(21.21) 

Page 24: Chapter 20: An Introduction to ADI and Splitting Schemesscrepey.free.fr/doc/Financial.Instrument.Pricing.Using.C++Chap20... · €€ 20.2A MODEL PROBLEM In

Of course, we must augment this problem with Dirichlet boundary conditions.

 < Day Day Up > 

Page 25: Chapter 20: An Introduction to ADI and Splitting Schemesscrepey.free.fr/doc/Financial.Instrument.Pricing.Using.C++Chap20... · €€ 20.2A MODEL PROBLEM In

 < Day Day Up > 

21.5SPLITTING SCHEMES

Let us consider the general two-dimensional equation:

(21.22) 

whereL is an operator of the form in equation (21.1) and D is some two-dimensional bounded region in

which the equation is defined. The function f is a non-homogeneous term defined on D × (0, T). Let us

assume that we have finite difference approximations to the components of the operator L. Then our

first splitting method (with f = 0) is given by the following sequence of Crank–Nicolson schemes (written

in vector form):

(21.23) 

This set of equations can be solved by iterated LU decompositions, as discussed in Chapter 20 and

Thomas (1998).

The finite difference schemes defined by the discrete operators in system (21.23) can take various

forms depending on the peculiarities of the continuous problem:

Use exponential fitting for convection-dominated flow

Upwinding for first-order hyperbolic operators

Traditional finite difference methods (for example, centred differencing).

This represents work in progress. A full discussion is provided in Duffy (2004b).

 < Day Day Up > 

Page 26: Chapter 20: An Introduction to ADI and Splitting Schemesscrepey.free.fr/doc/Financial.Instrument.Pricing.Using.C++Chap20... · €€ 20.2A MODEL PROBLEM In

 < Day Day Up > 

21.6CONCLUSIONS AND SUMMARY

We have given a discussion of how to apply ADI and splitting methods to several two-factor derivatives

models. In general, these approximate methods replace a two-dimensional problem into a sequence of

simpler one-dimensional problems that we solve using tridiagonal solvers at each time level. Of course,

we have to incorporate boundary conditions into the finite difference schemes.

We summarise the strengths and weaknesses of the finite difference method. First, the strengths:

Easy to map a PDE to a FDM scheme (use divided difference)

Stability and convergence properties known

Can be applied to a wide range of one-factor and two-factor problems

Simpler than FEM or finite volume (less mathematical sophistication required)

Is far superior to the binomial method.

The difficulties are:

Difficult with non-rectangular domains

Does not scale well to more than three factors

Conventional schemes can show spurious oscillations (in fairness, the same holds for FEM)

Lots of tricks to be learned; it is as much an art form as a science.

 < Day Day Up > 


Recommended