Next Article in Journal
Extensions of Riordan Arrays and Their Applications
Previous Article in Journal
New Approach for Quality Function Deployment Based on Linguistic Distribution Assessments and CRITIC Method
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

An Analytically Modified Finite Difference Scheme for Pricing Discretely Monitored Options

1
Department of Mathematics, Statistics and Insurance, The Hang Seng University of Hong Kong, Hang Shin Link, Siu Lek Yuen, Shatin, N.T., Hong Kong
2
China Merchants Bank, 7088 Shennan Boulevard, Shenzhen 518040, China
*
Author to whom correspondence should be addressed.
Mathematics 2025, 13(2), 241; https://doi.org/10.3390/math13020241
Submission received: 23 November 2024 / Revised: 26 December 2024 / Accepted: 10 January 2025 / Published: 13 January 2025
(This article belongs to the Section E5: Financial Mathematics)

Abstract

:
Finite difference methods are commonly used in the pricing of discretely monitored exotic options in the Black–Scholes framework, but they tend to converge slowly due to discontinuities contained in terminal conditions. We present an effective analytical modification to existing finite difference methods that greatly enhances their performance on discretely monitored options with non-smooth terminal conditions. We apply this modification to the popular Crank–Nicolson method and obtain highly accurate option pricing results with significantly reduced CPU cost. We also introduce an adaptive mesh refinement technique that further improves the computational speed of the modified finite difference method. The proposed method is especially useful for options with high monitoring frequencies, which are difficult to price using other existing methods.

1. Introduction

Discretely monitored exotic options, including barrier options and autocallable structured products, are commonly traded throughout the world. Unlike continuously monitored barrier options, discrete barrier options cannot be priced using analytical formulas. Instead, these options are priced using numerical techniques such as Monte Carlo simulations, finite difference methods, quadrature methods [1,2], and several other sophisticated mathematical techniques (e.g., [3,4,5,6,7]). Discrete barrier options can also be priced approximately using continuity correction techniques [8,9], but the accuracy of these methods is often quite limited.
To price options with low to moderate monitoring frequencies (e.g., monthly), quadrature methods can be quite effective [2]. However, these methods are not suitable for pricing options with high monitoring frequencies (e.g., daily), since they involve computations of convolution integrals at all monitoring points (or barriers), which can be very expensive when monitoring frequencies become large. Monte Carlo simulations suffer from the same limitation, where significantly more random numbers need to be generated along a rapidly increasing number of paths as monitoring frequencies increase. Finite difference methods, in contrast, are not subject to such limitations, as long as monitoring points are placed on the computational grid, but they tend to converge slowly due to discontinuities contained in terminal conditions. The performance of finite difference methods can be improved using advanced numerical techniques such as adaptive mesh models [10], Rannacher time-stepping [11,12], and the TR-BDF2 method [13], but these methods either are formulated in a different setting (e.g., for tree-based pricing models [10]), or suffer from relatively low accuracies due to the incorporation of low-order approximations near terminal/boundary points (e.g., [11,12]).
We present an analytical modification to finite difference methods in the Black–Scholes framework to remove any discontinuities contained in the terminal conditions, which greatly improves the accuracy and efficiency of these methods. We will apply the modification to the popular Crank–Nicolson method, and introduce an effective adaptive mesh refinement technique to further improve the computational speed of the modified method. The modified finite difference method is valuable in practice thanks to its high accuracy and ease of implementation. It also complements our previous quadrature method [2] since its performance is unaffected by higher monitoring frequencies.

1.1. Brief Review of Products Considered

The modified finite difference method is applicable to various types of discretely monitored options, including discrete barrier options, autocallable structured products, and snowball options.
Barrier options are among the most popular types of exotic options. A barrier option may be activated (knock-in option) or deactivated (knock-out option) when the underlying asset price crosses certain barrier levels. A single-barrier option has one barrier at each observation date, while a double-barrier option has two barriers at each observation date. The final payoff of a barrier option (if it is active at maturity) may be of the same type as that of a vanilla option or that of a digital option.
For an autocallable product, there is a pre-specified barrier level at each observation date. If the underlying asset price is greater (less) than or equal to the barrier level, the option is exercised and a pre-specified fixed-rate return is paid. If the asset price is below (above) the barriers at all observation dates, the option is never exercised and the investor receives a negative return at maturity.
A snowball option has an up-and-out barrier and a down-and-in barrier, and the down-and-in barrier is usually monitored daily. If the asset price reaches the up-and-out barrier, the option is exercised and a pre-specified fixed-rate return is paid. If the option expires without any barrier being reached, the investor receives a fixed coupon payment. If the up-and-out barrier is never reached but the down-and-in barrier is reached sometime before maturity, the investor automatically writes a vanilla put and may receive a negative return.

1.2. Organization of the Paper

The rest of the paper is organized as follows. Section 2.1 defines the class of (discrete) option pricing problems that our method is intended to solve, and the rest of Section 2 details the various ingredients of our method, including, specifically, the analytical modification (Section 2.3) we introduce for standard finite difference methods (Section 2.2) in the context of discrete option pricing, and an adaptive mesh refinement technique for the analytically modified finite difference methods (Section 2.4). The efficacy and efficiency of our method is then demonstrated through extensive numerical studies in Section 3, and the paper is concluded in Section 4.

2. Materials and Methods

2.1. Basic Assumptions

We consider a general class of discretely monitored options with barriers. Note that an option with knock-in barriers is equivalent to the difference of an option without those knock-in barriers and another option with knock-out barriers at the same dates and same levels. Therefore, it suffices to consider options with only knock-out barriers. To this end, assume that
(A)
The option to be priced has two strike prices  K m , K m + [ 0 , ] , with  K m K m + , at each observation date  T m , m = 1 , 2 , , M . The expiration date is  T M .
(B)
The option is exercised if  S K m or  S K m + at some  T m , and the payoffs are given by  a m S + b m (if  S K m ) and  a m + S + b m + (if  S K m + ), respectively, for some  a m ± , b m ± R .
(C)
The final payoff at maturity is
a M S + b M , for K M < S < K M + ,
for some  a M , b M R .
These assumptions are general enough to cover a wide class of discretely monitored options, such as the ones mentioned in the introduction. For instance, down-and-out put barrier options would have
1 m M 1 : K m + = , 0 < K m < , a m = 0 , b m = 0 ; m = M : K M = 0 , 0 < K M + < , a M = 1 , b M = K M + , a M + = b M + = 0 .
Double-barrier knock-out call options would have
1 m M 1 : 0 < K m ± < , a m ± = 0 , b m ± = 0 ; m = M : K M + = , 0 < K M < , a M = 1 , b M = K M , a M = b M = 0 .
Common up-and-out autocallable products would have
1 m M : 0 < K m + < , K m = 0 , a m + = 0 , b m + > 0 ; m = M : a M = 0 , b M < 0 .
We further assume that the price of the underlying asset  S ( t ) satisfies the following stochastic differential equation under the risk-neutral measure:
d S ( t ) = r ( t ) q ( t ) S ( t ) d t + σ ( t ) S ( t ) d W ( t ) ,
where  r ( t ) is the risk-free forward interest rate,  q ( t ) the yield rate,  σ ( t ) the volatility, and  W ( t ) the Wiener process. Interest rates, yield rates, and volatilities are assumed to be deterministic functions of time.
To summarize, our basic assumptions are as follows:
  • There are finitely many observation points, and two exercise levels (possibly ) at each observation point. If S is above the upper exercise level or below the lower exercise level at any observation point, the option is exercised and the payoff is a linear function in S.
  • At maturity, if S is between the two exercise levels, a payoff is incurred which is also a linear function in S.
  • The underlying asset price S follows a geometric Brownian motion with possibly time-dependent interest rates, yield rates, and volatilities.
Given the above assumptions, we shall begin the description of our method with a brief review of the finite difference methods commonly used in the pricing of discretely monitored options.

2.2. Finite Difference Methods

