Preprint
Article

This version is not peer-reviewed.

An Analytically Modified Finite Difference Scheme for Pricing Discretely Monitored Options

A peer-reviewed article of this preprint also exists.

Submitted:

28 November 2024

Posted:

30 November 2024

You are already at the latest version

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 which 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 which 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.
Keywords: 
;  ;  ;  ;  ;  

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. 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. A 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
  • 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 (2.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 (2.3a) directly due to the discrete boundary conditions (2.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 (2.4) has a unique solution for each m, we have
V ( t , e Z ) = Y m ( t , Z ) , T m 1 < t T m ,
and by (2.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 (2.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 (2.2b). Now for each 1 m M , assume the terminal condition Y m ( T m , Z ) is known. The PDE (2.4a) is solved backward in t to yield Y m ( T m 1 , Z ) . Then we obtain V ( T m 1 , e Z ) by (2.5), which by (2.4b) is equal to Y m 1 ( T m 1 , Z ) , the terminal condition of the PDE (2.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.
Now we give a brief review of the standard procedure of solving (2.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 (2.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 (2.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 condition1
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 [14], although the FTCS method has better stability properties [13].
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 (2.8) and (2.9c) can be written together as a 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 (2.9c). Equation (2.10a) can be solved for Y l 1 m using the Thomas Algorithm, which has an O ( P ) complexity.
Note that the terminal condition (2.4b) is typically discontinuous as can be seen from (2.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 2.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 log 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 [14]. □
Since Y m ( T m , Z ) in the terminal condition (2.4b) generally has discontinuities at ln ( K m ± ) , we do not solve the terminal value problem (2.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 V ( T m , S ) is continuous for K m < S < K m + . We 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 + ) .
Note that by (2.2b)-(2.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 2.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 (2.12) numerically for U m ( T m 1 , Z ) and obtain V ( T m 1 , e Z ) using (2.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 2.2.
For the given terminal condition (2.2b), a closed-form expression can in fact be obtained for U M ( t , Z ) ; see, for example, [2]. 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 (2.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 (2.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 (2.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 (2.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 (2.15) and have obtained Y M ( T M 1 , Z ) by (2.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 (2.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 2.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 (2.16), which means we have the terminal condition U ˜ m 1 ( T m 1 , Z ) as in (2.18b). Then we repeat this process for m 1 .
We summarize the modified finite difference method as follows:
1:
for m = M 1 downto 1 do
2:
   Compute c m ± , d m ± using (2.16)
3:
   Solve (2.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 (2.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 (2.18) is the same as (2.4) except that the terminal condition (2.18b) now has a higher degree of smoothness, and the problem (2.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 (2.18b) is almost continuously differentiable (the jumps are of order h 2 by (2.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 (2.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 (2.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 (2.21) and (2.14b).
Recall from (2.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 ± , g m ± provide a better approximation to V ˜ S , m ± , V ˜ m ± than c m ± , 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 (2.23a) is the same as (2.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 (2.23b). We first solve the PDE (2.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 (2.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 , B l are ( 2 P + 1 ) × ( 2 P + 1 ) tridiagonal matrices as defined in (2.10). After solving for U ^ l 1 m from (2.24), we solve the PDE (2.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 , 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 , 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 (2.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 , U ^ l m at q 1 ± and q 2 ± . After solving for W l 1 , 0 ± m from (2.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
1 1 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 (2.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 (2.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 2.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:
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 downto 1 do
3:
    Compute f m ± , g m ± using (2.22)
4:
    Solve (2.23) numerically for one time step (with step size k) on coarse grid
5:
    Solve (2.23) numerically for n time steps (with step size k / n ) on fine grids, using (2.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 (2.28)
8:
end for
9:
Obtain 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 final payoff:
    V ( T M , S ) = 0 , S < K M + b M + , S K M + .
  • Option II: An asset-or-nothing call option with final payoff:
    V ( T M , S ) = 0 , S < K M + a M + S , S K M + .
  • Option III: A vanilla call option with 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 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 degree 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 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 interval2
I 0 : = [ S 0 e 6 σ , S 0 e 6 σ ] [ 0.33131363 , 3.65212862 ] ,
with a time step k = ( T M T 0 ) / N = 1 / N and a mesh size h = k , where N ranges from 10 to 5,120. 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 formula:
p N = ln ( ϵ N / 2 / ϵ N ) ln 2 .
It can be observed from these tables that:
  • For the first two options (I-II), the C-N method converges at only 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 a 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 3.2).
  • 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 which 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, Section 3.3).
Remark 3.1.
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 3.2.
We have carried out a preliminary error analysis for the proposed method and found that the convergence rate corresponding to a discontinuous, C 0 , and C 1 terminal condition is 1 / 3 , 1 , and 5 / 3 , respectively. However, these results are likely suboptimal because they didn’t 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:
  • A 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 (2.12b) with V ˜ S , m + = V ˜ S , m = 0 and which is only continuous at the barriers.
  • A 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 (2.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.
It can be observed from these tables that:
  • 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 1 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 3 / 2 and in L at an average rate of roughly 1 (Table 11), while with C 1 -modifications, the convergence in both L 2 and L has an average rate of roughly 2 (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 another 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. It can be observed from these tables that:
  • Both methods exhibit very similar convergence behaviors and converge in both L 2 and L at an average rate of roughly 1. 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 a 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).
Table 17. Comparison of different methods on a discretely monitored option.
Table 17. Comparison of different methods on a discretely monitored option.
Time Steps CN-C1 CN-RAN
per day N 0 V ( T 0 , S 0 ) error CPU time V ( T 0 , S 0 ) error CPU time
1 6.7233 × 10 4 0.5618 1.1520 × 10 1 0.1195
2 3.1867 × 10 5 0.6440 5.5935 × 10 2 0.2298
4 1.9737 × 10 5 0.8517 2.4723 × 10 2 0.3972
8 6.3714 × 10 6 1.4262 1.1473 × 10 2 0.8562
16 1.8043 × 10 6 2.8770 5.5642 × 10 3 2.1088
32 4.5282 × 10 7 7.3977 2.7281 × 10 3 8.5549
64 9.4676 × 10 8 23.4999 1.3534 × 10 3 46.2784
Reference option value at S 0 : 1.83652751.
Time steps TR-BDF2 FTCS
per day N 0 V ( T 0 , S 0 ) error CPU time V ( T 0 , S 0 ) error CPU time
1 8.5771 × 10 2 0.1145 1.3770 × 10 1 0.0648
2 4.4429 × 10 2 0.2203 6.7278 × 10 2 0.1141
4 2.1929 × 10 2 0.4887 3.3502 × 10 2 0.2415
8 1.0782 × 10 2 1.2014 1.6546 × 10 2 0.5837
16 5.3920 × 10 3 3.8852 8.2700 × 10 3 1.6694
32 2.6851 × 10 3 19.8665 4.1230 × 10 3 5.1475
64 1.3427 × 10 3 96.9560 2.0614 × 10 3 21.6645
Reference option value at S 0 : 1.83652751.
  Number MC  
  of paths V ( T 0 , S 0 ) error CPU time  
  40000 2.6953 × 10 2 13.1037  
  60000 5.6742 × 10 3 17.2020  
  80000 6.3685 × 10 3 22.7554  
  100000 3.2074 × 10 3 28.0916  
  120000 1.6717 × 10 3 33.6178  
  140000 3.2980 × 10 4 38.8197  
  160000 3.2803 × 10 3 44.4004  
Reference option value at S 0 : 1.83652751.
For each method, the (pointwise) error of the option value at S 0 , together with the CPU time (in seconds)3 used to obtain the pricing result, are shown for different time steps N 0 . Each CPU time is measured by running the corresponding code 5 times and dividing the total CPU time by 5. 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 seconds while the other four methods require
  • 16.7132 seconds (CN-RAN),
  • 36.1549 seconds (TR-BDF2),
  • 22.8074 seconds (FTCS), and
  • 26.4529 seconds (MC),
respectively (Table 18). This confirms the efficiency of the CN-C1 method.
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 CN-C1 Time Steps CN-RAN
per day N 0 V ( T 0 , S 0 ) error CPU time per day N 0 V ( T 0 , S 0 ) error CPU time
1 6.7233 × 10 4 0.5618 43 2.0210 × 10 3 16.2035
44 1.9749 × 10 3 17.3225
43 . 4555 * 2.0000 × 10 3 16 . 7132 *
Reference option value at S 0 : 1.83652751.
*: Estimates obtained from linear interpolation.
Time steps TR-BDF2 Time steps FTCS
per day N 0 V ( T 0 , S 0 ) error CPU time per day N 0 V ( T 0 , S 0 ) error CPU time
42 2.0449 × 10 3 34.4220 65 2.0309 × 10 3 21.8704
43 1.9971 × 10 3 36.2668 66 1.9978 × 10 3 22.8741
42 . 9393 * 2.0000 × 10 3 36 . 1549 * 65 . 9335 * 2.0000 × 10 3 22 . 8074 *
Reference option value at S 0 : 1.83652751.
*: Estimates obtained from linear interpolation.
  Number MC    
  of paths V ( T 0 , S 0 ) error CPU time    
  108300 2.1369 × 10 3 26.7155    
  108400 1.6615 × 10 3 25.8035    
  108328 . 80 * 2.0000 × 10 3 26 . 4529 *    
  Reference option value at S 0 : 1.83652751.    
*: Estimates obtained from linear interpolation.
Remark 3.3.
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 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% save 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 (2.17)) which 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 3.4.
When applied with mesh adaptation, the CN-C1-RAN1 method produces option Greeks Δ , Γ 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 grid (see (2.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 the readers to consider CN-C1-RAN1 (without mesh adaptation) if accurate approximation to option Greeks is important and to 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 smoothness of terminal conditions for the proposed method. We have done some preliminary analysis along this direction (Remark 3.2) and the full analysis is currently a work in progress. 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 a 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

Data sharing is not applicable.

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 the authors’ own. They do not reflect the views of China Merchants Bank or its employees and affiliates whatsoever. The authors declare no conflict of interest.

References

  1. A. Andricopoulos, M. A. Andricopoulos, M. Widdicks, P. Duck, D. Newton, Universal option valuation using quadrature methods, J. Financ. Econ. 67 (3) (2003) 447–471. [CrossRef]
  2. M. Huang, G. Luo, A simple and efficient numerical method for pricing discretely monitored early-exercise options, Appl. Math. Comput. 422 (2022) 126985. [CrossRef]
  3. G. Fusai, I. G. Fusai, I. Abrahams, C. Sgarra, An exact analytical solution for discrete barrier options, Finance Stochast. 10 (1) (2006) 1–26. [CrossRef]
  4. L. Feng, V. L. Feng, V. Linetsky, Pricing discretely monitored barrier options and defaultable bonds in Lévy process models: a fast Hilbert transform approach, Math. Financ. 18 (3) (2008) 337–384. [CrossRef]
  5. F. Fang, C.; F. Fang, C. Oosterlee. Pricing early-exercise and discrete barrier options by Fourier-cosine series expansions. Numer. Math. 2009, 114, 27–62. [Google Scholar] [CrossRef]
  6. L. Feng, X. L. Feng, X. Lin, Pricing Bermudan options in Lévy process models, SIAM J. Finan. Math. 4 (1) (2013) 474–493. [CrossRef]
  7. A. Golbabai, L. A. Golbabai, L. Ballestra, D. Ahmadian, A highly accurate finite element method to price discrete double barrier options, Comput. Econ. 44 (2) (2014) 153–173. [CrossRef]
  8. M. Broadie, P. M. Broadie, P. Glasserman, S. Kou, A continuity correction for discrete barrier options, Math. Financ. 7 (4) (1997) 325–348. [CrossRef]
  9. J. Wei, Valuation of discrete barrier options by interpolations, J. Deriv. 6 (1) (1998) 51–73. [CrossRef]
  10. D.-H. Ahn, S. D.-H. Ahn, S. Figlewski, B. Gao, Pricing discrete barrier options with an adaptive mesh model, J. Deriv. 6 (4) (1999) 33–43. [CrossRef]
  11. M. Giles, R. M. Giles, R. Carter, Convergence analysis of Crank-Nicolson and Rannacher time-marching, J. Comput. Financ. 9 (4) (2006) 89–112. [CrossRef]
  12. R. Rannacher, Finite element solution of diffusion problems with irregular data, Numer. Math. 43 (1984) 309–327. [CrossRef]
  13. F. Le Floc’h, TR-BDF2 for fast stable American option pricing, J. Comput. Financ. 17 (3) (2014) 31–56. [CrossRef]
  14. J. Hull, Options, Futures, and Other Derivatives, 9th Edition, Pearson, 2014.

Notes

1
Note, in view of the linear boundary condition (2.2c), that the extrapolation boundary condition (2.9a) is a natural choice of the numerical boundary condition at j = 0 , 2 P .
2
Note that the actual computational domain is [ ln ( S 0 ) 6 σ , ln ( S 0 ) + 6 σ ] .
3
The code is developed in Python and is run on a personal computer.
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).
Preprints 141239 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.
Preprints 141239 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).
Preprints 141239 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).
Preprints 141239 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
10 5.8171 × 10 0 9.8610 × 10 0
20 2.9073 × 10 0 1.0006 4.8658 × 10 0 1.0191
40 1.4550 × 10 0 0.9986 2.4428 × 10 0 0.9941
80 7.2763 × 10 1 0.9997 1.2224 × 10 0 0.9988
160 3.6379 × 10 1 1.0001 6.1104 × 10 1 1.0004
320 1.8189 × 10 1 1.0000 3.0550 × 10 1 1.0001
640 9.0947 × 10 2 1.0000 1.5275 × 10 1 1.0000
1280 4.5473 × 10 2 1.0000 7.6376 × 10 2 1.0000
2560 2.2737 × 10 2 1.0000 3.8188 × 10 2 1.0000
5120 1.1368 × 10 2 1.0000 1.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
10 3.1317 × 10 0 5.2137 × 10 0
20 1.4875 × 10 0 1.0741 2.4860 × 10 0 1.0685
40 7.2892 × 10 1 1.0290 1.2223 × 10 0 1.0242
80 3.6387 × 10 1 1.0023 6.1124 × 10 1 0.9998
160 1.8189 × 10 1 1.0003 3.0551 × 10 1 1.0005
320 9.0947 × 10 2 1.0000 1.5275 × 10 1 1.0000
640 4.5473 × 10 2 1.0000 7.6376 × 10 2 1.0000
1280 2.2737 × 10 2 1.0000 3.8188 × 10 2 1.0000
2560 1.1368 × 10 2 1.0000 1.9094 × 10 2 1.0000
5120 5.6842 × 10 3 1.0000 9.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
10 6.9281 × 10 0 1.1685 × 10 1
20 3.4987 × 10 0 0.9856 5.8427 × 10 0 0.9999
40 1.7599 × 10 0 0.9913 2.9519 × 10 0 0.9850
80 8.7137 × 10 1 1.0142 1.4632 × 10 0 1.0125
160 4.3621 × 10 1 0.9983 7.3249 × 10 1 0.9982
320 2.1824 × 10 1 0.9991 3.6650 × 10 1 0.9990
640 1.0915 × 10 1 0.9995 1.8332 × 10 1 0.9995
1280 5.4586 × 10 2 0.9998 9.1678 × 10 2 0.9997
2560 2.7285 × 10 2 1.0004 4.5825 × 10 2 1.0004
5120 1.3643 × 10 2 0.9999 2.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
10 3.7822 × 10 0 6.2695 × 10 0
20 1.8067 × 10 0 1.0659 3.0115 × 10 0 1.0579
40 8.7547 × 10 1 1.0452 1.4660 × 10 0 1.0386
80 4.3694 × 10 1 1.0026 7.3348 × 10 1 0.9991
160 2.1841 × 10 1 1.0004 3.6672 × 10 1 1.0001
320 1.0920 × 10 1 1.0000 1.8338 × 10 1 0.9998
640 5.4600 × 10 2 1.0000 9.1696 × 10 2 0.9999
1280 2.7289 × 10 2 1.0006 4.5831 × 10 2 1.0005
2560 1.3644 × 10 2 1.0000 2.2916 × 10 2 1.0000
5120 6.8213 × 10 3 1.0002 1.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
10 7.9800 × 10 2 1.6636 × 10 1
20 1.0897 × 10 2 2.8725 1.5701 × 10 2 3.4054
40 3.3141 × 10 3 1.7172 5.0951 × 10 3 1.6237
80 1.9199 × 10 3 0.7876 3.7769 × 10 3 0.4319
160 3.9259 × 10 4 2.2900 7.8586 × 10 4 2.2649
320 6.3321 × 10 5 2.6323 1.2798 × 10 4 2.6184
640 1.0403 × 10 5 2.6057 1.6422 × 10 5 2.9622
1280 2.8782 × 10 6 1.8537 4.5740 × 10 6 1.8441
2560 6.5587 × 10 7 2.1337 9.9775 × 10 7 2.1967
5120 2.0410 × 10 7 1.6841 3.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
10 3.2530 × 10 2 4.6209 × 10 2
20 1.2858 × 10 2 1.3391 1.6971 × 10 2 1.4451
40 2.2103 × 10 3 2.5404 3.4654 × 10 3 2.2920
80 5.9012 × 10 4 1.9052 9.1791 × 10 4 1.9166
160 1.7804 × 10 4 1.7288 2.6539 × 10 4 1.7902
320 5.9818 × 10 5 1.5736 8.2063 × 10 5 1.6933
640 1.7355 × 10 5 1.7852 2.3272 × 10 5 1.8181
1280 4.5091 × 10 6 1.9444 6.1307 × 10 6 1.9245
2560 1.4927 × 10 6 1.5949 1.9607 × 10 6 1.6447
5120 3.0864 × 10 7 2.2739 4.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
10 2.8546 × 10 1 5.3502 × 10 1
20 7.1561 × 10 2 1.9961 1.3917 × 10 1 1.9428
40 1.7810 × 10 2 2.0065 3.4844 × 10 2 1.9978
80 4.4342 × 10 3 2.0059 8.7139 × 10 3 1.9995
160 1.1058 × 10 3 2.0035 2.1799 × 10 3 1.9990
320 2.7600 × 10 4 2.0024 5.4472 × 10 4 2.0007
640 6.8835 × 10 5 2.0034 1.3591 × 10 4 2.0028
1280 1.7084 × 10 5 2.0105 3.3713 × 10 5 2.0113
2560 4.1531 × 10 6 2.0404 8.1676 × 10 6 2.0453
5120 9.0598 × 10 7 2.1967 1.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
10 2.8384 × 10 1 5.3502 × 10 1
20 7.1193 × 10 2 1.9953 1.3917 × 10 1 1.9428
40 1.7723 × 10 2 2.0061 3.4844 × 10 2 1.9978
80 4.4128 × 10 3 2.0059 8.7139 × 10 3 1.9995
160 1.1009 × 10 3 2.0030 2.1799 × 10 3 1.9990
320 2.7493 × 10 4 2.0016 5.4472 × 10 4 2.0007
640 6.8627 × 10 5 2.0022 1.3591 × 10 4 2.0028
1280 1.7053 × 10 5 2.0087 3.3713 × 10 5 2.0113
2560 4.1528 × 10 6 2.0379 8.1676 × 10 6 2.0453
5120 9.0774 × 10 7 2.1937 1.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 N0 L2-error L2-order L-error L-order
1 3.6069 × 10 2 7.7073 × 10 2
2 2.9071 × 10 2 0.3112 1.0085 × 10 1 0.3879
4 1.3482 × 10 2 1.1085 5.5888 × 10 2 0.8515
8 7.4259 × 10 3 0.8604 7.8729 × 10 2 0.4944
16 3.4649 × 10 3 1.0997 4.5890 × 10 2 0.7787
32 2.0030 × 10 3 0.7907 7.1400 × 10 2 0.6377
64 9.7519 × 10 4 1.0384 4.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 N0 L2-error L2-order L-error L-order
1 2.9450 × 10 2 1.0086 × 10 1
2 1.3587 × 10 2 1.1161 5.5891 × 10 2 0.8516
4 7.2129 × 10 3 0.9135 1.5366 × 10 2 1.8628
8 3.5757 × 10 3 1.0123 4.5890 × 10 2 1.5784
16 1.8192 × 10 3 0.9749 1.4147 × 10 2 1.6977
32 1.0506 × 10 3 0.7922 4.3468 × 10 2 1.6195
64 4.5819 × 10 4 1.1972 1.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 N0 L2-error L2-order L-error L-order
1 9.1679 × 10 4 1.0413 × 10 2
2 5.1266 × 10 4 0.8386 8.4570 × 10 3 0.3002
4 1.4637 × 10 4 1.8084 2.5410 × 10 3 1.7347
8 6.3903 × 10 5 1.1957 2.2136 × 10 3 0.1990
16 1.7888 × 10 5 1.8369 7.1738 × 10 4 1.6256
32 7.8390 × 10 6 1.1902 5.4218 × 10 4 0.4040
64 2.2096 × 10 6 1.8269 2.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 N0 L2-error L2-order L-error L-order
1 6.0032 × 10 4 8.4504 × 10 3
2 1.2291 × 10 4 2.2881 2.0014 × 10 3 2.0780
4 5.0400 × 10 5 1.2862 1.3139 × 10 3 0.6072
8 1.3808 × 10 5 1.8679 4.9008 × 10 4 1.4227
16 6.3195 × 10 6 1.1276 3.2296 × 10 4 0.6017
32 1.3910 × 10 6 2.1837 9.1382 × 10 5 1.8214
64 8.1619 × 10 7 0.7691 7.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 N0 L2-error L2-order L-error L-order
1 3.4536 × 10 4 1.6624 × 10 3
2 4.8800 × 10 5 2.8232 3.9060 × 10 4 2.0895
4 1.0948 × 10 5 2.1561 1.4502 × 10 4 1.4294
8 2.8768 × 10 6 1.9282 2.8341 × 10 5 2.3553
16 8.0608 × 10 7 1.8355 8.4779 × 10 6 1.7411
32 2.0010 × 10 7 2.0102 1.8274 × 10 6 2.2140
64 4.2000 × 10 8 2.2523 4.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 N0 L2-error L2-order L-error L-order
1 4.8584 × 10 5 3.9005 × 10 4
2 1.2210 × 10 5 1.9925 1.4489 × 10 4 1.4288
4 3.0740 × 10 6 1.9899 2.8372 × 10 5 2.3524
8 8.6209 × 10 7 1.8342 8.4697 × 10 6 1.7441
16 2.1269 × 10 7 2.0191 1.8294 × 10 6 2.2110
32 4.5269 × 10 8 2.2322 4.8141 × 10 7 1.9260
64 9.7158 × 10 10 5.5421 3.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 N0 L2-error L2-order L-error L-order
1 5.7654 × 10 2 1.2330 × 10 1
2 2.7923 × 10 2 1.0460 5.9944 × 10 2 1.0405
4 1.2227 × 10 2 1.1914 2.6136 × 10 2 1.1976
8 5.6326 × 10 3 1.1181 1.2007 × 10 2 1.1222
16 2.7276 × 10 3 1.0462 5.8052 × 10 3 1.0485
32 1.3349 × 10 3 1.0309 2.8390 × 10 3 1.0319
64 6.6204 × 10 4 1.0118 1.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 N0 L2-error L2-order L-error L-order
1 4.1522 × 10 2 8.7929 × 10 2
2 2.1859 × 10 2 0.9256 4.6308 × 10 2 0.9251
4 1.0773 × 10 2 1.0208 2.2860 × 10 2 1.0184
8 5.2753 × 10 3 1.0301 1.1204 × 10 2 1.0289
16 2.6388 × 10 3 0.9994 5.6054 × 10 3 0.9991
32 1.3128 × 10 3 1.0072 2.7893 × 10 3 1.0069
64 6.5650 × 10 4 0.9997 1.3950 × 10 3 0.9997
Reference option value at S 0 : 1.83652751.
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.
Uniform grid with Adaptive mesh with Save in
N 0 8 N 0 time steps per day N 0 time steps per day CPU time
V ( T 0 , S 0 ) error CPU time τ 0 V ( T 0 , S 0 ) error CPU time τ 1 ( τ 0 τ 1 ) / τ 0
1 6.3714 × 10 6 1.4262 1.3181 × 10 5 0.5203 63.52 %
2 1.8043 × 10 6 2.8770 3.6323 × 10 6 1.0140 64.75 %
4 4.5282 × 10 7 7.3977 9.2715 × 10 7 2.6514 64.16 %
8 9.4676 × 10 8 23.4999 2.1480 × 10 7 7.7067 67.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 V
per day N 0 L 2 -error L 2 - order L -error L - order
1 4.9821 × 10 3 1.1748 × 10 2
2 1.2441 × 10 3 2.0017 2.9359 × 10 3 2.0006
4 3.1037 × 10 4 2.0031 7.3259 × 10 4 2.0027
8 7.6925 × 10 5 2.0124 1.8167 × 10 4 2.0117
16 1.9033 × 10 5 2.0150 4.4944 × 10 5 2.0151
32 4.5273 × 10 6 2.0718 1.0692 × 10 5 2.0716
64 9.0650 × 10 7 2.3203 2.1407 × 10 6 2.3203
Reference option value at S 0 : 1.83652817.
Time steps Δ
per day N 0 L 2 -error L 2 - order L -error L - order
1 5.7753 × 10 2 2.9170 × 10 1
2 1.3173 × 10 2 2.1323 6.8630 × 10 2 2.0876
4 3.2319 × 10 3 2.0272 1.5790 × 10 2 2.1198
8 8.0164 × 10 4 2.0113 3.8938 × 10 3 2.0198
16 1.9799 × 10 4 2.0175 9.6006 × 10 4 2.0200
32 4.7122 × 10 5 2.0710 2.2842 × 10 4 2.0714
64 9.4293 × 10 6 2.3212 4.5697 × 10 5 2.3215
Reference option Delta at S 0 : 7.15943969 .
Time steps Γ
per day N 0 L 2 -error L 2 - order L -error L - order
1 5.2142 × 10 0 4.5269 × 10 1
2 1.0219 × 10 0 2.3512 7.7774 × 10 0 2.5411
4 2.1477 × 10 1 2.2504 1.7798 × 10 0 2.1275
8 4.9782 × 10 2 2.1091 4.9207 × 10 1 1.8548
16 1.1808 × 10 2 2.0758 1.2036 × 10 1 2.0316
32 2.7632 × 10 3 2.0954 3.1979 × 10 2 1.9121
64 5.5058 × 10 4 2.3273 6.8740 × 10 3 2.2179
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.
Copyright: This open access article is published under a Creative Commons CC BY 4.0 license, which permit the free download, distribution, and reuse, provided that the author and preprint are cited in any reuse.
Prerpints.org logo

Preprints.org is a free preprint server supported by MDPI in Basel, Switzerland.

Subscribe

Disclaimer

Terms of Use

Privacy Policy

Privacy Settings

© 2025 MDPI (Basel, Switzerland) unless otherwise stated