1 Introduction

The Kurganov–Tadmor scheme [14] was originally developed to solve hyperbolic conservation laws. This second-order semi-discrete central-upwind conservative scheme was applied to option pricing problems by [23]. Recently, [4] proposed an improvement of [23] approach and efficiently priced several types of options under the “Black-Box” framework; appropriate time methods and a fully vectorised approach for slope limiter are used. Among several researches contributing to option pricing literature, weighted essentially non-oscillatory (WENO) approach was proposed in [7, 22] and [8]. These methods offer efficient approximations but are tailor developed according to options’ specificity and require further operations like grid stretching or variable transformation. In this paper, we propose the application of the third-order semi-discrete central-upwind conservative and WENO based scheme by [12], denoted as KL, to option pricing partial differential equations (PDEs). In line with [4], we avail of the “Black-Box” feature of KL and its extensions, namely the KL-KNP by [13] and KL-CTO by [11], to price several types of options.

The central-upwind methods retain the simple and “Black-Box” property of central schemes; no Riemann solver and characteristic decomposition is required. The class of central schemes is applied to a wide variety of hyperbolic conservation laws and related PDEs. A partial list of more than 200 references can be found in CentPack [2]. The third-order KL is derived independently of a sufficiently accurate and non-oscillatory quadratic piecewise polynomial reconstruction, which is built from previously computed cell averages. In [12], the central weighted essentially non-oscillatory (CWENO) reconstruction by [16] is used. It provides a quadratic interpolant, which ensures the essentially non-oscillatory property. The interpolant is composed of a convex combination of two one-sided linear functions and one centered parabola. It guarantees third-order accuracy in smooth regions and automatically switches to a second-order, one-sided, linear reconstruction in the presence of large gradients. Further, [12] extended KL to solve two-dimensional convection-diffusion PDEs by implementing the CWENO reconstruction using the dimension by dimension approach. The main idea of KL-KNP is the use of more precise information about local speeds of propagation. For KL-CTO, the CWENO reconstruction was adapted to KL, with the parameter 𝜖 in the non-linear weights of the scheme set proportional to the square of the mesh size to achieve optimal order of accuracy.

In this paper, we describe the conservative KL scheme’s algorithm for option pricing PDEs, which is combined with an appropriate time solver to ensure computational efficiency. KL-KNP and KL-CTO are likewise discussed. Extensions to one- and two-dimensional convection-diffusion-reaction PDEs are proposed. Further, the use of appropriate time methods is discussed. We consider several one-dimensional problems under the Black–Scholes model, namely European, butterfly, barrier and American options as well as non-linear option pricing PDE, to test the robustness and flexibility of the methods. We also consider Asian option pricing under a two-dimensional PDE. American options are priced under the constant elasticity of variance (CEV) model [6], which assumes volatility to be a stochastic instead of a constant, as considered by the Black–Scholes model.

This paper is organised as follows. In Section 2, we overview the backward-in-time Black–Scholes PDE. Section 3 presents the KL, KL-KNP and KL-CTO schemes. In conformity to the conservative schemes, forward-in-time Black–Scholes PDEs are described. We also present the algorithm of KL, which is easily modified to KL-KNP and KL-CTO. In Section 4, appropriate time methods are discussed and numerical experiments are performed to price several options under the Black–Scholes and CEV models.

2 Basics of Options and Option Pricing

We consider the backward-in-time parabolic Black–Scholes PDE by [5] and [21],

$$ \frac{\partial v}{\partial{t}} + \frac{1}{2} \sigma^{2} {s}^{2} \frac{\partial^{2}{v}}{\partial{s^{2}}} + (r-\delta) s \frac{\partial{v}}{\partial{s}} - r v = 0, \quad (t,s) \in [0,T] \times [0,\infty), $$
(1)

with risk-free interest rate r, constant volatility σ and option price v := v(s, t). The price process {s(t)}t≥ 0, where s := s(t), follows the stochastic differential equation ds(t) = (rδ)s(t) dt + σs(t) dW(t) under the risk-neutral measure, with continuous dividend yield δ and Wiener process W(t). PDE (1) serves as a benchmark for testing numerical methods subject to strike price K, terminal payoff function v(s, T) and boundary conditions v(s, t) for s → 0 and s. For European options,

$$ v(s,T) = \max(\phi(s - K),0) \quad \text{with} \quad \phi = \left\{\begin{array}{ll} 1&\quad \text{for call},\\ -1& \quad \text{for put}, \end{array}\right. $$
(2)

and

$$ \left.\begin{array}{ll} v(s,t) = 0, &\text{ as } s \rightarrow 0\\ v(s,t) = s \exp{(-\delta(T-t))} - K\exp{(-r(T-t))}, &\text{ as }s \rightarrow \infty \end{array} \right\} \text{ for call,} $$
(3)
$$ \left.\begin{array}{ll} v(s,t) = K\exp{(-r(T-t))} - s \exp{(-\delta(T-t))}, &\text{ as }s \rightarrow 0 \\ v(s,t) = 0, &\text{ as }s \rightarrow \infty \end{array}\right\} \text{ for put}. $$
(4)

For American options, which offer rights to early exercise the contract, (1) becomes an inequality of the form,

$$ \frac{\partial v}{\partial{t}} + \frac{1}{2} \sigma^{2} {s}^{2} \frac{\partial^{2}{v}}{\partial{s^{2}}} + (r - \delta) s \frac{\partial{v}}{\partial{s}} - r v \leq 0. $$

The early exercise condition is incorporated by imposing the constraint,

$$ v(s,t) \geq \max(\phi(s - K),0) \quad \text{with} \quad \phi = \left\{\begin{array}{ll} 1&\quad \text{for call},\\ -1& \quad \text{for put}, \end{array}\right. $$
(5)

and boundary conditions [27],

$$ \begin{array}{@{}rcl@{}} &&\left.\begin{array}{ll} v(s,t) = 0, \quad &\text{as} \quad s \rightarrow 0\\ v(s,t) = s - K, \quad &\text{as} \quad s \rightarrow \infty \end{array}\right\} \text{ for call,}\\ &&\left.\begin{array}{ll} v(s,t) = K - s, \quad &\text{as} \quad s \rightarrow 0 \\ v(s,t) = 0, \quad &\text{as} \quad s \rightarrow \infty \end{array}\right\} \text{ for put.} \end{array} $$
(6)

For exotic path-dependent Asian options, which rely on the continuous arithmetic average a := a(t) of the asset price s over [0, t], where \(a:= \frac {1}{t} {{\int }_{0}^{t}} s(\tau ) \text {d}\tau \), no efficient analytical solution exists. Letting Asian options’ price v := v(s, a, t), [3] modified (1) to formulate a PDE defined in two spatial variables s and a,

$$ \frac{\partial v}{\partial{t}} + \frac{1}{2} \sigma^{2} {s}^{2} \frac{\partial^{2} v}{\partial{s^{2}}} + rs\frac{\partial v}{\partial{s}} - r v + \frac{1}{t}(s-a)\frac{\partial v}{\partial a} = 0, $$
(7)

subject to terminal payoffs for fixed strike options,