Suppose we wish to find an option’s value at some  T 0 < T M and the spot price of the underlying asset is  S 0 . Let  V ( t , S ) denote the value of the option (as a function of the asset price S) at any time  t T 0 . Since S follows a geometric Brownian motion, the option’s value  V ( t , S ) satisfies the Black–Scholes PDE
V t ( t , S ) + r ( t ) q ( t ) S V S ( t , S ) + σ 2 ( t ) 2 S 2 2 V S 2 ( t , S ) = r ( t ) V ( t , S ) ,
for  T 0 t T M , with the terminal condition
V ( T M , S ) = a M S + b M , K M < S < K M + a M S + b M , S K M a M + S + b M + , S K M + ,
and boundary conditions
V ( T m , S ) = a m S + b m , S K m a m + S + b m + , S K m + , 1 m M 1 ,
determined by Assumptions (B)–(C) from Section 2.1.
For convenience, we introduce the change of variable  Z = ln S to transform Equation (2a) into a simpler form:
V t ( t , e Z ) = L V ( t , e Z ) ,
where the differential operator  L is defined as
L : = σ 2 ( t ) 2 2 Z 2 ρ ( t ) Z + r ( t ) , with ρ ( t ) : = r ( t ) q ( t ) σ 2 ( t ) 2 .
It is not convenient to solve the PDE (3a) directly due to the discrete boundary conditions (2c). Instead, for each  1 m M , we consider the PDE
Y m t ( t , Z ) = L Y m ( t , Z ) , T m 1 t T m ,
supplemented with the terminal condition
Y m ( T m , Z ) = V ( T m , e Z ) .
Since the terminal value problem (4) has a unique solution for each m (see Remark 1), we have
V ( t , e Z ) = Y m ( t , Z ) , T m 1 < t T m ,
and by (2c),
V ( T m 1 , e Z ) = Y m ( T m 1 , Z ) , ln ( K m 1 ) < Z < ln ( K m 1 + ) a m 1 e Z + b m 1 , Z ln ( K m 1 ) a m 1 + e Z + b m 1 + , Z ln ( K m 1 + ) , 1 m M .
The terminal value problems (4) are solved successively for  m = M , M 1 , , 1 . Note that for  m = M , the terminal condition  Y M ( T M , Z ) = V ( T M , e Z ) is known by (2b). Now, for each  1 m M , assume the terminal condition  Y m ( T m , Z ) is known. The PDE (4a) is solved backward in t to yield  Y m ( T m 1 , Z ) . Then, we obtain  V ( T m 1 , e Z ) by (5), which by (4b) is equal to  Y m 1 ( T m 1 , Z ) , the terminal condition of the PDE (4a) for  m 1 . This process can then be repeated until we finally obtain  V ( T 0 , e Z ) , from which the option’s value  V ( T 0 , S 0 ) can be easily deduced.
Remark 1.
The terminal value problem (4) actually admits the following explicit solution formula (expressed in terms of  V ( t , S ) ) for  T m 1 < t < T m [14]:
V ( t , S ) = e r m τ m σ m 2 π τ m 0 1 y V ( T m , y ) ρ m ( ln ( y / S ) ) d y , with ρ m ( ξ ) = exp 1 2 σ m 2 τ m ξ r m q m 1 2 σ m 2 τ m 2 ,
where  τ m = T m t and
r m = t T m r ( s ) τ m d s , q m = t T m q ( s ) τ m d s , σ m 2 = t T m σ 2 ( s ) τ m d s .
It can be shown that this is the only solution to (4) that grows “not too fast” at  S = 0 and  S = (i.e., within the class of tempered distributions) [15] (Section 7.1).
Now, we give a brief review of the standard procedure of solving (4) numerically on a uniform grid using finite difference methods. Let  t 0 , t 1 , , t N denote the grid points in time, and  Z 0 , Z 1 , , Z 2 P the grid points in space where  Z P = ln ( S 0 ) . Denote
Y l , j m = Y m ( t l , Z j ) , r l = r ( t l ) , ρ l = ρ ( t l ) , σ l = σ ( t l ) , k = t N t 0 N , h = Z 2 P Z 0 2 P , λ = k h , μ = k h 2 .
In practice, barriers are observed at the end of a business day, so it is convenient to find a uniform t-grid such that every monitoring point lies on the grid—i.e., for every  1 m M , there exists an  l m such that  t l m = T m . The PDE (4a) can be discretized using the backward-time centered-space (BTCS), forward-time centered-space (FTCS), or Crank–Nicolson (C-N) finite difference method.
The BTCS (or explicit Euler) method consists of the recurrence equations
Y l , j m Y l 1 , j m + 1 2 λ ρ l ( Y l , j + 1 m Y l , j 1 m ) + 1 2 μ σ l 2 ( Y l , j + 1 m 2 Y l , j m + Y l , j 1 m ) = k r l Y l , j m ,
and is explicit (recall that we are solving (4a) backward in time). The FTCS (or implicit Euler) method, on the other hand, consists of the recurrence equations
Y l , j m Y l 1 , j m + 1 2 λ ρ l 1 ( Y l 1 , j + 1 m Y l 1 , j 1 m ) + 1 2 μ σ l 1 2 ( Y l 1 , j + 1 m 2 Y l 1 , j m + Y l 1 , j 1 m ) = k r l 1 Y l 1 , j m ,
and is implicit. The C-N method is a combination of the BTCS and FTCS methods and can be written as
( 1 4 μ σ l 1 2 1 4 λ ρ l 1 ) Y l 1 , j 1 m + ( 1 1 2 μ σ l 1 2 1 2 k r l 1 ) Y l 1 , j m + ( 1 4 μ σ l 1 2 + 1 4 λ ρ l 1 ) Y l 1 , j + 1 m = ( 1 4 μ σ l 2 1 4 λ ρ l ) Y l , j 1 m + ( 1 + 1 2 μ σ l 2 + 1 2 k r l ) Y l , j m ( 1 4 μ σ l 2 + 1 4 λ ρ l ) Y l , j + 1 m .
For  j { 0 , 2 P } , we impose the extrapolation boundary condition (see Remark 2)
2 V S 2 ( t , S ) = 0 ,
which is equivalent to
2 Y m Z 2 ( t , Z ) Y m Z ( t , Z ) = 0 ,
and can be discretized as
( 1 1 2 h ) Y i , j + 1 m 2 Y i , j m + ( 1 + 1 2 h ) Y i , j 1 m = 0 , i = l 1 , l , j = 0 , 2 P .
The C-N method is generally more accurate than the BTCS and FTCS methods [16], although the FTCS method has better stability properties [13].
Remark 2.
In view of the explicit integral representation formula for  V ( t , S ) (see Remark 1), it can be readily checked that
2 V S 2 ( t , S ) = e r m τ m σ m 2 π τ m 0 1 y V ( T m , y ) · 2 S 2 ρ m ( ln ( y / S ) ) d y ,
where
2 S 2 ρ m ( ln ( y / S ) ) = 1 S 2 ρ m ( ln ( y / S ) ) + ρ m ( ln ( y / S ) ) .
Since
y ρ m ( ln ( y / S ) ) = 1 y ρ m ( ln ( y / S ) ) , 2 y 2 ρ m ( ln ( y / S ) ) = 1 y 2 ρ m ( ln ( y / S ) ) ρ m ( ln ( y / S ) ) ,
it follows that
2 S 2 ρ m ( ln ( y / S ) ) = y 2 S 2 2 y 2 ρ m ( ln ( y / S ) ) + 2 y y ρ m ( ln ( y / S ) ) = y S 2 2 y 2 y ρ m ( ln ( y / S ) ) ,
and hence, by (2c),
2 V S 2 ( t , S ) = e r m τ m σ m 2 π τ m 0 1 y V ( T m , y ) · y S 2 2 y 2 y ρ m ( ln ( y / S ) ) d y = e r m τ m σ m 2 π τ m · 1 S 2 K m K m + 2 y 2 V ( T m , y ) · y ρ m ( ln ( y / S ) ) d y + J m ,
where
J m = V ( T m , y ) · y y ρ m ( ln ( y / S ) ) | y = ( K m ) + y = ( K m ) + V ( T m , y ) · y y ρ m ( ln ( y / S ) ) | y = ( K m + ) + y = ( K m + ) y V ( T m , y ) · y ρ m ( ln ( y / S ) ) | y = ( K m ) + y = ( K m ) y V ( T m , y ) · y ρ m ( ln ( y / S ) ) | y = ( K m + ) + y = ( K m + )
denotes the boundary terms from integration by parts. It can then be readily checked from this explicit representation formula that
lim S 0 + 2 V S 2 ( t , S ) = lim S 2 V S 2 ( t , S ) = 0 ,
hence justifying the choice of the extrapolation boundary condition (9a).
For convenience, we denote
α l = 1 4 μ σ l 2 1 4 λ ρ l , β l = 1 1 2 μ σ l 2 1 2 k r l , γ l = 1 4 μ σ l 2 + 1 4 λ ρ l , δ l = 1 + 1 2 μ σ l 2 + 1 2 k r l .
Equations (8) and (9c) can be written together as the matrix equation
A l 1 Y l 1 m = B l Y l m ,
where
Y l m = Y l , 0 m , Y l , 1 m , , Y l , 2 P m T ,
is a  ( 2 P + 1 ) -column vector and  A l , B l are  ( 2 P + 1 ) × ( 2 P + 1 ) tridiagonal matrices:
A l = β l + c 1 , + α l γ l c 2 , + α l α l β l γ l α l β l γ l α l c 2 , γ l β l + c 1 , γ l ,
B l = δ l c 1 , + α l γ l + c 2 , + α l α l δ l γ l α l δ l γ l α l + c 2 , γ l δ l c 1 , γ l ,
where
c 1 , ± = 2 1 ± 1 2 h , c 2 , ± = 1 1 2 h 1 ± 1 2 h .
Note that the unknowns  Y i , 1 m in the  j = 0 equation and  Y i , 2 P + 1 m in the  j = 2 P equation for  i = l 1 , l can be eliminated using the boundary condition (9c). Equation (10a) can be solved for  Y l 1 m using the Thomas Algorithm, which has an  O ( P ) complexity.
Note that the terminal condition (4b) is typically discontinuous, as can be seen from (5). This means that the C-N method, when applied as it is, cannot achieve a second-order convergence as for smooth terminal conditions [11].

2.3. Analytical Modification

We will remove the aforementioned discontinuities from terminal conditions by introducing an analytical modification to existing finite difference methods. First, we recall some classical results from the theory of binary options.
Lemma 1.
Let  K > 0 , and let  χ A denote the characteristic function of a set A. Consider a binary option with expiration time  T m priced at  T m 1 .
1. 
If the option has payoff  V ^ m ( y ) = χ [ K , ) y , then  V ^ m 1 ( S ) = ϕ m a ( S , K , 1 ) .
2. 
If  V ^ m ( y ) = χ ( 0 , K ] y , then  V ^ m 1 ( S ) = ϕ m a ( S , K , 1 ) .
3. 
If  V ^ m ( y ) = χ [ K , ) , then  V ^ m 1 ( S ) = ϕ m b ( S , K , 1 ) .
4. 
If  V ^ m ( y ) = χ ( 0 , K ] , then  V ^ m 1 ( S ) = ϕ m b ( S , K , 1 ) .
The functions  ϕ m a and  ϕ m b are defined as
ϕ m a ( S , K , ϵ ) = e q m τ m N ( ϵ d 1 ) S , ϕ m b ( S , K , ϵ ) = e r m τ m N ( ϵ d 2 ) ,
where  τ m = T m T m 1 ,
r m = T m 1 T m r ( t ) τ m d t , q m = T m 1 T m q ( t ) τ m d t , σ m 2 = T m 1 T m σ 2 ( t ) τ m d t ,
N is the cumulative normal distribution function, and 
d 1 = 1 σ m τ m ln S K + r m q m + σ m 2 2 τ m , d 2 = d 1 σ m τ m .
Proof. 
By definition,  ϕ m a is the value of an asset-or-nothing option, and  ϕ m b is the value of a cash-or-nothing option. The valuation formulas are just standard results for binary options [16].   □
Since  Y m ( T m , Z ) in the terminal condition (4b) generally has discontinuities at  ln ( K m ± ) , we do not solve the terminal value problem (4) directly, but instead seek to remove these discontinuities first. We describe our basic idea as follows.

2.3.1. Basic Idea of the Analytical Modification

For each  1 m M , note that the option’s value  V ( T m + , S ) calculated from  V ( T m + 1 , S ) before the application of the boundary condition (2c) is continuous (in fact, smooth) on the entire real line  R . We thus define the one-sided limits
V ˜ m + = lim ϵ 0 + V ( T m , K m + ϵ ) , V ˜ m = lim ϵ 0 + V ( T m , K m + ϵ ) ,
V ˜ S , m + = lim ϵ 0 + V S ( T m , K m + ϵ ) , V ˜ S , m = lim ϵ 0 + V S ( T m , K m + ϵ ) ,
and consider  U m ( t , Z ) defined as the solution to the PDE
U m t ( t , Z ) = L U m ( t , Z ) , T m 1 t T m ,
supplemented with the (continuously differentiable) terminal condition
U m ( T m , Z ) = V ( T m , e Z ) , ln ( K m ) < Z < ln ( K m + ) V ˜ S , m ( e Z K m ) + V ˜ m , Z ln ( K m ) V ˜ S , m + ( e Z K m + ) + V ˜ m + , Z ln ( K m + ) .
The significance of the modified terminal value problem (12) is that the improved smoothness of the terminal condition (12b) leads to improved convergence rates when (12) is solved numerically using a finite difference method (Section 3.1). To express  V ( T m 1 , S ) in terms of  U m ( T m 1 , Z ) , note that by (2b)–(2c), we have
V ( T m , e Z ) U m ( T m , Z ) = 0 , ln ( K m ) < Z < ln ( K m + ) a ˜ m e Z + b ˜ m , Z ln ( K m ) a ˜ m + e Z + b ˜ m + , Z ln ( K m + ) ,
where
a ˜ m ± = a m ± V ˜ S , m ± , b ˜ m ± = b m ± + V ˜ S , m ± K m ± V ˜ m ± .
This shows that  V ( t , e Z ) U m ( t , Z ) is the sum of values of four binary options for  T m 1 t T m , and hence by Lemma 1,
V ( T m 1 , e Z ) U m ( T m 1 , Z ) = a ˜ m ϕ m a ( e Z , K m , 1 ) + b ˜ m ϕ m b ( e Z , K m , 1 ) + a ˜ m + ϕ m a ( e Z , K m + , 1 ) + b ˜ m + ϕ m b ( e Z , K m + , 1 ) , ln ( K m 1 ) < Z < ln ( K m 1 + ) ,
or
V ( T m 1 , e Z ) = U m ( T m 1 , Z ) + a ˜ m ϕ m a ( e Z , K m , 1 ) + b ˜ m ϕ m b ( e Z , K m , 1 ) + a ˜ m + ϕ m a ( e Z , K m + , 1 ) + b ˜ m + ϕ m b ( e Z , K m + , 1 ) , ln ( K m 1 ) < Z < ln ( K m 1 + ) .
For each  1 m M , we solve (12) numerically for  U m ( T m 1 , Z ) and obtain  V ( T m 1 , e Z ) using (14b). Repeating this process for  m = M , M 1 , , 1 , we finally obtain  V ( T 0 , e Z ) , from which the option’s value  V ( T 0 , S 0 ) can be easily deduced.
Remark 3.
For the given terminal condition (2b), a closed-form expression can in fact be obtained for  U M ( t , Z ) ; see, for example, [2] (Proposition 2.4). In practice, however, M is often “reasonably large”, e.g., in the order of tens or hundreds, so that the incorporation of such exact formulas of  U M makes little difference in the numerical approximations obtained for  V ( T 0 , S ) . Thus, we do not specifically differentiate  U M from other  U m ’s ( m M 1 ) in our study.

2.3.2. Implementation of the Analytical Modification

In practice, it may not be possible to place all barriers on the computational grid, which means we may not be able to compute the values of  V ˜ m ± , V ˜ S , m ± for all  1 m M 1 as defined in (11). Note that the values of  V ˜ M ± , V ˜ S , M ± for  m = M follow from the closed-form expression of  V ( T M , e Z ) as given in (2b). For  1 m M 1 , however, we will have to find an approximation to these values. To this end, denote
U ˜ M ( t , Z ) = U M ( t , Z ) ,
which is the smooth solution defined in (12) for  m = M . For each  1 m M 1 , assume we have already computed a three-times continuously differentiable ( C 3 ) function  U ˜ m + 1 ( T m , Z ) for  Z { Z 0 , Z 1 , , Z 2 P } and have obtained the smooth part of  V ( T m , e Z ) , namely,  Y m + 1 ( T m , Z ) (see (5)), at the grid points. Note that this is true for  m = M 1 , in which case we have already computed a  C 3 function  U ˜ M ( T M 1 , Z ) by (15) and have obtained  Y M ( T M 1 , Z ) by (14b).
Denote
Y l , j m + 1 = Y m + 1 ( t l , Z j ) , Y S , l , j m + 1 = Y l , j + 1 m + 1 Y l , j 1 m + 1 2 h e Z j Y m + 1 S ( t l , Z j ) ,
and let
p m = min j > 0 : Z j > ln ( K m ) , p m + = max j < 2 P : Z j < ln ( K m + ) .
Note that  ln ( K m ± ) are located between  Z p m ± and  Z p m ± ± 1 . We use linear interpolations of  Y m + 1 ( T m , Z ) on the grid to approximate  V ˜ m ± , V ˜ S , m ± as follows:
c m = Y S , l m , p m m + 1 1 h ( Y S , l m , p m 1 m + 1 Y S , l m , p m m + 1 ) ln ( K m ) Z p m ,
c m + = Y S , l m , p m + m + 1 + 1 h ( Y S , l m , p m + + 1 m + 1 Y S , l m , p m + m + 1 ) ln ( K m + ) Z p m + ,
d m = Y l m , p m m + 1 1 h ( Y l m , p m 1 m + 1 Y l m , p m m + 1 ) ln ( K m ) Z p m ,
d m + = Y l m , p m + m + 1 + 1 h ( Y l m , p m + + 1 m + 1 Y l m , p m + m + 1 ) ln ( K m + ) Z p m + .
Since  U ˜ m + 1 ( T m , Z ) and hence  Y m + 1 ( T m , Z ) is  C 3 in Z, we have
c m ± V ˜ S , m ± = O ( h 2 ) , d m ± V ˜ m ± = O ( h 2 ) .
This means that the order of the interpolation error does not exceed that of the C-N method.
Consider  U ˜ m ( t , Z ) defined as the solution to the PDE
U ˜ m t ( t , Z ) = L U ˜ m ( t , Z ) , T m 1 t T m ,
supplemented with the terminal condition
U ˜ m ( T m , Z ) = V ( T m , e Z ) , ln ( K m ) < Z < ln ( K m + ) c m ( e Z K m ) + d m , Z ln ( K m ) c m + ( e Z K m + ) + d m + , Z ln ( K m + ) .
Note that by (2c), we have
V ( T m , e Z ) U ˜ m ( T m , Z ) = 0 , ln ( K m ) < Z < ln ( K m + ) c ˜ m e Z + d ˜ m , Z ln ( K m ) c ˜ m + e Z + d ˜ m + , Z ln ( K m + ) ,
where
c ˜ m ± = a m ± c m ± , d ˜ m ± = b m ± + c m ± K m ± d m ± .
This shows that  V ( t , e Z ) U ˜ m ( t , Z ) is the sum of values of four binary options for  T m 1 t T m , and hence by Lemma 1,
V ( T m 1 , e Z ) U ˜ m ( T m 1 , Z ) = c ˜ m ϕ m a ( e Z , K m , 1 ) + d ˜ m ϕ m b ( e Z , K m , 1 ) + c ˜ m + ϕ m a ( e Z , K m + , 1 ) + d ˜ m + ϕ m b ( e Z , K m + , 1 ) , ln ( K m 1 ) < Z < ln ( K m 1 + ) ,
or
V ( T m 1 , e Z ) = U ˜ m ( T m 1 , Z ) + c ˜ m ϕ m a ( e Z , K m , 1 ) + d ˜ m ϕ m b ( e Z , K m , 1 ) + c ˜ m + ϕ m a ( e Z , K m + , 1 ) + d ˜ m + ϕ m b ( e Z , K m + , 1 ) , ln ( K m 1 ) < Z < ln ( K m 1 + ) .
Now that we have computed  U ˜ m ( T m 1 , Z ) and the smooth part of  V ( T m 1 , e Z ) , namely,  Y m ( T m 1 , Z ) , we continue to compute  c m 1 ± , d m 1 ± as in (16), which means we have the terminal condition  U ˜ m 1 ( T m 1 , Z ) as in (18b). Then, we repeat this process for  m 1 .
We summarize the modified finite difference method as follows (Algorithm 1):
Algorithm 1 Modified finite difference method
1:
for  m = M 1 downto 1 do
2:
   Compute  c m ± , d m ± using (16)
3:
   Solve (18) numerically for  U ˜ m ( T m 1 , Z )
4:
   Compute  Y m ( T m 1 , Z ) , the smooth part of  V ( T m 1 , e Z ) , using (20b)
5:
end for
6:
Obtain option value  V ( T 0 , S 0 ) = V ( T 0 , e Z P )
Note that the terminal value problem (18) is the same as (4) except that the terminal condition (18b) now has a higher degree of smoothness, and the problem (18) can be solved numerically using the same finite difference methods as the ones described in Section 2.2, in particular the C-N method. Since the terminal condition  U ˜ m ( T m , Z ) in (18b) is almost continuously differentiable (the jumps are of order  h 2 by (17)), the C-N method converges quite well in practice (Section 3.1). In principle, Rannacher time-stepping can be used to improve the performance of the C-N method near monitoring points, but this is important only when accurate discrete approximations to option Greeks are needed (Section 3.4).

2.4. Adaptive Mesh Refinement