$$ v(s,a,T) = \left\{\begin{array}{ll} \max(a - K,0) & \text{ for call},\\ \max(K - a,0) & \text{ for put}, \end{array}\right. $$
(8)

and boundary conditions

$$ \begin{array}{@{}rcl@{}} \frac{\partial v}{\partial t} &-& \frac{a}{t}\frac{\partial v}{\partial a} - rv =0, \qquad \text{as} \quad s \rightarrow 0,\\ \frac{\partial v}{\partial t} &+& \frac{1}{t}(s-a)\frac{\partial v}{\partial a} =0, \quad ~ \text{as} \quad s \rightarrow \infty. \end{array} $$
(9)

As discussed in [30], PDE (7) is convectively dominated due to the absence of diffusion term in a-direction.

3 Third-Order Reconstructions

In this paper, we aim to price options using non-oscillatory third-order semi-discrete spatial discretisations, to be integrated with efficient time methods. Therefore, we briefly summarise the central-upwind KL scheme developed in [12], which originally solves the hyperbolic conservation laws

$$ \frac{\partial v}{\partial t} + \frac{\partial}{\partial s}F(v) = 0, $$
(10)

with spatial variable s and convection flux F. KL is extended to solve the convection-diffusion-reaction PDE,

$$ \frac{\partial v}{\partial t} + \frac{\partial}{\partial s}F(v) = \frac{\partial}{\partial s}Q(v,v_{s}) + S(v), $$
(11)

with diffusion flux Q and source term S. We briefly describe the setup of central schemes for (10) over the truncated interval [smin, smax]. For \(N \in \mathbb {N}\), we consider \(\{s_{j}\}_{j=0}^{N}\) with spatial width Δs := sj+ 1sj and time step Δtn := tn+ 1tn. We define v(sj, tn) and \({v_{j}^{n}} \) respectively as the exact and approximate solution at (sj, tn). The cell averages over \(I{(s_{j})}:= \{\xi :|\xi - s_{j}| \leq \frac {{\Delta } s}{2}\}\) are defined as \(\bar {v}_{j} \approx \bar {v}(s_{j},t):= \frac {1}{{\Delta } s}{\int }_{I{(s_{j})}} v(s,t) \text {d}s\). Integrating (10) over I(sj) × [tn, tn+ 1], gives

$$ \bar{v}_{j+\frac{1}{2}}^{n+1} = \bar{v}_{j+\frac{1}{2}}^{n} - \frac{1}{{\Delta} s} {\int}_{t^{n}}^{t^{n+1}} \left[F\left( v\left( s_{j+1}, t\right)\right) - F\left( v\left( s_{j}, t\right)\right)\right] \text{d}t. $$
(12)

Assuming previously computed cell averages \(\{\bar {v}_{j}^{n}\}\) and using (12), cell averages at tn+ 1 are obtained. Based on the polynomial Pj(s, tn), which is built from \(\{\bar {v}_{j}^{n}\}\), a piecewise polynomial is reconstructed,

$$ v(s,t^{n}) \approx \sum\limits_{j} P_{j}(s,t^{n})\chi_{j}(s), $$
(13)

with characteristic function χj(s) of the cell Ij := I(sj). Using (13), the term \(\bar {v}_{j+\frac {1}{2}}^{n}\) of (12) is computed,

$$ \bar{v}_{j+\frac{1}{2}}^{n} = {\int}^{s_{j+\frac{1}{2}}}_{s_{j}} P_{j}(s, t^{n}) \text{d}s + {\int}_{s_{j+\frac{1}{2}}}^{s_{j+1}} P_{j+1}(s,t^{n}) \text{d}s. $$

In [12], overall third-order accuracy of KL was ensured using the quadratic CWENO polynomial from [17] for (13) and Simpson’s quadrature [18] for integrals of (12).

3.1 CWENO Reconstruction

A quadratic polynomial is constructed in each cell Ij, as a convex combination of two linear one-sided left PL(s), and right PR(s), polynomials and a centered parabola PC(s), around sj, such that

$$ P_{j}(s,t^{n}) = w_{L} {P^{n}_{L}}(s) + w_{R} {P^{n}_{R}}(s) + w_{C} {P^{n}_{C}}(s), $$
(14)

with weights wi ≥ 0, ∀i ∈{C, R, L}, where \({\sum }_{i} w_{i} = 1\). In (14), PL(s) and PR(s) are defined as,

$$ P_{L}(s) = \bar{v}_{j} + \frac{\bar{v}_{j} - \bar{v}_{j-1}}{{\Delta} s}(s - s_{j}) \quad \text{and} \quad P_{R}(s) = \bar{v}_{j} + \frac{\bar{v}_{j+1} - \bar{v}_{j}}{{\Delta} s}(s - s_{j}). $$
(15)

For constant ci’s where \({\sum }_{i} c_{i} = 1\), PC(s) is chosen to satisfy the parabola Popt(s), which is given by,

$$ P_{\text{opt}}^{n}(s) = c_{L} {P_{L}^{n}}(s) + c_{R} {P_{R}^{n}}(s) + (1 - c_{L} - c_{R}){P_{C}^{n}} (s). $$
(16)

For Popt(s) to conserve cell averages \(\{\bar {v}_{j-1},\bar {v}_{j},\bar {v}_{j+1}\}\), that is, \(\frac {1}{{\Delta } s}{\int }_{I_{j}} P_{\text {opt}}(s) \text {d}s = \bar {v}_{j}\), it is defined as,

$$ P_{\text{opt}}(s) = v_{j} + v^{\prime}_{j}(s - s_{j}) + \frac{1}{2}v^{\prime\prime}_{j}(s - s_{j})^{2}, $$
(17)

where

$$ \begin{array}{@{}rcl@{}} v_{j} &=& \bar{v}_{j} -\frac{1}{24}\left( \bar{v}_{j-1} - 2\bar{v}_{j} + \bar{v}_{j+1} \right), \\ v^{\prime}_{j} &=& \frac{\bar{v}_{j+1} - \bar{v}_{j-1}}{2 {\Delta} s} \quad \text{ and } \quad v^{\prime\prime}_{j} = \frac{\bar{v}_{j-1} - 2\bar{v}_{j} + \bar{v}_{j+1}}{{\Delta} s^{2}}, \end{array} $$

with approximate point values vj := v(sj, t) and derivatives \(v^{\prime }_{j}\approx v_{s}(s_{j},t)\) and \(v^{\prime \prime }_{j}\approx v_{ss}(s_{j},t)\). Third-order accuracy is ensured using \(c_{L} = c_{R} = \frac {1}{4}\) and \(c_{C} = \frac {1}{2}\), and (15)–(17) are simplified to give,

$$ P_{C}(s) = \bar{v}_{j} -\frac{1}{12}\left( \bar{v}_{j-1}{\kern-.5pt} -{\kern-.5pt} 2\bar{v}_{j}{\kern-.5pt} +{\kern-.5pt} \bar{v}_{j+1} \right) + \frac{\bar{v}_{j+1} {\kern-.5pt}-{\kern-.5pt} \bar{v}_{j-1}}{2 {\Delta} s}(s - s_{j})+ \frac{\bar{v}_{j-1} {\kern-.5pt}-{\kern-.5pt} 2\bar{v}_{j} + \bar{v}_{j+1}}{{\Delta} s^{2}}(s - s_{j})^{2}. $$

In (14), wi’s are chosen to guarantee maximum accuracy. In smooth regions, (14) ensures third-order accuracy and in cases of discontinuity, it automatically switches to best fitted one-sided polynomials,

$$ w_{i} = \frac{\alpha_{i}}{{\sum}_{k} \alpha_{k}}, \quad \text{where} \quad \alpha_{i} = \frac{c_{i}}{\left( \epsilon + IS_{i} \right)^{p}},\quad i,k \in \{C,R,L\}. $$
(18)

The constant 𝜖 ensures that the denominator does not vanish and was taken as 10− 6 and following [10], p = 2 was chosen. The smoothness indicators ISi in (18) are given by,

$$ IS_{i} = \sum\limits_{l=1}^{2} {\int}_{s_{j-\frac{1}{2}}}^{s_{j+\frac{1}{2}}} ({\Delta} s)^{2l - 1}\left( P_{i}^{(l)}(s)\right)^{2} \text{d}s, $$

such that,

$$ \begin{array}{@{}rcl@{}} IS_{L} &=& \left( \bar{v}_{j} - \bar{v}_{j-1} \right)^{2}, \quad IS_{R} = \left( \bar{v}_{j+1} - \bar{v}_{j} \right)^{2},\\ IS_{C} &=& \frac{13}{3}\left( \bar{v}_{j-1} - 2\bar{v}_{j} + \bar{v}_{j+1} \right)^{2} +\frac{1}{4}\left( \bar{v}_{j+1} - \bar{v}_{j-1} \right)^{2}. \end{array} $$
(19)

3.2 Fully Discrete KL Scheme

For the reconstruction step, in cell Ij, a piecewise polynomial interpolant at tn is considered,

$$ P_{j}(s, t^{n}) = A_{j} + B_{j}(s - s_{j}) + \frac{1}{2}C_{j}(s - s_{j})^{2}. $$
(20)

The local speed of propagation \(c_{j+\frac {1}{2}}^{n} \) is given by

$$ c_{j+\frac{1}{2}}^{n} := \max \left( \left|\frac{\partial F}{\partial v}\left( v^{-}_{j+\frac{1}{2}}\right)\right|,~\left|\frac{\partial F}{\partial v}\left( v^{+}_{j+\frac{1}{2}}\right)\right|\right), $$
(21)

where \(v^{+}_{j+\frac {1}{2}} := P_{j+1}(s_{j+\frac {1}{2}}, t^{n})\) and \(v^{-}_{j+\frac {1}{2}} := P_{j}(s_{j+\frac {1}{2}}, t^{n})\) respectively denote the left and right intermediate values of v(s, tn). The local speed of propagation separates between non-smooth regions \(\left [s_{j+\frac {1}{2},l}^{n}, s_{j+\frac {1}{2},r}^{n}\right ]\) and smooth regions \(\left [s_{j-\frac {1}{2},r}^{n}, s_{j+\frac {1}{2},l}^{n}\right ]\), where \(s_{j+\frac {1}{2},r}^{n} := s_{j+\frac {1}{2}} + c_{j+\frac {1}{2}}^{n} {\Delta } t^{n}\) and \(s_{j+\frac {1}{2},l}^{n} := s_{j+\frac {1}{2}} - c_{j+\frac {1}{2}}^{n} {\Delta } t^{n}\). Integrating over \(\left [s_{j-\frac {1}{2},r}^{n}, s_{j+\frac {1}{2},l}^{n}\right ] \times [t^{n}, t^{n+1}]\) and \(\left [s_{j+\frac {1}{2},l}^{n}, s_{j+\frac {1}{2},r}^{n}\right ] \times [t^{n},t^{n+1}]\) gives intermediate cell averages \(\bar {w}_{j}^{n+1}\) and \(\bar {w}_{j+\frac {1}{2}}^{n+1}\), respectively,

$$ \begin{array}{@{}rcl@{}} \bar{w}^{n+1}_{j}\! &=&\! A_{j} + \frac{{\Delta} t^{n}}{2} \left( c_{j-\frac{1}{2}}^{n} -c_{j+\frac{1}{2}}^{n} \right) B_{j} \\ &&\! + \left\{\frac{({\Delta} s)^{2}}{24} - \frac{{\Delta} s {\Delta} t^{n}}{12} \left( c_{j-\frac{1}{2}}^{n} +c_{j+\frac{1}{2}}^{n} \right)\right.\\ &&\! \left.+ \frac{({\Delta} t^{n})^{2}}{6} \left[\left( c_{j-\frac{1}{2}}^{n}\right)^{2} - c_{j-\frac{1}{2}}^{n} c_{j+\frac{1}{2}}^{n} + \left( c_{j+\frac{1}{2}}^{n} \right)^{2} \right] \right\} C_{j} \end{array} $$
(22)
$$ \begin{array}{@{}rcl@{}} &&\! - \frac{1}{{\Delta} s\! -\! {\Delta} t^{n} \left( c_{j-\frac{1}{2}}^{n} \! +\! c_{j+\frac{1}{2}}^{n} \right)} {\int}_{t^{n}}^{t^{n+1}}\! \left[F\! \left( \! v\! \left( s^{n}_{j+\frac{1}{2},l},t \right)\! \right) \! -\! F \left( v \left( s^{n}_{j-\frac{1}{2},r},t \right) \right)\right] \text{d}t,\\ \bar{w}^{n+1}_{j+\frac{1}{2}}\! &=&\! \frac{A_{j} + A_{j+1}}{2} + \frac{{\Delta} s - c^{n}_{j+\frac{1}{2}}{\Delta} t^{n}}{4} \left( B_{j} - B_{j+1} \right) \\ &&\! + \left[\frac{{\Delta} s^{2}}{16} - \frac{c^{n}_{j+\frac{1}{2}} {\Delta} s {\Delta} t^{n}}{8} + \frac{\left( c^{n}_{j+\frac{1}{2}}{\Delta} t^{n}\right)^{2}}{12}\right] \left( C_{j} + C_{j+1} \right) \\ &&\! - \frac{1}{2c^{n}_{j+\frac{1}{2}} {\Delta} t^{n}} {\int}_{t^{n}}^{t^{n+1}} \left[ F \left( v \left( s^{n}_{j+\frac{1}{2},r},t \right) \right) - F \left( v \left( s^{n}_{j+\frac{1}{2},l},t \right) \right) \right] \text{d}t, \end{array} $$
(23)

where integrals on the right-hand side of (22) and (23) are approximated using Simpson’s quadrature rule [18]. Next, intermediate cell averages \(\left \{\bar {w}^{n+1}_{j},\bar {w}^{n+1}_{j+\frac {1}{2}}\right \}\) are projected back on the original grid [9]. From \(\bar {w}^{n+1}_{j}\) and \(\bar {w}^{n+1}_{j+\frac {1}{2}}\), a third-order CWENO piecewise polynomial interpolant [17] is constructed, which are respectively denoted as \(\tilde {w}^{n+1}_{j}(s)\) and \(\tilde {w}^{n+1}_{j+\frac {1}{2}}(s)\),

$$ \begin{array}{@{}rcl@{}} \tilde{w}^{n+1}_{j} (s) &=& \bar{w}^{n+1}_{j},\\ \tilde{w}^{n+1}_{j+\frac{1}{2}}(s) &=& \tilde{A}_{j+\frac{1}{2}} + \tilde{B}_{j+\frac{1}{2}}\left( s - s_{j+\frac{1}{2}}\right) + \frac{1}{2} \tilde{C}_{j+\frac{1}{2}}\left( s - s_{j+\frac{1}{2}}\right)^{2}. \end{array} $$
(24)

Using (22), (23), and (24) to compute new cell averages at tn+ 1 gives the fully discrete KL scheme,

$$ \begin{array}{@{}rcl@{}} \bar{v}^{n+1}_{j} &=& \frac{1}{{\Delta} s} \left[{\int}_{s_{j-\frac{1}{2}}}^{s^{n}_{j-\frac{1}{2},r}} \tilde{w}^{n+1}_{j-\frac{1}{2}}(s) \text{d}s + {\int}_{s^{n}_{j-\frac{1}{2},r}}^{s^{n}_{j+\frac{1}{2},l}} \tilde{w}^{n+1}_{j}(s) \text{d}s + {\int}_{s^{n}_{j+\frac{1}{2}, l}}^{s_{j+\frac{1}{2}}} \tilde{w}^{n+1}_{j+\frac{1}{2}}(s) \text{d}s \right]\\ &=& \lambda^{n} c^{n}_{j-\frac{1}{2}} \tilde{A}_{j-\frac{1}{2}} + \left[1 - \lambda^{n} \left( c^{n}_{j-\frac{1}{2}} + c^{n}_{j+\frac{1}{2}} \right) \right] \bar{w}_{j}^{n+1} + \lambda^{n} c_{j+\frac{1}{2}}^{n}\tilde{A}_{j+\frac{1}{2}}\\ &&+ \frac{\lambda^{n} {\Delta} t^{n}}{2} \left[\left( c^{n}_{j - \frac{1}{2}} \right)^{2} \tilde{B}_{j-\frac{1}{2}} - \left( c^{n}_{j + \frac{1}{2}} \right)^{2} \tilde{B}_{j+\frac{1}{2}} \right]\\ &&+ \frac{\lambda^{n} \left( {\Delta} t^{n} \right)^{2}}{6} \left[\left( c^{n}_{j-\frac{1}{2}}\right)^{3} \tilde{C}_{j-\frac{1}{2}} + \left( c^{n}_{j+\frac{1}{2}}\right)^{3} \tilde{C}_{j+\frac{1}{2}} \right], \end{array} $$
(25)

where \(\lambda ^{n} = \frac {{\Delta } t^{n}}{{\Delta } s}\) denotes the mesh ratio.

3.3 Semi-Discrete KL Scheme

Using (25), [12] obtained the third-order semi-discrete KL scheme as follows

$$ \begin{array}{@{}rcl@{}} \frac{\text{d}}{\text{d}t}\bar{v}_{j}(t)& =&\lim_{{\Delta} t^{n} \rightarrow 0} \frac{\bar{v}_{j}^{n+1} - \bar{v}_{j}^{n}}{{\Delta} t^{n}}\\ &=& \lim_{{\Delta} t^{n} \rightarrow 0} \left[\frac{1}{{\Delta} s} c^{n}_{j-\frac{1}{2}} \tilde{A}_{j-\frac{1}{2}} -\frac{1}{{\Delta} s} \left( c^{n}_{j-\frac{1}{2}} + c^{n}_{j+\frac{1}{2}} \right) \bar{w}_{j}^{n+1}\right.\\ &&\left. + \frac{1}{{\Delta} s} c^{n}_{j+\frac{1}{2}} \tilde{A}_{j+\frac{1}{2}} + \frac{1}{{\Delta} t^{n}} \left( \bar{w}_{j}^{n+1} - {v_{j}^{n}} \right)\right], \end{array} $$
(26)

where \(\tilde {A}_{j+\frac {1}{2}} = \bar {w}^{n+1}_{j+\frac {1}{2}}\) and \(\tilde {A}_{j-\frac {1}{2}} = \bar {w}^{n+1}_{j-\frac {1}{2}}\) as Δtn → 0. Using (20), the intermediate values are obtained,

$$ \begin{array}{@{}rcl@{}} v\left( s^{n}_{j+\frac{1}{2},r}, t \right) &\rightarrow& P_{j+1}\left( s_{j+\frac{1}{2}}, t \right) = A_{j+1} - \frac{{\Delta} s}{2} B_{j+1} + \frac{({\Delta} s)^{2}}{8} C_{j+1} =: v^{+}_{j+\frac{1}{2}},\\ v\left( s^{n}_{j+\frac{1}{2},l}, t \right) &\rightarrow& P_{j}\left( s_{j+\frac{1}{2}}, t \right) = A_{j} + \frac{{\Delta} s}{2} B_{j} + \frac{({\Delta} s)^{2}}{8} C_{j} =: v^{-}_{j+\frac{1}{2}}. \end{array} $$
(27)

Using the CWENO reconstruction in Section 3.1, the following are obtained by direct computations,

$$ \begin{array}{@{}rcl@{}} A_{j} &=& \bar{v}_{j} - w_{C}\frac{(\bar{v}_{j-1} - 2\bar{v}_{j} + \bar{v}_{j+1})}{12},\\ B_{j} &=& \frac{1}{{\Delta} s} \left[w_{R} (\bar{v}_{j+1} - \bar{v}_{j}) + w_{C} \frac{(\bar{v}_{j+1} - \bar{v}_{j-1})}{2} + w_{L} (\bar{v}_{j} - \bar{v}_{j-1})\right],\\ C_{j} &=& 2w_{C} \frac{(\bar{v}_{j-1} - 2\bar{v}_{j} + \bar{v}_{j+1})}{{\Delta} s^{2}}. \end{array} $$
(28)

Substituting (22), (23) and expressions of \(\tilde {A}_{j \pm \frac {1}{2}}\) in (26) and computing the time limit explicitly gives the semi-discrete conservative KL scheme in terms of the convection flux H, such that,

$$ \frac{\text{d}}{\text{d}t}\bar{v}_{j}(t) = -\frac{H_{j+\frac{1}{2}}(t) - H_{j-\frac{1}{2}}(t)}{{\Delta} s}, $$
(29)

where

$$ H_{j+\frac{1}{2}}:= \frac{F\left( v^{+}_{j+\frac{1}{2}}\right) + F\left( v^{-}_{j+\frac{1}{2}}\right)}{2} -\frac{c_{j+\frac{1}{2}}}{2} \left( v^{+}_{j+\frac{1}{2}} - v^{-}_{j+\frac{1}{2}}\right). $$
(30)

3.4 Convection-Diffusion-Reaction Extension

The semi-discrete conservative KL can be adapted to the convection-diffusion-reaction (11), such that

$$ \frac{\text{d}}{\text{d}t} \bar{v}_{j}(t) = -\frac{H_{j+\frac{1}{2}}(t) - H_{j+\frac{1}{2}}(t)}{{\Delta} s} + Q_{j}(t) + S_{j}(t), $$
(31)

where Qj is given in terms of point values vj(t) := Pj(sj, t), which are obtained using the reconstructed polynomials (20), such that,

$$ \begin{array}{@{}rcl@{}} Q_{j} &=& \frac{1}{12 {\Delta} s}\left[-Q\left( v_{j+2},(v_{s})_{j+2,j}\right) + 8Q\left( v_{j+1},(v_{s})_{j+1,j}\right)\right.\\ &&\left.- 8Q\left( v_{j-1},(v_{s})_{j-1,j}\right) + Q\left( v_{j-2},(v_{s})_{j-2,j}\right) \right], \end{array} $$
(32)

where

$$ \begin{array}{@{}rcl@{}} (v_{s})_{j+2, j} &:=& \frac{1}{12 {\Delta} s} \left[25v_{j+2} - 48v_{j+1} + 36v_{j} - 16v_{j-1} + 3v_{j-2}\right],\\ (v_{s})_{j+1, j} &:=& \frac{1}{12 {\Delta} s} \left[3v_{j+2} + 10v_{j+1} - 18v_{j} + 6v_{j-1} - v_{j-2}\right],\\ (v_{s})_{j-1, j} &:=& \frac{1}{12 {\Delta} s} \left[v_{j+2} - 6v_{j+1} + 18v_{j} - 10v_{j-1} - 3v_{j-2}\right],\\ (v_{s})_{j-2, j} &:=& \frac{1}{12 {\Delta} s} \left[-3v_{j+2} + 16v_{j+1} - 36v_{j} + 48v_{j-1} - 25v_{j-2}\right]. \end{array} $$
(33)

3.5 Two-Dimensional Extension

Following [14], (31) is extended to solve the two-dimensional PDE in terms of s and a spatial variables,

$$ \frac{\partial v}{\partial t} + \frac{\partial}{\partial s}F^{s}(v) + \frac{\partial}{\partial a}F^{a}(v) = \frac{\partial}{\partial s}Q^{s}(v,v_{s},v_{a}) + \frac{\partial}{\partial a}Q^{a}(v,v_{s},v_{a}) + S(v). $$
(34)

Instead of a third-order two-dimensional ENO interpolant, [12] applied the one-dimensional CWENO reconstruction direction by direction over the uniform spatial grid, (sj, ak) := (jΔs, kΔa). The two-dimensional extension of (31), denoted KL-2D, is formulated as

$$ \begin{array}{@{}rcl@{}} \frac{\text{d}}{\text{d}t}v_{j,k} &=& - \frac{H^{s}_{j+\frac{1}{2}, k}(t) - H^{s}_{j-\frac{1}{2},k}(t)}{{\Delta} s} - \frac{H^{a}_{j,k+\frac{1}{2}}(t) - H^{a}_{j,k-\frac{1}{2}(t)}}{{\Delta} a}\\ &&+ Q^{s}_{j,k}(t) + Q^{a}_{j,k}(t) + S(v(t)), \end{array} $$
(35)

where the s and a numerical fluxes \(H^{s}_{j+\frac {1}{2},k}\) and \(H^{a}_{j,k+\frac {1}{2}}\) are given by

$$ \begin{array}{@{}rcl@{}} H^{s}_{j+\frac{1}{2},k} &:=& \frac{1}{2}\left[{F^{s}\left( v^{+}_{j+\frac{1}{2},k}\right) + F^{s}\left( v^{-}_{j+\frac{1}{2},k}\right)}\right] - \frac{c^{s}_{j+\frac{1}{2},k}}{2}\left( v^{+}_{j+\frac{1}{2},k} - v^{-}_{j+\frac{1}{2}, k}\right),\\ H^{a}_{j,k+\frac{1}{2}} &:=&\frac{1}{2}\left[{F^{a}\left( v^{+}_{j,k+\frac{1}{2}}\right) + F^{a}\left( v^{-}_{j,k+\frac{1}{2}}\right)}\right] - \frac{c^{a}_{j,k+\frac{1}{2}}}{2}\left( v^{+}_{j,k+\frac{1}{2}} - v^{-}_{j,k+\frac{1}{2}}\right). \end{array} $$
(36)

In (36), intermediate value \(v^{-}_{j+\frac {1}{2},k}(t)\) is obtained from the piecewise polynomial reconstruction described in Section 3.1,

$$ v^{-}_{j+\frac{1}{2}, k} = w_{L} {P^{k}_{L}}\left( s_{j+\frac{1}{2}}\right) + w_{R}{P^{k}_{R}} \left( s_{j+\frac{1}{2}}\right) + w_{C}{P^{k}_{C}}\left( s_{j+\frac{1}{2}}\right), $$

where

$$ \begin{array}{@{}rcl@{}} {P^{k}_{R}} (s) &=& \bar{v}_{j,k} + \frac{\bar{v}_{j+1,k}-\bar{v}_{j,k}}{{\Delta} s}(s - s_{j}), \quad {P^{k}_{L}} (s) = \bar{v}_{j,k} + \frac{\bar{v}_{j,k} - \bar{v}_{j-1,k}}{{\Delta} s} (s - s_{j}),\\ {P^{k}_{C}} (s) &=& \bar{v}_{j,k} - \frac{1}{12}\left[\left( \bar{v}_{j+1,k} - 2\bar{v}_{j,k} + \bar{v}_{j-1,k}\right) + \left( \bar{v}_{j,k+1} - 2\bar{v}_{j,k} + \bar{v}_{j,k-1}\right)\right]\\ &&+ \frac{\bar{v}_{j+1,k} - 2\bar{v}_{j,k} + \bar{v}_{j-1,k}}{{\Delta} s^{2}} (s - s_{j})^{2}. \end{array} $$

Similarly, other intermediate values are obtained as above using the dimension by dimension approach. Also, local speeds \(c^{s}_{j+\frac {1}{2},k}(t)\) and \(c^{a}_{j, k+\frac {1}{2}}(t)\) are computed as follows

$$ c^{s}_{j+\frac{1}{2}, k}:=\max_{\pm} \left( \left|\frac{\partial F^{s}}{\partial v}\left( v^{\pm}_{j+\frac{1}{2}, k}\right)\right|\right)\quad \text{and}\quad c^{a}_{j, k+\frac{1}{2}}:=\max_{\pm} \left( \left|\frac{\partial F^{a}}{\partial v}\left( v^{\pm}_{j, k+\frac{1}{2}}\right)\right|\right). $$
(37)

The s and a diffusion fluxes \(Q^{s}_{j, k}\) and \(Q^{a}_{j, k}\) in (35) represent high-order approximations of Qs(v, vs, va)s and Qa(v, vs, va)a respectively and are computed direction by direction using (32) and (33).

3.6 Third-Order Extensions

We consider the extensions of [12] by [13] and [11].

  • Kurganov–Noelle–Petrova Extension: The main idea of [13] is the use of more precise information about local speeds of propagation. As such, as compared with (21) for KL, KL-KNP uses the respective right- and left-sided local speeds,

    $$ \begin{array}{@{}rcl@{}} c_{j+\frac{1}{2}}^{+} &=& \max \left( \frac{\partial F}{\partial v}\left( v_{j+\frac{1}{2}}^{-}\right), \frac{\partial F}{\partial v}\left( v_{j+\frac{1}{2}}^{+}\right), 0\right),\\ c_{j+\frac{1}{2}}^{-} &=& \min \left( \frac{\partial F}{\partial v}\left( v_{j+\frac{1}{2}}^{-}\right), \frac{\partial F}{\partial v}\left( v_{j+\frac{1}{2}}^{+}\right), 0\right). \end{array} $$
    (38)

    We consider KL-KNP based on the CWENO reconstruction described in Section 3.1 and local speeds (38). The semi-discrete conservative KL-KNP for (11) in the form (29) has convection flux

    $$ H_{j+\frac{1}{2}} := \frac{c^{+}_{j+\frac{1}{2}} F\left( v^{-}_{j+\frac{1}{2}}\right) - c^{-}_{j+\frac{1}{2}} F\left( v^{+}_{j+\frac{1}{2}}\right)}{c^{+}_{j+\frac{1}{2}} - c^{-}_{j+\frac{1}{2}}} + \frac{c^{+}_{j+\frac{1}{2}} c^{-}_{j+\frac{1}{2}}}{c^{+}_{j+\frac{1}{2}} - c^{-}_{j+\frac{1}{2}}} \left( v^{+}_{j+\frac{1}{2}} - v^{-}_{j+\frac{1}{2}}\right). $$
    (39)
  • Kolb Extension: As an extension, [11] adapted the compact third-order WENO (CTO-WENO) reconstruction by [17] to [12], such that parameter 𝜖 in non-linear weights (18) is taken proportional to the mesh size, that is, 𝜖 := 𝜖s) ∝Δsq where q ≤ 3, p ≥ 1 and pq ≥ 2. As discussed in [11], from observation, for p = 2 the optimal q lies between 1 and 2. In order to achieve the desired accuracy quickly and ensure vanishing oscillations for Δs → 0, the choice 𝜖 = min{10− 3s2} was proposed. We consider the CTO-WENO reconstruction applied to [12], denoted as KL-CTO, along the lines of [11].