Note that the function  U ˜ m ( t , Z ) in (18) tends to have large derivatives near the barriers and behaves relatively smoothly away from the barriers. This means that it makes sense to use finer grids near the barriers and coarser ones elsewhere.
Adaptive mesh refinement techniques are well known and are widely used in numerical solutions of PDEs. In the field of quantitative finance, adaptive mesh models have been developed for the BTCS method [10]. Alternatively, nonuniform grids based on changes of variables have also been introduced in the literature [13]. Since here we are using an analytically modified C-N method, we introduce an effective adaptive mesh refinement technique which further improves the computational efficiency of our method.
We begin by assuming that the upper barriers  K m + (and lower barriers  K m , respectively) are equal or close to each other for all  1 m M , which is almost always satisfied in practice. Our basic idea is to construct fine grids near the barriers, and solve the Black–Scholes PDEs on both the original and the fine grids at each time step.
First, we find integers  0 < q 1 < q 2 < q 1 + < q 2 + < 2 P such that
exp ( Z q 1 ) < K m < exp ( Z q 2 ) , and exp ( Z q 1 + ) < K m + < exp ( Z q 2 + ) ,
for all  1 m M . Then, we construct a fine grid for  [ q 1 , q 2 ] and a similar one for  [ q 1 + , q 2 + ] by dividing each interval of size h into n equal parts. We illustrate the fine grid near  K m + for  n = 4 in Figure 1.
Let
n ± = n ( q 2 ± q 1 ± ) , x j ± = Z q 1 ± + j h / n , 0 j n ± ,
and define
U ^ M ( t , Z ) = U M ( t , Z ) ,
which is the smooth solution defined in (12) for  m = M . For each  1 m M 1 , assume we have already computed a  C 3 function  U ^ m + 1 ( T m , Z ) for
Z G h : = Z 0 , Z 1 , , Z 2 P x 0 ± , x 1 ± , , x n ± ± ,
and have obtained the smooth part of  V ( T m , e Z ) , namely,  Y m + 1 ( T m , Z ) , at the grid points. Note that this is true for  m = M 1 by (21) and (14b).
Recall from (16) that  c m ± , d m ± are approximations to  V ˜ S , m ± , V ˜ m ± computed using the values of  Y m + 1 ( T m , Z ) on the original (coarse) grid. We shall now find approximations to  V ˜ S , m ± , V ˜ m ± using the values of  Y m + 1 ( T m , Z ) on the fine grids. To this end, denote
Y l , j ± ( m + 1 ) = Y m + 1 ( t l , x j ± ) , Y S , l , j ± ( m + 1 ) = Y l , j + 1 ± ( m + 1 ) Y l , j 1 ± ( m + 1 ) 2 h e x j ± / n Y m + 1 S ( t l , x j ± ) ,
and let
u m = min j > 0 : x j > ln ( K m ) , u m + = max j < n + : x j + < ln ( K m + ) .
Define
f m = Y S , l m , u m ( m + 1 ) n h Y S , l m , u m 1 ( m + 1 ) Y S , l m , u m ( m + 1 ) ln ( K m ) x u m ,
f m + = Y S , l m , u m + + ( m + 1 ) + n h Y S , l m , u m + + 1 + ( m + 1 ) Y S , l m , u m + + ( m + 1 ) ln ( K m + ) x u m + + ,
g m = Y l m , u m ( m + 1 ) n h Y l m , u m 1 ( m + 1 ) Y l m , u m ( m + 1 ) ln ( K m ) x u m ,
g m + = Y l m , u m + + ( m + 1 ) + n h Y l m , u m + + 1 + ( m + 1 ) Y l m , u m + + ( m + 1 ) ln ( K m + ) x u m + + .
Note that, in general,  f m ± and  g m ± provide a better approximation to  V ˜ S , m ± and  V ˜ m ± than  c m ± and  d m ± .
Consider  U ^ m ( t , Z ) defined as the solution to the PDE
U ^ m t ( t , Z ) = L U ^ m ( t , Z ) , T m 1 t T m ,
supplemented with the terminal condition
U ^ m ( T m , Z ) = V ( T m , e Z ) , ln ( K m ) < Z < ln ( K m + ) f m ( e Z K m ) + g m , Z ln ( K m ) f m + ( e Z K m + ) + g m + , Z ln ( K m + ) .
The PDE (23a) is the same as (18a), but we do not solve it all the way back to  T m 1 . Instead, for each  l m 1 < l l m , assume we have computed  U ^ m ( t l , Z ) for  Z G h , which is true for  l = l m by (23b). We first solve the PDE (23a) numerically using the terminal condition  U ^ m ( t l , Z k ) on the coarse grid for just one time step from  t l to  t l 1 . More specifically, denote by  U ^ l , k m = U ^ m ( t l , Z k ) the solution computed on the coarse grid; we solve the matrix Equation (10a), which in our new notation becomes
A l 1 U ^ l 1 m = B l U ^ l m ,
where
U ^ l m = U ^ l , 0 m , U ^ l , 1 m , , U ^ l , 2 P m T ,
is a  ( 2 P + 1 ) -column vector and  A l and  B l are  ( 2 P + 1 ) × ( 2 P + 1 ) tridiagonal matrices as defined in (10). After solving for  U ^ l 1 m from (24), we solve the PDE (23a) again on the fine grids for n time steps with reduced step size  k / n , using the boundary conditions linearly interpolated (in time) from  U ^ l 1 m and  U ^ l m at  q 1 ± and  q 2 ± . For convenience, we denote, for  0 i n ,
r l , i = r ( t l + i k / n ) , ρ l , i = ρ ( t l + i k / n ) , σ l , i = σ ( t l + i k / n ) , α n , l , i = 1 4 n μ σ l , i 2 1 4 λ ρ l , i , β n , l , i = 1 1 2 n μ σ l , i 2 1 2 n k r l , i , γ n , l , i = 1 4 n μ σ l , i 2 + 1 4 λ ρ l , i , δ n , l , i = 1 + 1 2 n μ σ l , i 2 + 1 2 n k r l , i ,
and  W l , i , j ± m = U ^ m ( t l , i , x j ± ) . The matrix equation on the fine grids then becomes
A n , l 1 , i 1 W l 1 , i 1 ± m = B n , l 1 , i W l 1 , i ± m + w l 1 , i ± , n i 1 ,
where
W l 1 , i ± m = W l 1 , i , 1 ± m , W l 1 , i , 2 ± m , , W l 1 , i , n ± 1 ± m T , w l 1 , i ± = α n , l 1 , i W l 1 , i , 0 ± m α n , l 1 , i 1 W l 1 , i 1 , 0 ± m 0 0 γ n , l 1 , i W l 1 , i , n ± ± m γ n , l 1 , i 1 W l 1 , i 1 , n ± ± m ,
are  ( n ± 1 ) -column vectors and  A n , l 1 , i and  B n , l 1 , i are  ( n ± 1 ) × ( n ± 1 ) tridiagonal Toeplitz matrices:
A n , l 1 , i = β n , l 1 , i γ n , l 1 , i α n , l 1 , i β n , l 1 , i γ n , l 1 , i α n , l 1 , i β n , l 1 , i γ n , l 1 , i α n , l 1 , i β n , l 1 , i ,
B n , l 1 , i = δ n , l 1 , i γ n , l 1 , i α n , l 1 , i δ n , l 1 , i γ n , l 1 , i α n , l 1 , i δ n , l 1 , i γ n , l 1 , i α n , l 1 , i δ n , l 1 , i .
Note that, in (25b),
W l 1 , i , 0 ± m = U ^ l 1 , q 1 ± m + i n ( U ^ l , q 1 ± m U ^ l 1 , q 1 ± m ) ,
W l 1 , i , n ± ± m = U ^ l 1 , q 2 ± m + i n ( U ^ l , q 2 ± m U ^ l 1 , q 2 ± m ) ,
are boundary conditions linearly interpolated (in time) from coarse grid solutions  U ^ l 1 m and  U ^ l m at  q 1 ± and  q 2 ± . After solving for  W l 1 , 0 ± m from (25a), we set
U ^ m ( t l 1 , Z j ) = U ^ l 1 , j m , 0 j 2 P , j q 1 ± + 1 , q 1 ± + 2 , , q 2 ± 1 ,
and
U ^ m ( t l 1 , x j ± ) = W l 1 , 0 , j ± m , 1 j n ± 1 .
Since  Z q 1 ± + j = x n j ± for  0 j q 2 ± q 1 ± , Equation (27) completes the definition of  U ^ m ( t l 1 , Z ) for  Z G h . We then repeat this process for  l = l m , l m 1 , , l m 1 + 1 to obtain  U ^ m ( T m 1 , Z ) for  Z G h .
By (23b),  V ( T m , e Z ) U ^ m ( T m , Z ) is piecewise linear in  e Z , meaning  V ( t , e Z ) U ^ m ( t , Z ) is the sum of values of four binary options. It follows from Lemma 1 that
V ( T m 1 , e Z ) = U ^ m ( T m 1 , Z ) + f ˜ m ϕ m a ( e Z , K m , 1 ) + g ˜ m ϕ m b ( e Z , K m , 1 ) + f ˜ m + ϕ m a ( e Z , K m + , 1 ) + g ˜ m + ϕ m b ( e Z , K m + , 1 ) , ln ( K m 1 ) < Z < ln ( K m 1 + ) ,
where
f ˜ m ± = a m ± f m ± , g ˜ m ± = b m ± + f m ± K m ± g m ± .
Then, we repeat this process for  m 1 .
We summarize the adaptive mesh refinement procedure as follows (Algorithm 2):
Algorithm 2 Adaptive mesh refinement procedure
1:
Construct a fine grid for  [ q 1 , q 2 ] and a similar one for  [ q 1 + , q 2 + ] by dividing each interval of size h into n equal parts
2:
for  m = M 1 down to 1 do
3:
   Compute  f m ± , g m ± using (22)
4:
   Solve (23) numerically for one time step (with step size k) on the coarse grid
5:
   Solve (23) numerically for n time steps (with step size  k / n ) on fine grids, using (26) as boundary conditions
6:
   Combine numerical solutions on coarse and fine grids to obtain  U ^ m ( T m 1 , Z )
7:
   Compute  Y m ( T m 1 , Z ) , the smooth part of  V ( T m 1 , e Z ) , using (28)
8:
end for
9:
Obtain the option value  V ( T 0 , S 0 ) = V ( T 0 , e Z P )

3. Results

3.1. Convergence Study

To study the convergence properties of the proposed method, either with or without mesh adaptation, we first apply the original and the analytically modified C-N method to the following five options:
  • Option I: A cash-or-nothing call option with the following final payoff:
    V ( T M , S ) = 0 , S < K M + b M + , S K M + .
  • Option II: An asset-or-nothing call option with the following final payoff:
    V ( T M , S ) = 0 , S < K M + a M + S , S K M + .
  • Option III: A vanilla call option with the following final payoff:
    V ( T M , S ) = 0 , S < K M + a M + ( S K M + ) , S K M + .
  • Option IV: An exotic call option with the following final payoff:
    V ( T M , S ) = 0 , S < K M + a M + ( S K M + ) 2 , S K M + .
    We remark that this option does not have a counterpart in real-life financial applications. It is designed here solely to test the convergence properties of the proposed method.
These four options are standard options without discretely monitored structures, and for all cases, we set
r = 0.02 , q = 0 , σ = 0.2 , T 0 = 0 , T M = 1 , S 0 = 1.1 , K M + = 1.2 , a M + = b M + = 100 .
Note also that the final payoffs of the above four options have increasingly higher degrees of smoothness (discontinuous, discontinuous,  C 0 , and  C 1 , respectively). The fifth option, on the other hand, is a discretely monitored option:
  • Option V: A double-barrier knock-out option with different monitoring frequencies for the two barriers. Assume there are 250 business days in a year, and the option will expire one year from the valuation date, which we denote as day 0. The spot price of the underlying asset at day 0 is 1.1. The upper barrier level is 1.2, and its observation dates are {15, 36, 57, 78, 99, 120, 141, 162, 183, 204, 225, 246}, resembling a monthly monitoring structure. The lower barrier is monitored daily, and the barrier level is 0.9. We further assume that the notional value of the option is 100, that the payoff at maturity is 10% of the notional value, namely, 10, and that
    r = 0.02 , q = 0 , σ = 0.2 .