3.7 Conservative Form of Black–Scholes PDEs

We solve Black–Scholes PDE (1) numerically in the forward-in-time form, which is obtained using the time reversal step t = Tt and we denote the reversed time t again with t, giving

$$ \frac{\partial v}{\partial{t}} - \frac{1}{2} \sigma^{2} {s}^{2} \frac{\partial^{2}{v}}{\partial{s^{2}}} - (r-\delta) s \frac{\partial{v}}{\partial{s}} + r v = 0. $$
(40)

This transforms terminal payoffs v(s, T) into initial conditions v(s,0). Using derivatives expressions,

$$ \frac{\partial}{\partial{s}}(sv) = s \frac{\partial v}{\partial{s}} + v \quad \text{and} \quad \frac{\partial }{\partial{s}}\left( s^{2} \frac{\partial v}{\partial{s}}\right) = s^{2} \frac{\partial^{2} v}{\partial{s^{2}}} + 2s \frac{\partial v}{\partial{s}}, $$

as used by [23], (40) is rewritten in the conservative form (11), giving

$$ \frac{\partial v}{\partial t} + \frac{\partial}{\partial s}\left( (\sigma^{2} - r + \delta)s v\right) = \frac{\partial}{\partial s} \left( \frac{1}{2}\sigma^{2} s^{2} \frac{\partial v}{\partial s} \right) + (\sigma^{2} - 2r + \delta)v, $$
(41)

with convection flux F(s, v) := (σ2r + δ)sv, diffusion flux \(Q(s, v, v_{s}) := \frac {1}{2}\sigma ^{2} s^{2} \frac {\partial v}{\partial s}\) and source term S(v) := (σ2 − 2r + δ)v. PDE (41) prices options subject to initial condition v(s,0) and boundary conditions v(smin, t) and v(smax, t). European options are priced for initial condition given by

$$ v(s, 0) = \max(\phi(s - K), 0) \quad \text{with} \quad \phi = \left\{\begin{array}{ll} 1 & \quad \text{for call},\\ -1 & \quad \text{for put}, \end{array}\right. $$
(42)

which are obtained from terminal functions (2) and for boundary conditions as described in (3) and (4),

$$ \begin{array}{@{}rcl@{}} &&\left.\begin{array}{ll} v(s_{\min}, t) &= 0,\\ v(s_{\max}, t) &= s_{\max}\exp{(-\delta t)} - K\exp{(-r t)}, \end{array}\right\} \text{ for call,} \end{array} $$
(43)
$$ \begin{array}{@{}rcl@{}} &&\left.\begin{array}{ll} v(s_{\min}, t) & = K\exp{(-r t)} - s_{\min}\exp{(-\delta t)},\\ v(s_{\max}, t) &= 0, \end{array}\right\} \text{ for put.} \end{array} $$
(44)

Similarly, [23] rewrote (7) as a forward-in-time Asian PDE in the form (34),

$$ \frac{\partial v}{\partial{t}} + \frac{\partial}{\partial{s}} (\sigma^{2} - r)sv - \frac{\partial}{\partial{a}} \left( \frac{1}{T-t} (s-a)v\right) = \frac{\partial}{\partial{s}} \left( \frac{1}{2}\sigma^{2}s^{2}\frac{\partial v}{\partial s}\right) + \left( \sigma^{2} - 2r +\frac{1}{T-t}\right)v, $$
(45)

with convective fluxes Fs(s, v) := (σ2r)sv and \(F^{a}(s, a, v) := -\frac {1}{T-t}(s-a)v\) respectively in s and a direction, diffusive flux \(Q^{s}(s, v, v_{s}) := \frac {1}{2}\sigma ^{2}s^{2}\frac {\partial v}{\partial s}\) which exists only in s direction and source term \(S(v) := \left (\sigma ^{2} - 2r +\frac {1}{T-t}\right )v\). PDE (45) solves fixed strike Asian options with payoff functions (8) converted into initial conditions, such that, for

$$ v(s, a, 0) = \left\{\begin{array}{ll} \max(a - K, 0) & \text{ for call},\\ \max(K - a, 0) & \text{ for put}. \end{array}\right. $$
(46)

For Asian put options, [23] bypassed the intricate discretisation of (9), giving boundary conditions

$$ \begin{array}{@{}rcl@{}} v(s_{\min}, a, t) &=& \max \left( 0, K - \frac{1}{T}(T-t)a\right)\exp(-rt),\\ v(s_{\max}, a, t) &=& \max \left( 0, K - \frac{1}{T}\left[s_{\max}t + a(T-t) \right]\right). \end{array} $$
(47)

3.8 Summary of Schemes

The algorithm for the conservative KL scheme (31) applied to PDE (41) is summarised as follows.

  1. (1)

    Define problem parameters σ, r, δ, K, T, smin and smax; flux handles F, Q, S; and boundary conditions BC1(t) := v(smin, t) and BC2(t) := v(smax, t) for t ∈ [0, T].

  2. (2)

    Define uniform spatial discretisation with Δs = (smaxsmin)/N and initial condition v(s,0).

  3. (3)

    Until tn+ 1 := tn + Δtn > T, compute:

    1. (a)

      weights wi of (18) based on smooth indicators ISi of (19) for i ∈{C, R, L} and 𝜖 = 10− 6;

    2. (b)

      values of Aj, Bj and Cj given in (28) for piecewise polynomial reconstruction (20);

    3. (c)

      intermediate values \(v^{+}_{j + \frac {1}{2}}\) and \(v^{-}_{j + \frac {1}{2}}\) of (27);

    4. (d)

      local speeds \(c_{j+\frac {1}{2}}\) of (21) and spatial derivatives vs of (33);

    5. (e)

      convection flux \(H_{j+\frac {1}{2}}\) of (30) and diffusive flux Qj of (32);

    6. (f)

      semi-discrete solution \(\frac {\text {d}}{\text {d}t}\bar {v}_{j}\) given in (31);

    7. (g)

      solution vn+ 1 using appropriate ODE solver;

    8. (h)

      boundary values BC1(tn+ 1) and BC2(tn+ 1).

For each extension described in Section 3.6, the above algorithm is modified. For KL-KNP, local speed \(c_{j\pm \frac {1}{2}}^{n}\) of step (d) is replaced by (38) and accordingly convection flux of step (e) is modified to (39). Similarly, for KL-CTO, in step (a), instead of 10− 6, 𝜖 is taken as min(10− 3s2). In the case of KL-2D, using a (N + 1) × (N + 1) matrix, steps (a) to (h) are executed each for s and a directions using formulations (35) to (37).

4 Numerical Experiments

Experiments are performed on several option pricing problems. In order to retain the overall third-order accuracy, the semi-discrete schemes are paired with a high-order and stable ODE solver. Importantly, the time methods used must be efficient and match the third-order reconstructions’ flexibility to satisfy different option pricing PDEs’ specificity.

In [12], the third-order total variation diminishing Runge–Kutta time method in [25] is used; however, the time step can be very small due to their strict stability restrictions for parabolic problems. As such, the third-order time method of [20], which has larger stability domains and thus allow larger time steps, was used for convection-diffusion problems.

We note that, in convection-diffusion PDEs, the diffusion part tends to generate stiffness. Since the diffusion part (33) of the spatial reconstruction (31) can be treated implicitly, [1], an implicit-explicit (IMEX) time methods could be considered. However, (33) depends on the point values and will thus require an iterative method for solution of IMEX at each time step.

Therefore, in this work, for all types of option pricing convection-diffusion-reaction PDEs, the semi-discrete schemes discussed are combined with an appropriate stable MATLAB inbuilt ODE solver. Following [24], as a ‘first-try’, we use ode45, which is based on the Dormand–Prince Runge–Kutta method. In case ode45 is inefficient, that is, slows down computation mostly due to the presence of stiff systems, we switch to ode15s, which is based on numerical differentiation formulae.

For experiments in this paper, the error norms and root mean square (RMS) error are given by

$$ \begin{array}{@{}rcl@{}} L_{1} ~\text{ error} &= &\frac{1}{N}\sum\limits_{j} \left|v(s_{j}, t^{n}) - {v_{j}^{n}}\right|,\\ L_{\infty} ~\text{ error} &=& \max_{j}\left|v(s_{j}, t^{n}) - {v_{j}^{n}}\right|,\\ \text{RMS error} &=& \sqrt{\frac{1}{N_{1}}\sum\limits_{j}\left( v(s_{j}, t^{n}) - {v_{j}^{n}} \right)^{2}}, \end{array} $$

where N1N is the number of asset prices considered.

Problem 1

(European Option) We compare the third-order schemes discussed by solving the European call option from [26] with σ = 0.01, r = 0.10, δ = 0.00, T = 0.25, K = 100 and s ∈ [0,200].

We solve PDE (41) subject to conditions (42) and (43), using the algorithm in Section 3.8 and ode45. Table 1 records the L1 and L errors and orders of convergence. KL and KL-KNP offers similar results and in comparison, KL-CTO performs better. It achieves and nears third-order accuracy in the L1 and L norm respectively. Also, as shown in Fig. 1, for N = 1600, KL-CTO offers non-oscillatory and high-resolution approximations even at regions of discontinuities in the initial and Greek profiles. Therefore, for further experiments, KL-CTO is used.

Table 1 Errors and orders of convergence for Problem 1
Fig. 1
figure 1

Solution and Greeks for Problem 1 at T = 0.25

Problem 2

(Butterfly Spread) A butterfly spread involves buying two calls with strike prices K1 and K3 and selling two calls with strike price \(K_{2} = \frac {1}{2}(K_{1} + K_{3})\) where K1 < K2 < K3. We solve a butterfly spread for σ = 0.05, r = 0.20, δ = 0.00, K1 = 45, K3 = 80, T = 0.25 and s ∈ [0,200].

We test the behavior of KL-CTO at sharp corners appearing at strike prices in initial profile and multiple jumps in derivatives. We apply the algorithm in Section 3.8 to solve PDE (41) subject to initial condition

$$ v(s, 0) = \max\left( s - K_{1}, 0\right) + \max\left( s - K_{3}, 0\right) - 2 \max\left( s - \frac{1}{2}\left( K_{1} + K_{3}\right)\!, 0\right), $$

and boundary conditions v(smin, t) = 0 and v(smax, t) = 0, using ode45. Table 2 shows that KL-CTO converges to and achieves third-order accuracy under the L1 and L norm respectively. As shown in Fig. 2, for N = 640, KL-CTO gives oscillation-free and high-resolution approximation of multiple kinks in the initial profile as well as jumps appearing in the Greeks.

Table 2 Errors and orders of convergence for Problem 2
Fig. 2
figure 2

Solution and Greeks for Problem 2 at T = 0.25

Problem 3

(Barrier Option) Next, we solve a call up-and-out barrier option taken from [26] with parameters σ = 0.01, r = 0.10, δ = 0.00, K = 100, T = 0.25, \(s \in \left [\frac {K}{3}, \frac {5K}{3}\right ]\) and upper barrier, B = 1.25K.

We test the performance of KL-CTO at the sharp discontinuity arising at the upper barrier level. We extend the algorithm in Section 3.8 to solve PDE (41) subject to initial condition

$$ v(s, 0) = \left\{\begin{array}{ll} \max(s - K, 0)& \quad \text{for} \quad 0 \leq s < B, \\ 0 & \quad \text{for} \quad s \geq B, \end{array}\right. $$
(48)

and boundary conditions v(smin, t) = 0 and v(smax, t) = 0. Following [4], (48) is applied to the spatial reconstruction (31) by enforcing at each time step, the condition

$$ \frac{\text{d}}{\text{d}t}v_{j}(t) = 0 \quad \text{for} \quad s_{j} \geq B. $$

For this test problem, ode45 acts inefficient by slowing down computation; therefore, we switch to ode15s. Table 3 records the absolute errors, which are computed from the difference between numerical prices of KL-CTO and exact values at s = 95,100,…,115. Computational order of convergence is obtained from RMS error reduction with increasing N. KL-CTO outputs very small RMS error and achieves super convergence.

Table 3 Absolute and RMS errors at asset prices, s, for Problem 3

Problem 4

(American Options) We price different American put options from [27] for T = 0.50, K = 100 and s ∈ [0,200] using N = 400. This problem assesses the behavior of KL-CTO subject to errors arising due to kink at strike price, which are not easily damped and result in non-smooth numerical solution.

We solve (41) with early constraint (5) subject to initial condition (42) and boundary conditions v(smin, t) = Ks and v(smax, t) = 0, obtained from (6). In line with [4], we adapt the semi-discrete KL-CTO algorithm to price American options by extending (31) to incorporate (5). In general, for fully discrete schemes, the traditional algorithm

$$ v_{j}(t) = \max\left( v_{j}(t), {v_{j}^{0}}\right), $$
(49)

applies (5) on intermediate values vj(t) before time evolution. However, in semi-discrete schemes, spatial reconstruction and time evolution are treated separately, that is, no change in time occurs within the spatial reconstruction. Thus, conforming to (31), (49) is modified to give,

$$ \frac{\text{d}}{\text{d}t}v_{j}(t) = \max\left( \frac{\text{d}}{\text{d}t}v_{j}(t), 0\right). $$
(50)

The algorithm in Section 3.8 is updated with (50) applied to the semi-discrete solution at step (f).

We compute American put values and Greeks at asset prices s = 80,90,…,120 for different set of parameters using KL-CTO and ode45. Table 4 compares numerical option and Greek values of KL-CTO with reference values of [15] obtained with 15001 steps. KL-CTO offers very good numerical approximations. Based on values from Table 4, we record in Table 5, RMS errors of KL-CTO, which are compared with corresponding RMS errors of numerical methods discussed in [27]. All values taken correct to 4 decimal places. In line with high-performing methods like operator splitting and optimal compact algorithm (OCA), KL-CTO provides low RMS values.

Table 4 Option value and Greeks at asset prices, s, for Problem 4
Table 5 RMS errors for Problem 4

Problem 5

(Non-Linear Black–Scholes PDE) We price a short straddle under the non-linear Black–Scholes PDE from [28] with r = 0.05, ρ = 0.90, σ = 0.20, μ = 0.07, σ = 0.3, α = 0.20, μ = r + (μr)σρ/σ, r = μ − (μr)σρ/σ, K = 100, T = 1.00 and s ∈ [0,200].

This problem originates from the hedge of a contingent claim with an instrument which has no perfect correlation with the underlier, that is, an asset that cannot be traded. Therefore, a correlated asset is used. Following [23], for risk loading parameter \(\alpha \geqslant 0\), the non-linear PDE for a short position is given by

$$ \frac{\partial v}{\partial t} = \max_{q \in [-1, 1]} \left[ \left( r^{\prime} + q \alpha \sigma \sqrt{1 - \rho^{2}}\right)s \frac{\partial v}{\partial s} + \frac{1}{2} \sigma^{2}s^{2} \frac{\partial^{2} v}{\partial s^{2}} - rv \right], $$
(51)

where \(q = \text {sign}\left (\frac {\partial v}{\partial s}\right )\). In (51), ρ denotes the correlation between the underlying and the reference asset with drift rate μ, volatility σ and function r. Also, [23] rewrote (51) in the form (11), giving

$$ \begin{array}{@{}rcl@{}} &&\frac{\partial v}{\partial t} + \frac{\partial}{\partial s}\underbrace{\left( \left( r^{\prime} + q \alpha \sigma \sqrt{1 - \rho^{2}} - \sigma^{2} \right)sv\right)}_{\text{Flux,} F} \\ &&= \frac{\partial}{\partial s}\underbrace{\left( \frac{1}{2} \sigma^{2} \frac{\partial^{2} v}{\partial s^{2}}\right)}_{\text{Flux,} Q} + \underbrace{\left( \sigma^{2} -r^{\prime} - q \alpha \sigma \sqrt{1 - \rho^{2}} \right)v}_{\text{Source term,} S}. \end{array} $$
(52)

We price the short straddle problem by solving (52) subject to initial condition,

$$ v(s, 0) = \max(K-s, 0) + \max(s-K, 0), $$

and boundary conditions,

$$ \begin{array}{@{}rcl@{}} v(s_{\min}, t) &=& K \exp{(-rt)}\quad \text{as} \quad s_{\min} \rightarrow 0,\\ v(s_{\max}, t) &=& s_{\max} \exp \left[\left( r^{\prime} - r + q \alpha \sigma \sqrt{1 - \rho^{2}} \right) t \right] - K \exp{(rt)}, \end{array} $$

using KL-CTO and ode15s. For different N’s, Table 6 records the prices for Problem 5 at s = 100, based on which, the computational order of convergence is obtained. As expected, KL-CTO achieves third-order convergence even in the non-linear case.

Table 6 Prices and order of convergence for Problem 5

Problem 6

(Asian Option) Next, we price the fixed strike Asian put option from [23] by solving (45) using KL-2D scheme (34) and ode45. We extend the algorithm in Section 3.8 to two spatial variables, which involves matrix computations of size (N + 1) × (N + 1).

The fixed strike Asian put option is solved for σ = 0.25, r = 0.05, T = 0.20, K = 100, s, a ∈ [0,200] and N = 50 subject to conditions (46) and (47). Figure 3 shows the initial condition, solution and derivatives. KL-2D offers non-oscillatory and high-resolution approximation of option value as well as Greeks.

Fig. 3
figure 3

Solutions for Problem 6 at T = 0.20

Problem 7

(CEV Model) The CEV model is based on risk-neutral measure with the stock price dynamic s(t), following a one-dimensional diffusion, \(\text {d}s(t) = (r - \delta )s(t) \text {d}t + \sigma s(t)^{\frac {\beta }{2}} \text {d}W(t)\). It assumes that the instantaneous local volatility is a power function of the underlying spot price, such that, \(\tilde {\sigma }(t) = \sigma s(t)^{\frac {\beta }{2}-1}\). The model is governed by the backward-in-time PDE

$$ \frac{\partial v}{\partial t} + \frac{\sigma^{2}}{2}s^{\beta}\frac{\partial^{2} v}{\partial s^{2}} + (r - \delta) s \frac{\partial v}{\partial s} - rv = 0, $$
(53)

where β is the elasticity of variance parameter and β = 2 gives the Black–Scholes model. We rewrite the forward-in-time equivalent of (53) in the form (11), giving,

$$ \begin{array}{@{}rcl@{}} &&\frac{\partial v}{\partial t} + \frac{\partial}{\partial s}\underbrace{\left( \left( \frac{\sigma^{2}}{2}\left( \frac{3\beta}{2}- 1\right)s^{\frac{3\beta}{2} - 3} - r + \delta\right)sv\right)}_{\text{Flux,} F}\\ &&= \frac{\partial}{\partial s}\underbrace{\left( \frac{\sigma^{2}}{2}s^{\frac{3\beta}{2}-1}\frac{\partial v}{\partial s}\right)}_{\text{Flux,} Q} + \underbrace{\left( \frac{\sigma^{2}}{2}\left( \frac{3\beta}{2} - 1\right)\left( \frac{3\beta}{2} - 2\right)s^{\frac{3\beta}{2} - 3} - 2r + \delta\right)v}_{\text{Source term,} S}, \end{array} $$
(54)

subject to boundary conditions [29],

$$ v(s_{\min}, t) = 0 \quad \text{and} \quad v(s_{\max}, t) = K \exp^{-(r-\delta)t}. $$
(55)

We consider the at-the-money American call option under the CEV model for \(\beta = \frac {2}{3}, \frac {1}{2}\) and \(\frac {2}{5}\) with parameters σ = 0.20, r = 0.05, δ = 0.01, K = 100, T = 1.00 and \(s \in \left [\frac {K}{3}, \frac {5K}{3}\right ]\).

We solve (54) subject to conditions (42), (55) and early constraint (50) using KL-CTO and ode15s. Table 7 records the RMS errors and computational order of convergence for different β, over increasing N. We compute RMS of absolute errors from the difference between numerical values of KL-CTO and benchmark prices at s = 99,100,…,119, which are obtained using the binomial model by [19] with 10,000 nodes. As shown in Table 7, KL-CTO outputs small RMS errors and achieves third-order convergence for \(\beta = \frac {2}{5}\) and \(\frac {1}{2}\) and super convergence for \(\beta = \frac {2}{3}\).

Table 7 RMS errors and orders of convergence for Problem 7

5 Conclusion

In this work, we extend the approach of [23] to KL, KL-KNP and KL-CTO in line with [4]. We apply the third-order semi-discrete central-upwind conservative methods to option pricing PDEs by effortlessly updating the KL’s algorithm. Numerical experiments are performed on several types of options by sufficiently updating fluxes, initial and boundary conditions while retaining the simplicity of “Black-Box” approach. We ensure computational efficiency through appropriate choice of time solvers. We obtain non-oscillatory and high-resolution approximation for the European test case; KL-CTO achieves third-order convergence and outperforms KL and KL-KNP. As expected, KL-CTO offers excellent numerical approximation of the butterfly option despite multiple kinks and jumps in the initial and Greek profiles. Also, KL-CTO performs very well even in the non-linear case. In line with [4], we price barrier and American options by respectively applying the barrier and early exercise condition to the semi-discrete spatial reconstruction of KL-CTO. We successfully price the up-and-out barrier option which features a sharp discontinuity at the upper barrier and obtain excellent numerical solutions and Greeks for American options. High-resolution and non-oscillatory approximation of Asian option value and Greeks are obtained using KL-2D. Also, we solve American options under the CEV model. For different elasticity parameter values, KL-CTO offers small RMS errors and achieves third-order convergence.