In practice, this type of barrier structure is common for snowball options and their variants. Note that the lower barrier of a snowball option is a knock-in barrier, but the option can be priced as the difference between an up-and-out barrier option and a double-barrier knock-out option using PDE methods.
Table 1, Table 2, Table 3, Table 4, Table 5, Table 6, Table 7 and Table 8 present results from convergence studies of the four standard options (I–IV) priced using the original C-N method. Since our purpose here is to examine numerically the relationship between convergence rates and the smoothness of terminal conditions, the analytically modified C-N method is not used which otherwise would produce (almost) exact pricing results for the first three options (I–III). All four options are priced on the following interval:
I 0 : = [ S 0 e 6 σ , S 0 e 6 σ ] [ 0.33131363 , 3.65212862 ]
(note that the actual computational domain is  [ ln ( S 0 ) 6 σ , ln ( S 0 ) + 6 σ ] ), with a time step  k = ( T M T 0 ) / N = 1 / N and a mesh size  h = k , where N ranges from 10 to 5120. For the first three options, exact option values are available from analytical formulas, while for the fourth option, the option value is estimated on a finer grid with N = 10,240. For each numerical approximation  v 0 , j to  V 0 , j : = V ( T 0 , S 0 e ( j P ) h ) calculated at  T 0 on the computational grid, two types of errors are defined:
L 2 - error = j = 0 2 P | v 0 , j V 0 , j | 2 h 1 / 2 , L - error = max j = 0 , 1 , , 2 P | v 0 , j V 0 , j | .
The numerical order of an error ( L 2 or  L ϵ N calculated on a grid of size N is estimated using the following formula:
p N = ln ( ϵ N / 2 / ϵ N ) ln 2 .
The following can be observed from Table 1, Table 2, Table 3, Table 4, Table 5, Table 6, Table 7 and Table 8:
  • For the first two options (I–II), the C-N method converges at only the first order due to the discontinuity at  S = K M + contained in the terminal conditions. On the other hand, mesh adaptation around the discontinuity  S = K M + , where option prices are expected to undergo the most rapid variation, helps reduce the error by a factor of n where  n = 2 here is the refinement factor.
  • For the next two options (III–IV), the C-N method converges at a higher order due to the improved smoothness of the terminal condition at  S = K M + . The precise relationship between the convergence rate and the smoothness of the terminal condition is the subject of future research, but these examples seem to suggest that a  C 1 terminal condition is already sufficient to restore the second-order accuracy of the C-N method (see Remark 5).
  • When mesh adaptation is applied to the third option, the error first improves by roughly a factor of  n = 2 up until  N = 160 , after which no significant improvement in error is observed (Table 6). This is due to the fact that the terminal condition in this case has a higher degree of smoothness at  S = K M + (i.e.,  C 0 ), as a result of which the largest error on a sufficiently fine grid does not concentrate around  S = K M + , and hence is not captured by the adaptive mesh that surrounds the strike price  S = K M + . Similar observations apply to the fourth option, whose terminal condition has an even higher degree of smoothness at  S = K M + (i.e.,  C 1 ) and for which no improvement in error is observed for the adaptive mesh calculation at all.
  • Despite these observations, the mesh adaptation technique still turns out to be useful when applied to discretely monitored options with high monitoring frequencies, where errors near the barriers caused by the non-smoothness of the terminal conditions dominate the calculations (Section 3.1 and Section 3.3).
Remark 4.
Since the terminal conditions  V ( T M , S ) for the first two options contain a discontinuity at  S = K M + and since the C-N method, with or without analytical modifications, is non-dissipative, the following modification is needed in discrete approximations  v N , j to  V ( T M , S ) so that the convergence of  v N , j to  V ( T M , S ) in a suitable weak sense (e.g., in the sense of  H s for some  s > 0 ), and hence the convergence of  v 0 , j to  V ( T 0 , S ) , can be ensured: let  j 0 be chosen such that
ln ( S 0 ) + ( j 0 P ) h ln ( K M + ) < ln ( S 0 ) + ( j 0 + 1 P ) h ,
or equivalently, such that
j 0 P + 1 h ln K M + S 0 = : δ 0 < j 0 + 1 .
Then for the first option, we set
v N , j = 0 , j < j 0 b M + , j > j 0 b M + ( j 0 + 1 δ 0 ) , j = j 0 ,
and for the second option, we set
v N , j = 0 , j < j 0 a M + S 0 e ( j P ) h , j > j 0 1 2 a M + S 0 e ( j 0 + 1 P ) h + K M + ( j 0 + 1 δ 0 ) , j = j 0 .
For the next two options, the terminal conditions  V ( T M , S ) are continuous throughout  I 0 and hence, such modification is not needed. One may simply take
v N , j = V ( T M , S 0 e ( j P ) h ) .
For dissipative schemes such as FTCS and TR-BDF2, the above modification is not needed either.
Remark 5.
We have carried out a preliminary error analysis for the proposed method and found that the convergence rates corresponding to a discontinuous,  C 0 , and  C 1 terminal condition are  1 / 3 , 1 , and  5 / 3 , respectively. However, these results are likely suboptimal because they did not make full use of the dissipation properties of the Black–Scholes PDE.
Table 9, Table 10, Table 11, Table 12, Table 13 and Table 14 present results from convergence studies of the discretely monitored option (V) priced using both the original and the analytically modified C-N methods. To examine more closely the relationship between the convergence rate and the smoothness of the terminal conditions, we further distinguish between the following two cases for the analytically modified C-N method:
  • C 0 -modification at the barriers:
    U m ( T m , Z ) = V ( T m , e Z ) , ln ( K m ) < Z < ln ( K m + ) V ˜ m , Z ln ( K m ) V ˜ m + , Z ln ( K m + ) ,
    which is (12b) with  V ˜ S , m + = V ˜ S , m = 0 and which is only continuous at the barriers.
  • C 1 -modification at the barriers:
    U m ( T m , Z ) = V ( T m , e Z ) , ln ( K m ) < Z < ln ( K m + ) V ˜ S , m ( e Z K m ) + V ˜ m , Z ln ( K m ) V ˜ S , m + ( e Z K m + ) + V ˜ m + , Z ln ( K m + ) ,
    which is just (12b) and is continuously differentiable at the barriers.
For all three methods, namely, original C-N and analytically modified C-N with  C 0 and  C 1 modifications, the option is priced on the same interval as in the previous cases:
I 0 : = [ S 0 e 6 σ , S 0 e 6 σ ] [ 0.33131363 , 3.65212862 ] .
The calculations are advanced with a time step  k = 1 / N 0 , i.e., with  N 0 time steps per business day, and with a mesh size  h = k , where  N 0 ranges from 1 to 64. Since the exact option values  V ( T 0 , S ) are not available, reference values  V 0 , j against which all numerical approximations  v 0 , j are compared are calculated on a uniform fine grid using the analytically modified C-N method with a  C 1 -modification at the barriers and with  N 0 = 128 time steps per business day.
The following can be observed from Table 9, Table 10, Table 11, Table 12, Table 13 and Table 14:
  • For the original C-N method, the numerical approximations  v 0 , j converge to the reference values  V 0 , j in  L 2 at an average rate of roughly one but do not converge in  L at all (Table 9). This reduced convergence rate or even lack of convergence is clearly a consequence of the discontinuities at the barriers contained in the terminal conditions. On the other hand, mesh adaptation around the barriers, where option prices are expected to undergo the most rapid variation, helps reduce the error by a factor of n where  n = 2 here is the refinement factor (Table 10).
  • For the analytically modified C-N method, with either  C 0 or  C 1 modifications, the numerical approximations  v 0 , j converge to the reference values  V 0 , j in both  L 2 and  L and do so at a higher rate due to the improved smoothness of the terminal conditions at the barriers. More specifically, with  C 0 modifications,  v 0 , j converge to  V 0 , j in  L 2 at an average rate of roughly three-halves and in  L at an average rate of roughly one (Table 11), while with  C 1 -modifications, the convergence in both  L 2 and  L has an average rate of roughly two (Table 13). In other words, these examples seem to suggest that a  C 1 modification to the terminal conditions is already sufficient to restore the second-order accuracy of the C-N method.
  • When mesh adaptation is applied with  C 0 modifications, both the  L 2 - and  L -errors improve by roughly a factor of  n 3 / 2 = 2 3 / 2 2.8284 for all  N 0 , demonstrating the effectiveness of the adaptive mesh (Table 12).
  • When mesh adaptation is applied with  C 1 modifications, the numerical approximations  v 0 , j calculated on the finest grid with  N 0 = 64 are almost identical with the reference values  V 0 , j calculated on the uniform fine grid with  N 0 = 128 , as suggested by the unusually small errors (last row, Table 14). On the other hand, for numerical approximations  v 0 , j calculated on coarser grids with  N 0 32 , both the  L 2 - and  L -errors improve by roughly a factor of  n 2 = 2 2 = 4 for all  N 0 when mesh adaptation is enabled. This provides additional strong evidence for the effectiveness of the adaptive mesh, especially on discretely monitored options with high monitoring frequencies.
  • We remark that for mesh adaptation applied with  C 1 modifications, a sufficiently large area around the barriers needs to be refined in order for the adaptive mesh to be effective, in view of the improved smoothness of the terminal conditions near the barriers. Indeed, when the refinement ratio in Table 14 was reduced from 15% to 10%, meaning only the  ( 2 P + 1 ) × 10 % grid points around each barrier are refined, the resulting adaptive mesh was only able to produce marginal improvement in error for  N 0 4 and was not able to produce any meaningful improvement in error at all for all larger  N 0 . This is not an issue when mesh adaptation is applied with  C 0 modifications or with no analytical modifications, where the errors near the barriers caused by the non-smoothness of the terminal conditions dominate the calculations.

3.2. Comparison with Other Numerical Methods

To assess the efficacy and efficiency of the proposed method on options with discretely monitored structures, we next apply other popular, (formally) second-order numerical methods such as C-N with Rannacher time-stepping (CN-RAN) and trapezoidal rule with second-order backward differentiation formula (TR-BDF2) to the discretely monitored option introduced in the previous section. Both methods (CN-RAN and TR-BDF2) have been applied to the four standard options introduced above, and their convergence properties have been found to be very similar to those of the original C-N method (Table 1, Table 3, Table 5, and Table 7).
Table 15 and Table 16 present results from convergence studies of the discretely monitored option priced using the CN-RAN and the TR-BDF2 methods. The following can be observed from these tables:
  • Both methods exhibit very similar convergence behaviors and converge in both  L 2 and  L at an average rate of roughly one. This shows, in particular, that both methods lose their second-order accuracy when applied to problems containing discontinuities.
  • For a given time step k and mesh size h, both methods produce results that are more accurate than the original C-N method (Table 9) but less accurate than the analytically modified C-N method (Table 11 and Table 13).
As a more direct comparison of the different numerical methods studied in the literature (including in this work) and commonly used in practice, we list in Table 17 the pricing results of the following five methods applied to the discretely monitored option introduced in the previous section:
  • Analytically modified C-N with  C 1 modification (CN-C1).
  • C-N with Rannacher time-stepping (CN-RAN).
  • Trapezoidal rule with second-order backward differentiation formula (TR-BDF2).
  • Forward-time centered-space (or implicit Euler) (FTCS).
  • Monte Carlo simulations (MC).
For each method, the (pointwise) error of the option value at  S 0 , together with the CPU time (in seconds) used to obtain the pricing result, are shown for different time steps  N 0 (the code was developed in Python and run on a personal computer). Each CPU time is measured by running the corresponding code five times and dividing the total CPU time by five. It can be observed from the table that for a given level of accuracy, the CN-C1 method requires the least amount of CPU time while all other four methods typically require significantly more CPU time. As a specific example, consider the accuracy level of  2 × 10 3 . A more refined study shows that to achieve this level of accuracy, the CN-C1 method requires less than 0.5618 s, while the other four methods require the following times:
  • 16.7132 s (CN-RAN);
  • 36.1549 s (TR-BDF2);
  • 22.8074 s (FTCS); and
  • 26.4529 s (MC),
respectively (Table 18). This confirms the efficiency of the CN-C1 method.
Remark 6.
It may appear from these results that MC is even more efficient that the TR-BDF2 method. The reality is that, if higher accuracy is demanded (higher than  2 × 10 3 ), then the TR-BDF2 method will definitely outperform MC, even though it is relatively slow compared with the other finite difference methods considered here.

3.3. Effectiveness of Adaptive Mesh Refinement

We also demonstrate the effectiveness of the mesh adaptation technique by applying the CN-C1 method to the discretely monitored option introduced in the previous sections, both with and without mesh adaptation. The result shows that, with a mesh refinement factor of  n = 8 , an adaptive mesh calculation with  N 0 time steps per business day is able to achieve an accuracy level comparable to that of a uniform grid calculation with  8 N 0 time steps per business day, with a more than 60% savings in CPU time (Table 19). This confirms the efficiency of the mesh adaptation technique.

3.4. Approximations to Derivatives

It is well known that finite difference methods applied to options with non-smooth terminal conditions tend to produce poor approximations to option Greeks such as Delta  Δ and Gamma  Γ . In fact, as demonstrated in [11], when the original C-N method is applied to a European call option, the discrete approximations to  Δ and  Γ both fail to converge, and the discrete approximation to  Γ even grows unboundedly when the computational grid is refined. To examine the quality of the discrete approximations to option Greeks produced by the proposed method, we calculate  Δ and  Γ for the discretely monitored option introduced in the previous section, using the formulas
Δ 0 , j V 0 , j + 1 V 0 , j 1 2 h S j , Γ 0 , j V 0 , j + 1 2 V 0 , j + V 0 , j 1 h 2 S j 2 V 0 , j + 1 V 0 , j 1 2 h S j 2 ,
where  V 0 , j are the same reference option values calculated on a uniform fine grid using the CN-C1 method with  N 0 = 128 time steps per business day. The approximated Greeks are shown in Figure 2 and Figure 3 together with the option values, where it can be seen that while the discrete approximation to  Δ is free of oscillations, the discrete approximation to  Γ contains a small amount of oscillations near the lower barrier 0.9, which is monitored daily. These oscillations are likely consequences of the  O ( h 2 ) errors introduced by the linear interpolation approximations to  V , V / S at the barriers (see (17)) that have been significantly amplified by the high-frequency monitoring at the lower barrier. To remove these high-wavenumber oscillations, we replace the first C-N step after each monitoring point by two half-step dissipative steps such as FTCS (implicit Euler) steps and apply the resulting method, coded CN-C1-RAN1, again to the discretely monitored option introduced in the previous section. The results (Figure 4) demonstrate the effectiveness of the modified method in the elimination of high-wavenumber oscillations and also confirm the second-order convergence of both the option value V and option Greeks  Δ , Γ in both  L 2 and  L (Table 20).
Remark 7.
When applied with mesh adaptation, the CN-C1-RAN1 method produces option Greeks Δ and Γ converging at reduced convergence rates, most likely due to the small mismatches among different parts of  U ^ m ( t l 1 , Z j ) introduced by the direct transfer of the fine grid solutions  W l 1 , 0 ± m to coarse grids (see (27)). While this issue may be addressed using, say, a high-order smoothing operator, we decide not to pursue this direction further but instead recommend that readers consider CN-C1-RAN1 (without mesh adaptation) if accurate approximation to option Greeks is important and consider CN-C1 (with or without mesh adaptation) if option Greeks are not needed or not important.

4. Discussion

We have introduced an analytical modification for finite difference methods used in the pricing of discretely monitored options in the Black–Scholes framework. The modified finite difference methods can be used to price single- and double-barrier options, autocallable structured products, and snowball options. We have demonstrated the efficacy and efficiency of the proposed method on the traditional Crank–Nicolson scheme which, in its analytically modified form CN-C1 or CN-C1-RAN1, is capable of producing much more accurate pricing results with much lower CPU cost than other popular option pricing methods such as CN-RAN, TR-BDF2, and Monte Carlo simulations. We have also introduced a mesh adaptation technique for the analytically modified Crank–Nicolson method, which is capable of achieving an accuracy level comparable to that of a uniform fine grid calculation with a more than 60% improvement in computational speed. We strongly believe that the proposed method and the related ideas will prove a valuable tool for practitioners working with the aforementioned types of options.
This work can be extended in several directions. First, it is desirable to carry out a rigorous error analysis and obtain a precise quantification of the relationship between convergence rates and the smoothness of terminal conditions for the proposed method. We have conducted some preliminary analysis along this direction (Remark 5) and the full analysis is currently a work in progress. Even though the relationship between convergence rates and the smoothness of data is well understood in simpler settings (see, for example [17] (Chapter 10)), the discrete nature of the boundary conditions considered in this paper (see (2c) and (12)) creates new challenges where finer controls over higher norms of the solutions—both analytical and numerical—seem to be necessary. Second, the proposed method has assumed a volatility that is independent of the asset price S, which may be too restrictive in some practical situations. It is desirable to relax this assumption and apply similar analytical modifications to option pricing problems with variable (in S) volatility. This is the subject of current research and the results will be reported in a forthcoming paper.

Author Contributions

Conceptualization, M.H.; methodology, G.L. and M.H.; software, G.L. and M.H.; validation, G.L.; formal analysis, G.L.; investigation, G.L. and M.H.; writing—original draft preparation, G.L. and M.H.; writing—review and editing, G.L. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

No new data were created or analyzed in this study. Data sharing is not applicable to this article.

Conflicts of Interest

M.H. participated in this research as an independent individual. This work is not related in any way to his current employer, China Merchants Bank. The statements made and opinions expressed here in this paper are solely of those of the authors. They do not reflect the views of China Merchants Bank or its employees and affiliates whatsoever. The authors declare no conflicts of interest. The funders had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript; or in the decision to publish the results.

References

  1. Andricopoulos, A.; Widdicks, M.; Duck, P.; Newton, D. Universal option valuation using quadrature methods. J. Financ. Econ. 2003, 67, 447–471. [Google Scholar] [CrossRef]
  2. Huang, M.; Luo, G. A simple and efficient numerical method for pricing discretely monitored early-exercise options. Appl. Math. Comput. 2022, 422, 126985. [Google Scholar] [CrossRef]
  3. Fusai, G.; Abrahams, I.; Sgarra, C. An exact analytical solution for discrete barrier options. Financ. Stochast. 2006, 10, 1–26. [Google Scholar] [CrossRef]
  4. Feng, L.; Linetsky, V. Pricing discretely monitored barrier options and defaultable bonds in Lévy process models: A fast Hilbert transform approach. Math. Financ. 2008, 18, 337–384. [Google Scholar] [CrossRef]
  5. Fang, F.; Oosterlee, C. Pricing early-exercise and discrete barrier options by Fourier-cosine series expansions. Numer. Math. 2009, 114, 27–62. [Google Scholar] [CrossRef]
  6. Feng, L.; Lin, X. Pricing Bermudan options in Lévy process models. SIAM J. Financ. Math. 2013, 4, 474–493. [Google Scholar] [CrossRef]
  7. Golbabai, A.; Ballestra, L.; Ahmadian, D. A highly accurate finite element method to price discrete double barrier options. Comput. Econ. 2014, 44, 153–173. [Google Scholar] [CrossRef]
  8. Broadie, M.; Glasserman, P.; Kou, S. A continuity correction for discrete barrier options. Math. Financ. 1997, 7, 325–348. [Google Scholar] [CrossRef]
  9. Wei, J. Valuation of discrete barrier options by interpolations. J. Deriv. 1998, 6, 51–73. [Google Scholar] [CrossRef]
  10. Ahn, D.H.; Figlewski, S.; Gao, B. Pricing discrete barrier options with an adaptive mesh model. J. Deriv. 1999, 6, 33–43. [Google Scholar] [CrossRef]
  11. Giles, M.; Carter, R. Convergence analysis of Crank-Nicolson and Rannacher time-marching. J. Comput. Financ. 2006, 9, 89–112. [Google Scholar] [CrossRef]
  12. Rannacher, R. Finite element solution of diffusion problems with irregular data. Numer. Math. 1984, 43, 309–327. [Google Scholar] [CrossRef]
  13. Le Floc’h, F. TR-BDF2 for fast stable American option pricing. J. Comput. Financ. 2014, 17, 31–56. [Google Scholar] [CrossRef]
  14. Shreve, S. Stochastic Calculus for Finance II: Continuous-Time Models; Springer: Berlin/Heidelberg, Germany, 2004. [Google Scholar]
  15. Hormander, L. The Analysis of Linear Partial Differential Operators I, 2nd ed.; Springer: Berlin/Heidelberg, Germany, 1990. [Google Scholar]
  16. Hull, J. Options, Futures, and Other Derivatives, 9th ed.; Pearson: New York, NY, USA, 2014. [Google Scholar]
  17. Strikwerda, J. Finite Difference Schemes and Partial Differential Equations, 2nd ed.; SIAM: Philadelphia, PA, USA, 2004. [Google Scholar]
Figure 1. Illustration of the original grid (solid lines) and the fine grid (dashed lines) near the barrier  K m + (thick line).
Figure 1. Illustration of the original grid (solid lines) and the fine grid (dashed lines) near the barrier  K m + (thick line).
Mathematics 13 00241 g001
Figure 2. Option values V (top) and Delta  Δ (bottom) estimated using the CN-C1 method on a uniform fine grid with  N 0 = 128 time steps per day.
Figure 2. Option values V (top) and Delta  Δ (bottom) estimated using the CN-C1 method on a uniform fine grid with  N 0 = 128 time steps per day.
Mathematics 13 00241 g002
Figure 3. Option Gamma  Γ (top) estimated using the CN-C1 method on a uniform fine grid with  N 0 = 128 time steps per day and a closeup of the  Γ plot (bottom).
Figure 3. Option Gamma  Γ (top) estimated using the CN-C1 method on a uniform fine grid with  N 0 = 128 time steps per day and a closeup of the  Γ plot (bottom).
Mathematics 13 00241 g003
Figure 4. Option Gamma  Γ (top) estimated using the CN-C1-RAN1 method on a uniform fine grid with  N 0 = 128 time steps per day and a closeup of the  Γ plot (bottom).
Figure 4. Option Gamma  Γ (top) estimated using the CN-C1-RAN1 method on a uniform fine grid with  N 0 = 128 time steps per day and a closeup of the  Γ plot (bottom).
Mathematics 13 00241 g004
Table 1. Unmodified C-N on a cash-or-nothing call option.
Table 1. Unmodified C-N on a cash-or-nothing call option.
Time Steps N   L 2 -Error   L 2 -Order   L -Error   L -Order
105.8171 ×  10 0 9.8610 ×  10 0
202.9073 ×  10 0 1.00064.8658 ×  10 0 1.0191
401.4550 ×  10 0 0.99862.4428 ×  10 0 0.9941
807.2763 ×  10 1 0.99971.2224 ×  10 0 0.9988
1603.6379 ×  10 1 1.00016.1104 ×  10 1 1.0004
3201.8189 ×  10 1 1.00003.0550 ×  10 1 1.0001
6409.0947 ×  10 2 1.00001.5275 ×  10 1 1.0000
12804.5473 ×  10 2 1.00007.6376 ×  10 2 1.0000
25602.2737 ×  10 2 1.00003.8188 ×  10 2 1.0000
51201.1368 ×  10 2 1.00001.9094 ×  10 2 1.0000
Exact option value at  S 0 : 32.5191.
Table 2. Unmodified C-N with mesh adaptation (refinement region: grid points surrounding strike price; refinement ratio: 10% of grid points; refinement factor: 2) on a cash-or-nothing call option.
Table 2. Unmodified C-N with mesh adaptation (refinement region: grid points surrounding strike price; refinement ratio: 10% of grid points; refinement factor: 2) on a cash-or-nothing call option.
Time Steps N   L 2 -Error   L 2 -Order   L -Error   L -Order
103.1317 ×  10 0 5.2137 ×  10 0
201.4875 ×  10 0 1.07412.4860 ×  10 0 1.0685
407.2892 ×  10 1 1.02901.2223 ×  10 0 1.0242
803.6387 ×  10 1 1.00236.1124 ×  10 1 0.9998
1601.8189 ×  10 1 1.00033.0551 ×  10 1 1.0005
3209.0947 ×  10 2 1.00001.5275 ×  10 1 1.0000
6404.5473 ×  10 2 1.00007.6376 ×  10 2 1.0000
12802.2737 ×  10 2 1.00003.8188 ×  10 2 1.0000
25601.1368 ×  10 2 1.00001.9094 ×  10 2 1.0000
51205.6842 ×  10 3 1.00009.5470 ×  10 3 1.0000
Exact option value at  S 0 : 32.5191.
Table 3. Unmodified C-N on an asset-or-nothing call option.
Table 3. Unmodified C-N on an asset-or-nothing call option.
Time Steps N   L 2 -Error   L 2 -Order   L -Error   L -Order
106.9281 ×  10 0 1.1685 ×  10 1
203.4987 ×  10 0 0.98565.8427 ×  10 0 0.9999
401.7599 ×  10 0 0.99132.9519 ×  10 0 0.9850
808.7137 ×  10 1 1.01421.4632 ×  10 0 1.0125
1604.3621 ×  10 1 0.99837.3249 ×  10 1 0.9982
3202.1824 ×  10 1 0.99913.6650 ×  10 1 0.9990
6401.0915 ×  10 1 0.99951.8332 ×  10 1 0.9995
12805.4586 ×  10 2 0.99989.1678 ×  10 2 0.9997
25602.7285 ×  10 2 1.00044.5825 ×  10 2 1.0004
51201.3643 ×  10 2 0.99992.2914 ×  10 2 0.9999
Exact option value at  S 0 : 44.7791.
Table 4. Unmodified C-N with mesh adaptation (refinement region: grid points surrounding strike price; refinement ratio: 10% of grid points; refinement factor: 2) on an asset-or-nothing call option.
Table 4. Unmodified C-N with mesh adaptation (refinement region: grid points surrounding strike price; refinement ratio: 10% of grid points; refinement factor: 2) on an asset-or-nothing call option.
Time Steps N   L 2 -Error   L 2 -Order   L -Error   L -Order
103.7822 ×  10 0 6.2695 ×  10 0
201.8067 ×  10 0 1.06593.0115 ×  10 0 1.0579
408.7547 ×  10 1 1.04521.4660 ×  10 0 1.0386
804.3694 ×  10 1 1.00267.3348 ×  10 1 0.9991
1602.1841 ×  10 1 1.00043.6672 ×  10 1 1.0001
3201.0920 ×  10 1 1.00001.8338 ×  10 1 0.9998
6405.4600 ×  10 2 1.00009.1696 ×  10 2 0.9999
12802.7289 ×  10 2 1.00064.5831 ×  10 2 1.0005
25601.3644 ×  10 2 1.00002.2916 ×  10 2 1.0000
51206.8213 ×  10 3 1.00021.1457 ×  10 2 1.0001
Exact option value at  S 0 : 44.7791.
Table 5. Unmodified C-N on a vanilla call option.
Table 5. Unmodified C-N on a vanilla call option.
Time Steps N   L 2 -Error   L 2 -Order   L -Error   L -Order
107.9800 ×  10 2 1.6636 ×  10 1
201.0897 ×  10 2 2.87251.5701 ×  10 2 3.4054
403.3141 ×  10 3 1.71725.0951 ×  10 3 1.6237
801.9199 ×  10 3 0.78763.7769 ×  10 3 0.4319
1603.9259 ×  10 4 2.29007.8586 ×  10 4 2.2649
3206.3321 ×  10 5 2.63231.2798 ×  10 4 2.6184
6401.0403 ×  10 5 2.60571.6422 ×  10 5 2.9622
12802.8782 ×  10 6 1.85374.5740 ×  10 6 1.8441
25606.5587 ×  10 7 2.13379.9775 ×  10 7 2.1967
51202.0410 ×  10 7 1.68413.1296 ×  10 7 1.6727
Exact option value at  S 0 : 5.75609968.
Table 6. Unmodified C-N with mesh adaptation (refinement region: grid points surrounding strike price; refinement ratio: 10% of grid points; refinement factor: 2) on a vanilla call option.
Table 6. Unmodified C-N with mesh adaptation (refinement region: grid points surrounding strike price; refinement ratio: 10% of grid points; refinement factor: 2) on a vanilla call option.
Time Steps N   L 2 -Error   L 2 -Order   L -Error   L -Order
103.2530 ×  10 2 4.6209 ×  10 2
201.2858 ×  10 2 1.33911.6971 ×  10 2 1.4451
402.2103 ×  10 3 2.54043.4654 ×  10 3 2.2920
805.9012 ×  10 4 1.90529.1791 ×  10 4 1.9166
1601.7804 ×  10 4 1.72882.6539 ×  10 4 1.7902
3205.9818 ×  10 5 1.57368.2063 ×  10 5 1.6933
6401.7355 ×  10 5 1.78522.3272 ×  10 5 1.8181
12804.5091 ×  10 6 1.94446.1307 ×  10 6 1.9245
25601.4927 ×  10 6 1.59491.9607 ×  10 6 1.6447
51203.0864 ×  10 7 2.27394.3884 ×  10 7 2.1596
Exact option value at  S 0 : 5.75609968.
Table 7. Unmodified C-N on an exotic call option with quadratic payoff.
Table 7. Unmodified C-N on an exotic call option with quadratic payoff.
Time Steps N   L 2 -Error   L 2 -Order   L -Error   L -Order
102.8546 ×  10 1 5.3502 ×  10 1
207.1561 ×  10 2 1.99611.3917 ×  10 1 1.9428
401.7810 ×  10 2 2.00653.4844 ×  10 2 1.9978
804.4342 ×  10 3 2.00598.7139 ×  10 3 1.9995
1601.1058 ×  10 3 2.00352.1799 ×  10 3 1.9990
3202.7600 ×  10 4 2.00245.4472 ×  10 4 2.0007
6406.8835 ×  10 5 2.00341.3591 ×  10 4 2.0028
12801.7084 ×  10 5 2.01053.3713 ×  10 5 2.0113
25604.1531 ×  10 6 2.04048.1676 ×  10 6 2.0453
51209.0598 ×  10 7 2.19671.7631 ×  10 6 2.2118
Estimated option value at  S 0 : 1.80238666.
Table 8. Unmodified C-N with mesh adaptation (refinement region: grid points surrounding strike price; refinement ratio: 10% of grid points; refinement factor: 2) on an exotic call option with quadratic payoff.
Table 8. Unmodified C-N with mesh adaptation (refinement region: grid points surrounding strike price; refinement ratio: 10% of grid points; refinement factor: 2) on an exotic call option with quadratic payoff.
Time Steps N   L 2 -Error   L 2 -Order   L -Error   L -Order
102.8384 ×  10 1 5.3502 ×  10 1
207.1193 ×  10 2 1.99531.3917 ×  10 1 1.9428
401.7723 ×  10 2 2.00613.4844 ×  10 2 1.9978
804.4128 ×  10 3 2.00598.7139 ×  10 3 1.9995
1601.1009 ×  10 3 2.00302.1799 ×  10 3 1.9990
3202.7493 ×  10 4 2.00165.4472 ×  10 4 2.0007
6406.8627 ×  10 5 2.00221.3591 ×  10 4 2.0028
12801.7053 ×  10 5 2.00873.3713 ×  10 5 2.0113
25604.1528 ×  10 6 2.03798.1676 ×  10 6 2.0453
51209.0774 ×  10 7 2.19371.7631 ×  10 6 2.2118
Estimated option value at  S 0 : 1.80238670.
Table 9. Unmodified C-N on a discretely monitored option.
Table 9. Unmodified C-N on a discretely monitored option.
Time Steps per Day  N 0   L 2 -Error   L 2 -Order   L -Error   L -Order
13.6069 ×  10 2 7.7073 ×  10 2
22.9071 ×  10 2 0.31121.0085 ×  10 1 −0.3879
41.3482 ×  10 2 1.10855.5888 ×  10 2 0.8515
87.4259 ×  10 3 0.86047.8729 ×  10 2 −0.4944
163.4649 ×  10 3 1.09974.5890 ×  10 2 0.7787
322.0030 ×  10 3 0.79077.1400 ×  10 2 −0.6377
649.7519 ×  10 4 1.03844.3468 ×  10 2 0.7160
Reference option value at  S 0 : 1.83652751.
Table 10. Unmodified C-N with mesh adaptation (refinement region: grid points surrounding barriers; refinement ratio: 10% of grid points; refinement factor: 2) on a discretely monitored option.
Table 10. Unmodified C-N with mesh adaptation (refinement region: grid points surrounding barriers; refinement ratio: 10% of grid points; refinement factor: 2) on a discretely monitored option.
Time Steps per Day  N 0   L 2 -Error   L 2 -Order   L -Error   L -Order
12.9450 ×  10 2 1.0086 ×  10 1
21.3587 ×  10 2 1.11615.5891 ×  10 2 0.8516
47.2129 ×  10 3 0.91351.5366 ×  10 2 1.8628
83.5757 ×  10 3 1.01234.5890 ×  10 2 −1.5784
161.8192 ×  10 3 0.97491.4147 ×  10 2 1.6977
321.0506 ×  10 3 0.79224.3468 ×  10 2 −1.6195
644.5819 ×  10 4 1.19721.5059 ×  10 2 1.5293
Reference option value at  S 0 : 1.83652751.
Table 11. Modified C-N (order of modification:  C 0 ) on a discretely monitored option.
Table 11. Modified C-N (order of modification:  C 0 ) on a discretely monitored option.
Time Steps per Day  N 0   L 2 -Error   L 2 -Order   L -Error   L -Order
19.1679 ×  10 4 1.0413 ×  10 2
25.1266 ×  10 4 0.83868.4570 ×  10 3 0.3002
41.4637 ×  10 4 1.80842.5410 ×  10 3 1.7347
86.3903 ×  10 5 1.19572.2136 ×  10 3 0.1990
161.7888 ×  10 5 1.83697.1738 ×  10 4 1.6256
327.8390 ×  10 6 1.19025.4218 ×  10 4 0.4040
642.2096 ×  10 6 1.82692.0286 ×  10 4 1.4183
Reference option value at  S 0 : 1.83652751.
Table 12. Modified C-N (order of modification:  C 0 ) with mesh adaptation (refinement region: grid points surrounding barriers; refinement ratio: 10% of grid points; refinement factor: 2) on a discretely monitored option.
Table 12. Modified C-N (order of modification:  C 0 ) with mesh adaptation (refinement region: grid points surrounding barriers; refinement ratio: 10% of grid points; refinement factor: 2) on a discretely monitored option.
Time Steps per Day  N 0   L 2 -Error   L 2 -Order   L -Error   L -Order
16.0032 ×  10 4 8.4504 ×  10 3
21.2291 ×  10 4 2.28812.0014 ×  10 3 2.0780
45.0400 ×  10 5 1.28621.3139 ×  10 3 0.6072
81.3808 ×  10 5 1.86794.9008 ×  10 4 1.4227
166.3195 ×  10 6 1.12763.2296 ×  10 4 0.6017
321.3910 ×  10 6 2.18379.1382 ×  10 5 1.8214
648.1619 ×  10 7 0.76917.7478 ×  10 5 0.2381
Reference option value at  S 0 : 1.83652751.
Table 13. Modified C-N (order of modification:  C 1 ) on a discretely monitored option.
Table 13. Modified C-N (order of modification:  C 1 ) on a discretely monitored option.
Time Steps per Day  N 0   L 2 -Error   L 2 -Order   L -Error   L -Order
13.4536 ×  10 4 1.6624 ×  10 3
24.8800 ×  10 5 2.82323.9060 ×  10 4 2.0895
41.0948 ×  10 5 2.15611.4502 ×  10 4 1.4294
82.8768 ×  10 6 1.92822.8341 ×  10 5 2.3553
168.0608 ×  10 7 1.83558.4779 ×  10 6 1.7411
322.0010 ×  10 7 2.01021.8274 ×  10 6 2.2140
644.2000 ×  10 8 2.25234.8192 ×  10 7 1.9229
Reference option value at  S 0 : 1.83652751.
Table 14. Modified C-N (order of modification:  C 1 ) with mesh adaptation (refinement region: grid points surrounding barriers; refinement ratio: 15% of grid points; refinement factor: 2) on a discretely monitored option.
Table 14. Modified C-N (order of modification:  C 1 ) with mesh adaptation (refinement region: grid points surrounding barriers; refinement ratio: 15% of grid points; refinement factor: 2) on a discretely monitored option.
Time Steps per Day  N 0   L 2 -Error   L 2 -Order   L -Error   L -Order
14.8584 ×  10 5 3.9005 ×  10 4
21.2210 ×  10 5 1.99251.4489 ×  10 4 1.4288
43.0740 ×  10 6 1.98992.8372 ×  10 5 2.3524
88.6209 ×  10 7 1.83428.4697 ×  10 6 1.7441
162.1269 ×  10 7 2.01911.8294 ×  10 6 2.2110
324.5269 ×  10 8 2.23224.8141 ×  10 7 1.9260
649.7158 ×  10 10 5.54213.4793 ×  10 9 7.1123
Reference option value at  S 0 : 1.83652751.
Table 15. CN-RAN (with the first two C-N steps after each monitoring point replaced by four half-step FTCS steps) on a discretely monitored option.
Table 15. CN-RAN (with the first two C-N steps after each monitoring point replaced by four half-step FTCS steps) on a discretely monitored option.
Time Steps per Day  N 0   L 2 -Error   L 2 -Order   L -Error   L -Order
15.7654 ×  10 2 1.2330 ×  10 1
22.7923 ×  10 2 1.04605.9944 ×  10 2 1.0405
41.2227 ×  10 2 1.19142.6136 ×  10 2 1.1976
85.6326 ×  10 3 1.11811.2007 ×  10 2 1.1222
162.7276 ×  10 3 1.04625.8052 ×  10 3 1.0485
321.3349 ×  10 3 1.03092.8390 ×  10 3 1.0319
646.6204 ×  10 4 1.01181.4074 ×  10 3 1.0124
Reference option value at  S 0 : 1.83652751.
Table 16. TR-BDF2 (with  α = 2 2 ) on a discretely monitored option.
Table 16. TR-BDF2 (with  α = 2 2 ) on a discretely monitored option.
Time Steps per Day  N 0   L 2 -Error   L 2 -Order   L -Error   L -Order
14.1522 ×  10 2 8.7929 ×  10 2
22.1859 ×  10 2 0.92564.6308 ×  10 2 0.9251
41.0773 ×  10 2 1.02082.2860 ×  10 2 1.0184
85.2753 ×  10 3 1.03011.1204 ×  10 2 1.0289
162.6388 ×  10 3 0.99945.6054 ×  10 3 0.9991
321.3128 ×  10 3 1.00722.7893 ×  10 3 1.0069
646.5650 ×  10 4 0.99971.3950 ×  10 3 0.9997
Reference option value at  S 0 : 1.83652751.
Table 17. Comparison of different methods on a discretely monitored option.
Table 17. Comparison of different methods on a discretely monitored option.
Time Steps per Day  N 0 CN-C1CN-RAN
V ( T 0 , S 0 ) ErrorCPU Time V ( T 0 , S 0 ) ErrorCPU Time
16.7233 ×  10 4 0.56181.1520 ×  10 1 0.1195
23.1867 ×  10 5 0.64405.5935 ×  10 2 0.2298
41.9737 ×  10 5 0.85172.4723 ×  10 2 0.3972
86.3714 ×  10 6 1.42621.1473 ×  10 2 0.8562
161.8043 ×  10 6 2.87705.5642 ×  10 3 2.1088
324.5282 ×  10 7 7.39772.7281 ×  10 3 8.5549
649.4676 ×  10 8 23.49991.3534 ×  10 3 46.2784
Time Steps per Day  N 0 TR-BDF2FTCS
V ( T 0 , S 0 ) ErrorCPU Time V ( T 0 , S 0 ) ErrorCPU Time
18.5771 ×  10 2 0.11451.3770 ×  10 1 0.0648
24.4429 ×  10 2 0.22036.7278 ×  10 2 0.1141
42.1929 ×  10 2 0.48873.3502 ×  10 2 0.2415
81.0782 ×  10 2 1.20141.6546 ×  10 2 0.5837
165.3920 ×  10 3 3.88528.2700 ×  10 3 1.6694
322.6851 ×  10 3 19.86654.1230 ×  10 3 5.1475
641.3427 ×  10 3 96.95602.0614 ×  10 3 21.6645
Number of PathsMC
V ( T 0 , S 0 ) ErrorCPU Time
40,0002.6953 ×  10 2 13.1037
60,0005.6742 ×  10 3 17.2020
80,0006.3685 ×  10 3 22.7554
100,0003.2074 ×  10 3 28.0916
120,0001.6717 ×  10 3 33.6178
140,0003.2980 ×  10 4 38.8197
160,0003.2803 ×  10 3 44.4004
Reference option value at  S 0 : 1.83652751.
Table 18. CPU time (in seconds) required to achieve an accuracy level of  2 × 10 3 by different methods on a discretely monitored option.
Table 18. CPU time (in seconds) required to achieve an accuracy level of  2 × 10 3 by different methods on a discretely monitored option.
Time Steps per Day  N 0 CN-C1Time Steps per Day  N 0 CN-RAN
V ( T 0 , S 0 ) ErrorCPU Time V ( T 0 , S 0 ) ErrorCPU Time
16.7233 ×  10 4 0.5618432.0210 ×  10 3 16.2035
441.9749 ×  10 3 17.3225
43.4555 *2.0000 ×  10 3 16.7132 *
Time Steps per Day  N 0 TR-BDF2Time Steps per Day   N 0 FTCS
V ( T 0 , S 0 ) ErrorCPU Time V ( T 0 , S 0 ) ErrorCPU Time
422.0449 ×  10 3 34.4220652.0309 ×  10 3 21.8704
431.9971 ×  10 3 36.2668661.9978 ×  10 3 22.8741
42.9393 *2.0000 ×  10 3 36.1549 *65.9335 *2.0000 ×  10 3 22.8074 *
Number of PathMC
V ( T 0 , S 0 ) ErrorCPU Time
108,3002.1369 ×  10 3 26.7155
108,4001.6615 ×  10 3 25.8035
108,328.80 *2.0000 ×  10 3 26.4529 *
Reference option value at  S 0 : 1.83652751; *: Estimates obtained from linear interpolation.
Table 19. Comparison of CN-C1 with and without mesh adaptation (refinement region: grid points surrounding barriers; refinement ratio: 15% of grid points; refinement factor: 8) on a discretely monitored option.
Table 19. Comparison of CN-C1 with and without mesh adaptation (refinement region: grid points surrounding barriers; refinement ratio: 15% of grid points; refinement factor: 8) on a discretely monitored option.
  N 0 Uniform Grid with  8 N 0 Time Steps per Day Adaptive Mesh with  N 0 Time Steps per Day Save in CPU Time
V ( T 0 , S 0 ) ErrorCPU Time   τ 0 V ( T 0 , S 0 ) Error CPU Time  τ 1 ( τ 0 τ 1 )/ τ 0
16.3714 ×  10 6 1.42621.3181 ×  10 5 0.520363.52%
21.8043 ×  10 6 2.87703.6323 ×  10 6 1.014064.75%
44.5282 ×  10 7 7.39779.2715 ×  10 7 2.651464.16%
89.4676 ×  10 8 23.49992.1480 ×  10 7 7.706767.21%
Reference option value at  S 0 : 1.83652751.
Table 20. CN-C1-RAN1 on a discretely monitored option.
Table 20. CN-C1-RAN1 on a discretely monitored option.
Time Steps per Day  N 0 V
L 2 -Error L 2 -Order L -Error L -Order
14.9821 ×  10 3 1.1748 ×  10 2
21.2441 ×  10 3 2.00172.9359 ×  10 3 2.0006
43.1037 ×  10 4 2.00317.3259 ×  10 4 2.0027
87.6925 ×  10 5 2.01241.8167 ×  10 4 2.0117
161.9033 ×  10 5 2.01504.4944 ×  10 5 2.0151
324.5273 ×  10 6 2.07181.0692 ×  10 5 2.0716
649.0650 ×  10 7 2.32032.1407 ×  10 6 2.3203
Time Steps per Day  N 0   Δ
L 2 -Error L 2 -Order L -Error L -Order
15.7753 ×  10 2 2.9170 ×  10 1
21.3173 ×  10 2 2.13236.8630 ×  10 2 2.0876
43.2319 ×  10 3 2.02721.5790 ×  10 2 2.1198
88.0164 ×  10 4 2.01133.8938 ×  10 3 2.0198
161.9799 ×  10 4 2.01759.6006 ×  10 4 2.0200
324.7122 ×  10 5 2.07102.2842 ×  10 4 2.0714
649.4293 ×  10 6 2.32124.5697 ×  10 5 2.3215
Time Steps per Day  N 0   Γ
L 2 -Error L 2 -Order L -Error L -Order
15.2142 ×  10 0 4.5269 ×  10 1
21.0219 ×  10 0 2.35127.7774 ×  10 0 2.5411
42.1477 ×  10 1 2.25041.7798 ×  10 0 2.1275
84.9782 ×  10 2 2.10914.9207 ×  10 1 1.8548
161.1808 ×  10 2 2.07581.2036 ×  10 1 2.0316
322.7632 ×  10 3 2.09543.1979 ×  10 2 1.9121
645.5058 ×  10 4 2.32736.8740 ×  10 3 2.2179
Reference option value at  S 0 : 1.83652817; Reference option Delta at  S 0 7.15943969 ; Reference option Gamma at  S 0 135.82019205 .
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Luo, G.; Huang, M. An Analytically Modified Finite Difference Scheme for Pricing Discretely Monitored Options. Mathematics 2025, 13, 241. https://doi.org/10.3390/math13020241

AMA Style

Luo G, Huang M. An Analytically Modified Finite Difference Scheme for Pricing Discretely Monitored Options. Mathematics. 2025; 13(2):241. https://doi.org/10.3390/math13020241

Chicago/Turabian Style

Luo, Guo, and Min Huang. 2025. "An Analytically Modified Finite Difference Scheme for Pricing Discretely Monitored Options" Mathematics 13, no. 2: 241. https://doi.org/10.3390/math13020241

APA Style

Luo, G., & Huang, M. (2025). An Analytically Modified Finite Difference Scheme for Pricing Discretely Monitored Options. Mathematics, 13(2), 241. https://doi.org/10.3390/math13020241

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop