1 Introduction

Research in option pricing theory concerns, among other issues, the computation of the value of an option during the lifetime of an option contract. There are many types of options on the market including European Call (Put), American Call (Put) and Exotic options. In this work, we focus on European Call option. A European Call (Put) option is the right but not obligation to purchase (sell) an underlying asset at the expiration price \(E\) at the expiration time T (Wilmott et al. 2002). In an idealized financial market, the price of an option can be computed from the well-known Black–Scholes equation that have been introduced by Black and Scholes (1973) and previously by Robert Merton (1973). In the recent several years, the Black–Scholes equation for pricing derivatives has attracted a lot of attention from both theoretical as well as practical point of view. The European Call option price \(V (S; t)\) can be obtained by solving the Black–Scholes partial differential equation

$$\begin{aligned} V_t +\frac{1}{2}\tilde{\sigma }^2S^2V_{SS} + rSV_S = rV, \end{aligned}$$
(1)

where \(S\) is the price of the underlying asset at time \(t\) and the real constants \(r > 0\) and \(\tilde{\sigma }^2\) represent the interest rate and the volatility, respectively. Various methods for approximating Black–Scholes equation (1) have been developed in the literature, e.g., finite element method (Forsyth et al. 1999), explicit finite difference method (Kluge 2002; Company et al. 2008, 2012), Crank–Nicolson method (Ankudinova and Ehrhardt 2008), fourth-order compact finite difference (FOCFD) methods (Tangman et al. 2008; Dremkova and Ehrhardt 2011) and Adomian approximate decomposition technique (Bohner and Zheng 2009). In year 2004, the Asian option Black–Scholes equation is solved by a WENO approach (Oosterlee et al. 2004) numerically. Their numerical results do not show efficiency of the implemented method. In year 2012, the efficient high-order modified weighted essentially non-oscillatory (MWENO) method has been introduced by Hajipour and Malek (2012, 2011). The MWENO method is a modification of the weighted essentially non-oscillatory (WENO) method (Liu et al. 2011) for spatial discretization of degenerate parabolic equations which may contain discontinuous solutions. The key ingredient of the WENO methods, which were first introduced by Liu et al. (1994) to approximate hyperbolic conservation laws, is a non-linear interpolation or reconstruction procedure (Jiang and Shu 1996). These methods are a class of very high-order schemes that are constructed based on the successful essentially non-oscillatory techniques (Balsara and Shu 2000; Hidalgo and Dumbser 2011). The MWENO method presents sharper results near the discontinuities and takes about \(20\,\%\) less CPU time than the WENO method (Hajipour and Malek 2012). In this paper, we use a fifth-order hybrid method based on MWENO, non-standard Runge–Kutta (NRK), grid stretching and imposing of non-traditional time boundary conditions techniques for the solution of Black–Scholes equation. Among the high-order performance methods (Shu 2009), mixed MWENO and NRK techniques have shown its ability to solve parabolic problems very accurately at smooth points. It prevents the appearance of spurious solutions near the non-smooth points (Liu et al. 1994; Hajipour and Malek 2012). However one does not expect the high-accuracy order all together when we have a problem with non-smooth solution. Another difficulty with NRK method appears when one faces the problem with time-dependent boundary conditions. This difficulty will reduce the high-order accuracy of the mixed MWENO and NRK technique. On the other hand, the European option by its nature has non-smooth solution in its final time. Thus, using a high-order standard finite difference method on the big stencil will be oscillatory near non-smooth points (Liu et al. 2011; Pedro et al. 2013). Furthermore, the high-order accuracy of mixed MWENO and NRK methods will reduce around the non-smooth point. The Black–Scholes equation (1) also has a time-dependent boundary condition. These are the authors motivation to propose the novel hybrid method based on mixed MWENO and NRK, grid stretching and imposing of non-traditional time boundary conditions techniques for the solution of Black–Scholes equation. This novel adaptive method recovers the fifth-order of accuracy around non-smooth point as well as smooth points.

The remainder of this paper is organized as follows. In Sect. 2, we review some various models of Black–Scholes equation for European Call option. In Sect. 3, we first give an overview of MWENO and NRK methods for the spatial and temporal discretization of non-linear parabolic equations, respectively. Then, we extend MWENO and NRK methods to solve a diffusion–convection–reaction problem with time-dependent boundary conditions by imposing non-traditional match time technique. In Sect. 4, to restore the high accuracy of NRK–MWENO method when we solve the European call option Black–Scholes equation, a grid stretching transformation is used around a non-smooth point. Numerical comparisons between adaptive MWENO, fifth-order standard finite difference (SFD), Crank–Nicolson and a FOCFD are given.

2 Black–Scholes equation of European Call option

In this work, we will be concerned with several transaction cost models from the most relevant class of non-linear Black–Scholes equations for European Call option with a modified volatility function

$$\begin{aligned} \tilde{\sigma }=\tilde{\sigma }(t, S, V_S, V_{SS}). \end{aligned}$$
(2)

The value \(V (S, t)\) of the European Call option is the solution to (1) on \(0\le S<\infty ,\ 0\le t \le T\) with the following non-differentiable terminal and time-dependent boundary conditions

$$\begin{aligned}&\displaystyle V(S, T)=\max (0, S-E) ,\ 0<S<\infty ,\qquad \quad \end{aligned}$$
(3)
$$\begin{aligned}&\displaystyle \begin{array}{l@{\quad }l} V(0,t)=0,&{} 0<t<T\\ V(S,t)\sim S-E e^{-r(T-t)}\!,&{} S\rightarrow \infty , \end{array} \end{aligned}$$
(4)

where \(E\) is exercise or strike price. In the past years, different models have been proposed to relax unrealistic assumptions of the Black–Scholes model (1). These models result in fully non-linear Black–Scholes equations.

Jandačka and Ševčovič (2005) derived an option price taking into account transaction costs that are equal to a Black–Scholes price but with a risk-adjusted pricing methodology (RAPM) of the form

$$\begin{aligned} \displaystyle \widetilde{\sigma }^2=\sigma ^2\left( 1+3\left( \frac{C^2 M}{2\pi } SV_{SS}\right) ^{\frac{1}{3}}\right) , \end{aligned}$$
(5)

where \(M \ge 0\) is the transaction cost measure and \(C \ge 0\) is the risk premium measure.

The Black–Scholes (Leland 1985) model has the following modified volatility

$$\begin{aligned} \displaystyle \widetilde{\sigma }^2=\sigma ^2\left( 1+Le\ \mathrm{sign} (V_{SS})\right) \!, \end{aligned}$$
(6)

where \(\sigma \) represents the original volatility, \(Le\) the Leland number given by \( \displaystyle Le=\sqrt{\tfrac{2}{\pi }}\tfrac{\mu }{\sigma \sqrt{\delta t}}\), where \(\delta t\) denotes the transaction frequency and \(\mu \) the round trip transaction cost per unit cost of the transaction.

A more complex model has been proposed by Barles and Soner (1998) in year 1998. In their model, the non-linear volatility reads

$$\begin{aligned} \displaystyle \widetilde{\sigma }^2=\sigma ^2\left( 1+\Psi \left( e^{r(T-t)}a^2 S^2V_{SS}\right) \right) \!, \end{aligned}$$
(7)

where \(a\) is a constant parameter. The function \(\Psi (x)\) is the solution to the following non-linear ordinary differential equation (ODE)

$$\begin{aligned} \displaystyle \Psi '(x)=\frac{\Psi (x)+1}{2\sqrt{x\Psi (x)}-x},\quad x\ne 0, \end{aligned}$$
(8)

with the initial condition \(\Psi (0)=0\). Here, we solve ODE in (8) with the ode45 function in MATLAB, which is based on an explicit Runge–Kutta \((4, 5)\) one-step solver (Dormand and Prince 1980). We remind that an exact implicit expression for \(\Psi \) has been given in Ref. Company et al. (2008).

Remark 1

For \(\tilde{\sigma }\) as a constant function \(\tilde{\sigma }^2(t, S, V_S, V_{SS})=\sigma ^2\), the standard Black–Scholes equation (1) is a linear parabolic PDE. In this case, the exact solution for standard Black–Scholes equation with the final and boundary conditions (3)–(4), or the value of the European call option, is given by

$$\begin{aligned} V (S, t) = S\fancyscript{N}(d_1) - Ee^{-r(T-t)}\fancyscript{N}(d_2), \end{aligned}$$
(9)

where

$$\begin{aligned} \begin{array}{l@{\quad }l} \displaystyle \fancyscript{N}(d_1):= \frac{\ln (\frac{S}{E})+(r+\frac{\sigma ^2}{2})(T-t)}{\sigma \sqrt{T-t}},\quad \displaystyle \fancyscript{N}(d_2):= \frac{\ln (\frac{S}{E})+(r-\frac{\sigma ^2}{2})(T-t)}{\sigma \sqrt{T-t}},\qquad \end{array} \end{aligned}$$
(10)

and \(\fancyscript{N}(x)\) is the standard normal cumulative distribution function

$$\begin{aligned} \displaystyle \fancyscript{N}(x)=\frac{1}{\sqrt{2\pi }}\int \limits _{-\infty }^x e^{-\frac{y^2}{2}}\mathrm{d}y, \ \ \ x\in {R}. \end{aligned}$$
(11)

In this paper, in order to ease the numerical solution of (1)–(4) for the European Call option, we transform the problem into a forward parabolic problem. The following variable transformations

$$\begin{aligned} S=E e^x,\ \ \tau =T- t,\ \ V (S, t)=E u(x, \tau ) . \end{aligned}$$
(12)

for Eq. (1) yield

$$\begin{aligned} u_{\tau }=\frac{\tilde{\sigma }^2}{2} u_{xx}+ \left( r-\frac{\tilde{\sigma }^2}{2}\right) u_x-ru, \end{aligned}$$
(13)

where \(\tilde{\sigma }^2\) depends on the volatility model, \(x\in {R}\) and \(0\le \tau \le T\). The initial and boundary conditions (3) and (4) also transformed into

$$\begin{aligned} \begin{array}{l@{\quad }l} u(x,0)=\max \left( e^{x}-1, 0\right) , &{} \mathrm for \ x\in {R}\\ u(x,\tau )=0, &{} \mathrm as \ \ x\rightarrow -\infty \\ u(x,\tau )=e^{x}- e^{-r\tau }, &{} \mathrm as \ \ x\rightarrow \infty . \end{array} \end{aligned}$$
(14)

Using variables (12), the RAPM (5), Leland’s model (6) and Barles and Soner’s (BS) model (7) transformed into

$$\begin{aligned} \begin{array}{l} \displaystyle \widetilde{\sigma }^2=\sigma ^2\left( 1+3\left( \frac{C^2 M}{2\pi } e^{-x}(u_{xx}-u_x)\right) ^{\frac{1}{3}}\right) ,\\ \end{array} \end{aligned}$$
(15)
$$\begin{aligned} \begin{array}{l} \widetilde{\sigma }^2=\sigma ^2\left( 1+Le\ \mathrm{sign}(u_{xx}-u_x)\right) , \\ \end{array} \end{aligned}$$
(16)
$$\begin{aligned} \begin{array}{l} \displaystyle \widetilde{\sigma }^2=\sigma ^2\left( 1+\Psi \left( e^{r\tau }a^2 E(u_{xx}-u_x)\right) \right) \!. \end{array} \end{aligned}$$
(17)

From both the computational point of view and the numerical analysis, in this paper we use the transformed problem (13)–(14) with transformed volatilities (15)–(16) instead of the original problem (1)–(4).

3 NRK–MWENO method

In this section, we briefly review the basic ideas of MWENO and NRK methods for spatial and temporal discretization, respectively. We also extend the MWENO approach for spatial discretization of transformed Black–Scholes equation (13). To maintain the third-order accuracy of NRK, non-conventional imposing time-dependent boundary conditions in the two interior stages of the NRK method are used.

Consider the following non-linear parabolic PDE

$$\begin{aligned} \partial _tu(x,t)=\partial _{xx}\Phi (u(x,t))+B(u(x,t))\qquad x\in \Omega ,\ t>0, \end{aligned}$$
(18)

where \(\Phi \) and \(B\) are the physical flux and the reaction term, respectively. An uniform grid on \(\Omega =[a,b]\) is defined by the points \(x_i = a +i\triangle x, \,i=0, . . . ,N+1\), where \(\triangle x\) is the uniform grid spacing. Using the method-of-lines, the semi-discretized MWENO form of Eq. (18) yields a system of ODEs

$$\begin{aligned} \begin{array}{l} \displaystyle \frac{du_{i}(t)}{dt}=\frac{{\hat{f}}_{i+\frac{1}{2}}-{\hat{f}}_{i-\frac{1}{2}}}{\Delta x^2}+B(u_i(t)), \end{array} \end{aligned}$$
(19)

where \(u_i(t)\thickapprox u(x_i, t)\) and \({\hat{f}}_{i+\frac{1}{2}}=\hat{f}(u_{i-2},\ldots ,u_{i+3})\) are numerical flux functions. \(\hat{f}_{i+\frac{1}{2}}\) is Lipschitz continuous and consist with physical flux \(\Phi (u)\) in the sense that \(\hat{f}(u,\ldots ,u)=\Phi (u)\) (Hajipour and Malek 2012; Liu et al. 2011). The numerical flux \(\hat{f}_{i+\frac{1}{2}}\) is defined in the following form

$$\begin{aligned} \hat{f}_{i+\frac{1}{2}}&= \frac{1}{12}\left( \Phi (u_{i-2})\!-\!3\Phi (u_{i-1})-9\Phi (u_i) \!+\!11\Phi (u_{i+1})\right) \omega _0\!+\!\frac{1}{12}\left( \Phi (u_{i-1})-15\Phi (u_{i}) \right. \quad \nonumber \\&+\left. 15\Phi (u_{i+1})-\Phi (u_{i+2})\right) \omega _1+\frac{1}{12}\left( -11\Phi (u_{i})+9\Phi (u_{i+1})+3\Phi (u_{i+2})\right. \nonumber \\&\left. -\Phi (u_{i+3})\right) \omega _2, \end{aligned}$$
(20)

where coefficients \(\omega _m\), called non-linear weights, are given by

$$\begin{aligned} {\omega }_m=\frac{42}{15}{{\omega }}^{+}_m-\frac{27}{15}{{\omega }}^{-}_m. \end{aligned}$$
(21)

Parameters \({\omega }_m^{\pm }\) are introduced Hajipour and Malek (2012) by

$$\begin{aligned} {\omega }_m^{\pm }=\frac{\alpha ^{\pm }_m}{\sum _{l=0}^2{{\alpha }}^{\pm }_l},\quad \, {{\alpha }}^{\pm }_m=\frac{\gamma ^{\pm }_m}{\left( \epsilon +\beta _m\right) ^2}\left[ (\beta _2-\beta _0)^2+\left( \epsilon +\beta _m\right) ^2\right] \!,\, \, m=0,1,2,\qquad \end{aligned}$$
(22)

where \(\alpha ^{\pm }_m\) stands for as the unnormalized weights and parameter \(\epsilon \) is used to avoid the division by zero in the denominator. In practice, \( \epsilon = 10^{-30}\) is used. Parameters \(\gamma ^{\pm }_m\) are defined in the following form

$$\begin{aligned} {\gamma }^{+}_m=\frac{1}{2}\left( d_m+3|d_m|\right) \!,\quad {\gamma }^{-}_m={\gamma }^{+}_m-d_m,\ \ \ m=0, 1, 2, \end{aligned}$$
(23)

where parameters \(d_m\), called linear weights, are \(d_0=-\frac{2}{15}, d_1=\frac{19}{15}\) and \(d_2=-\frac{2}{15}\). \(\beta _m\) is a measure of smoothness for interpolation polynomials given by

$$\begin{aligned} \left. \begin{array}{l} \beta _0=\frac{13}{12}\left( \Phi (u_{i-2})-3\Phi (u_{i-1})+3\Phi (u_{i})-\Phi (u_{i+1})\right) ^2\\ \quad \qquad +\frac{1}{4}\left( \Phi (u_{i-2})-5\Phi (u_{i-1})+7\Phi (u_{i})-3\Phi (u_{i+1})\right) ^2,\\ \beta _1=\frac{13}{12}\left( \Phi (u_{i-1})-3\Phi (u_{i})+3\Phi (u_{i+1})-\Phi (u_{i+2})\right) ^2\\ \quad \qquad +\frac{1}{4}\left( \Phi (u_{i-1})-\Phi (u_{i})-\Phi (u_{i+1})+\Phi (u_{i+2})\right) ^2,\\ \beta _2=\frac{13}{12}\left( \Phi (u_{i})-3\Phi (u_{i+1})+3\Phi (u_{i+2})-\Phi (u_{i+3})\right) ^2\\ \quad \qquad +\frac{1}{4}\left( -3\Phi (u_{i})+7\Phi (u_{i+1})-5\Phi (u_{i+2})+\Phi (u_{i+3})\right) ^2. \end{array}\right\} \end{aligned}$$
(24)

The numerical flux \({\hat{f}}_{i-\frac{1}{2}}\) is obtained from shifting each index by \(-1\) in Eqs. (20)–(24). In the following Theorem of Hajipour and Malek (2012), it is shown that the sixth order of accuracy can be obtained using non-linear weights \(\omega _m\) defined in Eq. (21).

Theorem 1

If the numerical flux \({\hat{f}}_{i+\frac{1}{2}}\) is given by Eqs. (20)–(24), then the finite difference MWENO method (19) for smooth solution of Eq. (18) has the sixth order accuracy.

Note that, if one replaces non-linear weights \(\omega _m\) by linear weights \(d_m\) in Eq. (20), the finite difference MWENO method (19) will replace to the sixth-order SFD method. In this paper, the fifth-order finite difference WENO5 method (Wang and Spiteri 2007) is applied to discretize the convection term of Eq. (13). The WENO5 method by its nature is designed for first-order derivatives. To implement the WENO5 for both diffusion and convection terms, Eq. (13) must be transformed into a system of PDEs that is difficult to deal with. We suppose that the operator of MWENO for spatial discretizations of diffusion term is in the following form

$$\begin{aligned} L_d\left( \Phi (u_{i-3}(t)),\Phi (u_{i-2}(t)),\ldots ,\Phi (u_{i+3}(t))\right) ={\hat{f}}_{i+\frac{1}{2}}-{\hat{f}}_{i-\frac{1}{2}}\!, \end{aligned}$$
(25)

and \( L_c\) is the operator of WENO5 method given in Wang and Spiteri (2007) for spatial discretizations of convection term.

Corollary 1

Let \(L_d\) and \(L_c\) are operators of spatial discretizations of diffusion and convection terms of Eq. (13), respectively. Then, the mixed finite difference method

$$\begin{aligned} \displaystyle \frac{du_{i}(t)}{dt}&= \frac{\tilde{\sigma }^2}{2}\frac{1}{(\Delta x)^2}\ L_d\left( u_{i-3}(t),\ldots ,u_{i+3}(t)\right) \nonumber \\&+\left( r-\frac{\tilde{\sigma }^2}{2}\right) \frac{1}{\Delta x}\ L_c\left( u_{i-3}(t),\ldots ,u_{i+2}(t)\right) -r u_i(t), \end{aligned}$$
(26)

for smooth solution of Eq. (13), has the fifth-order accuracy.

Proof

From Theorem 1 and fifth-order of accuracy for WENO5 method, the proof follows easily. \(\Box \)

For temporal discretization, we use a third-order NRK method (Hajipour and Malek 2012) to integrate the system of ordinary differential equations (26) in time

$$\begin{aligned} \left\{ \begin{array}{l} \displaystyle y^{(1)}=u_i^{n}+\Delta t\left( \fancyscript{L}(u^{n}_i)+\fancyscript{B}(u^{n}_i,u^{n}_i)\right) \!,\\ \displaystyle y^{(2)}=\frac{3}{4}u_i^{n}+\frac{1}{4}y^{(1)}+\frac{1}{4}\Delta t\left( \fancyscript{L}(y^{(1)})+\fancyscript{B}(y^{(1)},y^{(1)})\right) \!,\\ \displaystyle u^{n+1}_i=\frac{1}{3}u_i^{n}+\frac{2}{3}y^{(2)}+\frac{2}{3}\Delta t\left( \fancyscript{L}(y^{(2)})+\fancyscript{B}(u^{n}_i,u^{n+1}_i)\right) \!, \end{array}\right. \end{aligned}$$
(27)

where \(\fancyscript{L}(.)\) is the operator that could be defined by the right-hand side of Eq. (26) that evaluates diffusion and convection terms. \(\fancyscript{B}\) is a non-unique discrete operator that evaluates the reaction term by a non-local non-standard representation in the points \(x_{i}\). The operator \(\fancyscript{B}\) consists with reaction term \(B(u)\) in the sense that \(\fancyscript{B}(u,u)=B(u)\). The standard explicit RK schemes for the solution of non-linear autonomous differential equations can have asymptotic solutions that satisfy the difference equations. These approximated solutions may converge to the incorrect solutions of the differential equations. These solutions are known as spurious asymptotic solutions (Chen and Solis 1998). The NRK schemes appear to be powerful in producing qualitatively stable schemes and generally are known to preserve some important features of the problem, e.g., fixed points and their stability, positivity and boundedness (Mickens 1994). The third-order NRK method (27) is a modification of third-order TVD Runge–Kutta method and it has wider stability region for the problems containing the reaction terms. In Lemma 1, the stability condition for mixed NRK and MWENO methods is presented.

Lemma 1

The mixed finite difference (26) and NRK given by Eq. (27) are stable, if \( {\alpha }\le 0.4157\), where \({\alpha }=\frac{\tilde{\sigma }^2}{2}\frac{\Delta t}{ (\Delta x)^2}\).

Proof

From the von Neumann stability analysis, we deduce the amplification factor

$$\begin{aligned} \xi (\theta )=1+Q(\theta )+\frac{1}{2}(Q(\theta ))^2+\frac{1}{6}(Q(\theta ))^3, \end{aligned}$$

where \(Q(\theta )=\frac{\Delta t}{ (\Delta x)^2}\left( \frac{\tilde{\sigma }^2}{2} \psi (\theta )+(r-\frac{\tilde{\sigma }^2}{2})z(\theta )\Delta x-r(\Delta x)^2\right) \), \(\psi (\theta )\) and \(z(\theta )\) are the given functions in Refs. Hajipour and Malek (2012) and Wang and Spiteri (2007), respectively.

If one replaces \( \fancyscript{B}(u^{n}_i\!,u^{n+1}_i) \) by \( \fancyscript{B}(y^{(2)}\!, y^{(2)}) \) in Eq. (27), the NRK method (27) will replace to the third-order standard Runge–Kutta (RK) method. In this case, the von Neuman condition is satisfied if \(|\xi (\theta )|\leqslant 1\). This leads to the condition \(|\hat{\xi }(\theta )|\leqslant 1\) for all \(\theta \in [-\pi ,\pi ]\), when \(\Delta x, \Delta t\rightarrow 0\) and

$$\begin{aligned} \hat{\xi }(\theta )&= 1+\alpha \left( -\frac{109}{45}+\frac{44}{15}\cos \theta -\frac{3}{5}\cos ^2 \theta +\frac{4}{45} \cos ^3 \theta \right) +\alpha ^2\left( \frac{11881}{4050}-\frac{4796}{675}\cos \theta \right. \\&\left. \displaystyle +\frac{259}{45}\cos ^2 \theta -\frac{160}{81} \cos ^3 \theta +\frac{119}{270}\cos ^4 \theta -\frac{4}{75} \cos ^5 \theta +\frac{8}{2025}\cos ^6 \theta \right) \\&+\, \alpha ^3 \left( -\frac{1295029}{546750}\!+\!\frac{261382}{30375}\cos \theta -\frac{246667}{20250}\cos ^2 \theta \!+\!\frac{795566}{91125} \cos ^3 \theta -\frac{221671}{60750}\cos ^4 \theta \right. \\&\left. +\frac{10526}{10125} \cos ^5 \theta -\frac{36817}{182250}\cos ^6 \theta +\frac{838}{30375}\cos ^7 \theta -\frac{8}{3375}\cos ^8 \theta +\frac{32}{273375}\cos ^9 \theta \right) \!, \end{aligned}$$

where \({\alpha }=\frac{\tilde{\sigma }^2}{2}\frac{\Delta t}{ (\Delta x)^2}\). Consequently, for the Courant–Friedrichs–Lewy (CFL) stability condition

$$\begin{aligned} \frac{272}{45}\alpha -\frac{36992}{2025}\alpha ^+\frac{10061824}{273375}\alpha ^3\leqslant 2. \end{aligned}$$

the von Neuman condition automatically will satisfy. This leads to \({\alpha }\leqslant 0.4157.\)

For the non-standard representation \(\fancyscript{B}(u^n_i\!, u^{n+1}_i )=-ru^{n+1}_i\) for reaction term \(B(u)=-ru\), the von Neuman condition is satisfied if \(\frac{1}{1+\frac{2}{3}r\Delta t}|\hat{\xi }(\theta )|\leqslant 1\). This leads to

$$\begin{aligned} \frac{272}{45}\alpha -\frac{36992}{2025}\alpha ^+\frac{10061824}{273375}\alpha ^3\leqslant 2+\frac{2}{3}r \Delta t. \end{aligned}$$

Therefore, the stability region of NRK method is larger than the standard Runge–Kutta method. \(\Box \)

It is well known that the non-standard framework is not a unique framework. The operator \(\fancyscript{B}\) in Eq. (27) is a non-linear discrete operator that evaluates reaction term \(ru_i(t)\) in Eq. (26) by a non-local non-standard representation e.g. \(\fancyscript{B}(u^n_i\!, u^{n+1}_i )=ru^{n+1}_i\). Thus, we can choose the CFL stability condition such that \(0<\frac{\tilde{\sigma }^2}{2}\frac{\Delta t}{ (\Delta x)^2}\leqslant 0.42.\)

3.1 Boundary treatment

Suppose we have a time-dependent boundary condition \(g(t)\). For imposing time-dependent boundary conditions in the two interior stages of the NRK method (27), special care must be taken. The conventional time matching in the following form

$$\begin{aligned} \left\{ \begin{array}{l@{\quad }l@{\quad }l} u^{n}&{}\thicksim &{}g(t^n),\\ y^{(1)}&{}\thicksim &{}g(t^n+\Delta t),\\ y^{(2)}&{}\thicksim &{}g(t^n+\frac{\Delta t}{2} ),\\ \end{array}\right. \end{aligned}$$
(28)

decreases the accuracy of the third-order NRK method (27) to second order, independent of the spatial operator \(\fancyscript{L}\) and \(\fancyscript{B}\) (see Eq. (27)).

To achieve the high order of accuracy near the boundaries, we specifically use the following expressions for the intermediate boundary conditions:

$$\begin{aligned} \left\{ \begin{array}{l@{\quad }l@{\quad }l} u^{n}&{}\thicksim &{}g(t^n),\\ y^{(1)}&{}\thicksim &{}g(t^n)+\Delta t g'(t^n),\\ y^{(2)}&{}\thicksim &{}g(t^n)+\frac{1}{2}\Delta t g'(t^n)+\frac{1}{4}(\Delta t)^2 g''(t^n).\\ \end{array}\right. \end{aligned}$$
(29)

This time matching maintains the third-order accuracy for Eq. (27) (see Carpenter et al. 1995). Here, the method based on the mixed finite difference (26) and third-order NRK given by Eqs. (27) and (29) is denoted by “NRK–MWENO” method. In the following example, it is shown that imposing boundary conditions by Eq. (29) for NRK method maintain the fifth-order accuracy of NRK–MWENO method.

3.2 Accuracy test

Consider the following parabolic PDE subject to the time-dependent boundary conditions:

$$\begin{aligned}&\displaystyle u_{t}=\frac{1}{2}u_{xx}+\frac{1}{2}u_x-u,\end{aligned}$$
(30)
$$\begin{aligned}&\displaystyle \begin{array}{l@{\quad }l} u(x,0)= e^{-x}, &{} \mathrm for \ x\in [-2,2]\\ u(\pm 2,t)= e^{-t-\pm 2}, &{} t>0.\\ \end{array} \end{aligned}$$
(31)

The exact solution of the PDE (30) satisfying conditions (31) is \(u(x,t)= e^{-t-x}\). For \(N=20, 40, 80\) and \(160\), the NRK–MWENO solution for Eqs. (30)–(31) at the time \(t=1\) is reported in Table 1. As shown in Table 1, the conventional imposing time-dependent boundary conditions for NRK time advancement decreases the accuracy of NRK–MWENO method. While the imposing boundary conditions by Eq. (29) for NRK method maintains the fifth-order accuracy of NRK–MWENO method. From Lemma 1, let us choose \(\Delta t\) such that \(\frac{\Delta t}{(\Delta x)^2}=\frac{0.42}{\rho }\) for \(\rho =\frac{1}{2}\). This choice guarantees the accuracy order of the NRK–MWENO method plus the technique that used by Eq. (29) to be in the form \(\fancyscript{O}\left( (\Delta x)^6\right) +\fancyscript{O}\left( (\Delta x)^5\right) +\fancyscript{O}\left( (\Delta t)^3\right) \approx \fancyscript{O}\left( (\Delta x)^5\right) \). This behavior is shown in Table 1.

Table 1 Accuracy of the NRK–MWENO method for Eqs. (30) and (31) on domain \(\Omega =[-2,2]\)

4 Numerical results and grid stretching

In this section, the NRK–MWENO method is first used to solve the linear transformed Black–Scholes equation (13). To confirm the efficiency of the proposed method, the NRK–MWENO, Crank–Nicolson, FOCFD (Tangman et al. 2008) and fifth-order SFD-5 methods for the solution of European and digital call options of the Black–Scholes equation are compared. The linear fifth-order SFD-5 method is based on the third-order Runge–Kutta for time stepping and the linear fifth-order SFD method for space discretization. Then, in order to achieve the high-order accuracy in the non-smooth point as well as smooth points, the NRK–MWENO method is improved by the grid stretching technique for linear and non-linear Black–Scholes equations. Here, the norm of errors is computed by the norm(.,.) function in MATLAB.

Example 1

To solve problem (13)–(14) numerically, we apply Crank–Nicolson, FOCFD, SFD-5 and NRK–MWENO methods for the financial parameters \({\sigma } = 0.2, r = 0.04, E = 40\) and \(T = 0.5\).

The \(L^{\infty }\) error and convergence rates of FOCFD, Crank–Nicolson and NRK–MWENO methods are shown in Table 2. Difference absolute values between the exact solution and the NRK–MWENO solution are plotted in Fig. 1a, when the computational domain \(\Omega =[-3,1]\) is divided into \(N = 40, 80\) and \(160\) uniform cells. The results of Table 2 show that FOCFD and Crank–Nicolson methods achieve only second-order convergence. As shown in Table 2, the convergence rate of NRK–MWENO method instead of five is almost three. While for smooth solutions, the order of accuracy for NRK–MWENO method is fifth-order (see Sect. 3). To restore the asymptotic fifth-order convergence of the NRK–MWENO method, we use a grid stretching transformation (Oosterlee et al. 2005) that concentrates grid nodes at the non-smooth point. A linear combination of the space grid values in the stencil is called a linear SFD method (Shu 2009). Although the solution of the Black–Scholes equation is continuous and the equation is not degenerate, the payoff has a kink. If for simplicity we use the linear SFD methods that involved a wide numerical stencil, these methods will be oscillatory near non-smooth point. To confirm the efficiency of NRK–MWENO method for the approximating of non-smooth solutions, numerical approximations of NRK–MWENO and SFD-5 methods for solving the linear European option Black–Scholes equation are compared. In Fig. 1b, we plot the linear SFD-5, NRK–MWENO and exact solutions of European option with financial parameters \({\sigma } = 0.2, r = 0.04, E = 40\) and \(T = 0.5\), when the computational domain is divided into \(N=160\) cells and\( \frac{\Delta t}{ (\Delta x)^2}= \frac{0.84}{{\ \sigma }^2}\).

Fig. 1
figure 1

For financial parameters \({\sigma } = 0.2, r = 0.04, E = 40\) and \(T = 0.5\), a plots of difference absolute values between the exact \(V(S,t)\) and NRK–MWENO \(U(S,t)\) solutions of European option when the computational domain is divided into \(N=40, 80\) and \(160\) cells, b plots of the linear SFD-5, NRK–MWENO (non-linear) and exact solutions of the European option

Table 2 Infinity norm error and convergence rates of Crank–Nicolson, FOCFD and NRK–MWENO methods for a European option with financial parameters \({\sigma } = 0.2, r = 0.04, E = 40\) and \(T = 0.5\)

Example 2

(Linear digital call option) Consider the digital call option in the following form

$$\begin{aligned}&\displaystyle V_t +\frac{1}{2}{\sigma }^2S^2V_{SS} + rSV_S = rV,\end{aligned}$$
(32)
$$\begin{aligned}&\displaystyle \begin{array}{l@{\quad }l} V(S, T)=H(S-E), &{}\ 0<S<\infty \\ V(0,t)=0,&{} 0<t<T\\ V(S,t)\sim e^{-r(T-t)}\!,&{} S\rightarrow \infty , \end{array} \end{aligned}$$
(33)

where \(H\) is the Heaviside function, \(H(S-E) = 1\) if \(S > E\) and \(H(S-E) = 0\) if \(S < E\). The analytical solution for digital call option is \(V(S,t)=e^{-r(T-t)}\fancyscript{N}(d_2)\), where \(\fancyscript{N}(d_2)\) is defined in (10).

The digital Call option belongs to the class of exotic options. These options are not traded at exchanges, but such contracts are traded between a bank and a customer (Hull 1989). To apply numerical methods for Eqs. (32)–(33), the transformations in (12) are used. In Fig. 2, plots of the NRK–MWENO, SFD-5 and analytical solutions for the digital call option with financial parameters \({\sigma } = 0.3, r = 0.05\) and \(E = 15\) at times \(t=0.5\) and \(t=2\) are depicted when the computational domain \(\Omega =[-3,1.5]\) is divided into \(N=80\) cells. As shown in Fig. 2, the linear fifth-order SFD-5 method oscillates near the discontinuity, while the NRK–MWENO method does not produce the spurious solution near discontinuity. For \(t=2\) and \(N=80\), the infinity norm error for the NRK–MWENO method is \(7.1\times 10^{-4}\), while the linear SFD-5 solution diverges.

Fig. 2
figure 2

Plots of the NRK–MWENO, SFD-5 and analytic solutions for digital call option Eqs. (32)–(33) with financial parameters \({\sigma } = 0.3, r = 0.05\) and \(E = 15\) at two times a \(t=0.5\), b \(t=2\)

Remark 2

The MWENO method involves a wide numerical stencil, thus it needs a suitable treatment of several ghost points near the boundary. Namely, one obtains irregular cut cells near the boundary, which may be orders of magnitude smaller than the regular grid cells, leading to a severe time step restriction (Company et al. 2008). For ghost European call option values \(u_i\) where \(i=-1,-2,-3\) and \(i=N+2,N+3,N+4\), we will impose the conditions

$$\begin{aligned}&\displaystyle u_i=0,\quad \quad \mathrm as \quad i=-1,-2,-3,\end{aligned}$$
(34)
$$\begin{aligned}&\displaystyle u_i=e^{x_i}- e^{-r\tau }\!,\quad \mathrm as \quad i=N+2,N+3,N+4. \end{aligned}$$
(35)

For ghost values of digital call option, \(u_i=0; i=-1,-2,-3\) and \(u_i=\frac{1}{E}e^{-r\tau }; i=N+2,N+3,N+4\) are used.

In the following, we consider the effect of the grid stretching technique.

4.1 Hybrid NRK–MWENO and grid stretching method

As shown in Fig. 1a, the maximum difference between the exact solution and NRK–MWENO solution of transformed European option Black–Scholes equation occurs near the point \(S=E\). The order of accuracy NRK–MWENO method also reduces from five to three (see Table 2).

In option pricing, the final condition is not differentiable at point \(S=E\) (see Eq. (3)). Because of the discretization error locally decreases by a grid refinement in the vicinity of a non-smooth point, the local grid refinement near sharp corners in the domain or near singularities in an equation often improves the overall discretization accuracy drastically. To retain a satisfactory accuracy, we choose a local grid refinement. The principle of local refinement is to choose more points in the neighborhood of the non-smooth points. This can be done by adaptive grid refinement for some regions or by an analytic coordinate transformation. We use the grid stretching transformation that has been explained by Oosterlee et al. (2005) to restore the asymptotic fifth-order convergence of the NRK–MWENO method. The transformed Black–Scholes equation (13)–(14) is not differentiable at point \(x=0\) at the time \(\tau =0\). Thus, we transform the coordinate for Eqs. (13)–(14) around this point.

Consider the coordinate transformation \(y =\psi (x)\) with inverse \(x =\phi (y) =\psi ^{-1}(y)\) in the following form

$$\begin{aligned} y=\psi (x)=\frac{\sinh ^{-1}(\xi (x-\kappa ))}{c_2-c_1},\quad x=\phi (y)=\frac{1}{\xi }\sinh (c_2y+c_1(1-y))+\kappa , \end{aligned}$$
(36)

where \(c_1=\sinh ^{-1}(\xi (a-\kappa ))\) and \(c_2=\sinh ^{-1}(\xi (b-\kappa ))\). The grid is refined around \(x=\kappa \) with stretching rate \(\xi \). The first and second derivatives with respect to \(x\) of yield

$$\begin{aligned} \frac{\partial u}{\partial x}=\frac{1}{\phi '(y)}\frac{\partial \hat{u}}{\partial y},\qquad \frac{\partial ^2 u}{\partial x^2}=\frac{1}{(\phi '(y))^2}\frac{\partial ^2\hat{u}}{\partial y^2}-\frac{\phi ''(y)}{(\phi '(y))^3}\frac{\partial \hat{u}}{\partial y}, \end{aligned}$$
(37)

where \(\hat{u}(y, \tau ) := u(x, \tau )\). Substituting (37) into Eq. (13) leads to

$$\begin{aligned} \hat{u}_{\tau }=\frac{\tilde{\sigma }^2}{2} \frac{1}{(\phi '(y))^2}\frac{\partial ^2\hat{u}}{\partial y^2}+ \left( \left( r-\frac{\tilde{\sigma }^2}{2}\right) \frac{1}{\phi '(y)}-\frac{\tilde{\sigma }^2}{2}\frac{\phi ''(y)}{(\phi '(y))^3}\right) \frac{\partial \hat{u}}{\partial y}-r\hat{u}, \end{aligned}$$
(38)

Here, the hybrid method based on NRK–MWENO method given in Sect. 3 and grid stretching techniques is called “adaptive MWENO” method.

Example 3

(Linear call options) Approximation solution of the proposed adaptive MWENO method to solve the Eq. (38) is compared with Crank–Nicolson (Ankudinova and Ehrhardt 2008) and the FOCFD (Tangman et al. 2008) techniques.

The numerical results of Crank–Nicolson, FOCFD and adaptive MWENO for the solution of European call option with financial parameters \({\sigma } = 0.2, r = 0.04, E = 40\) and \(T = 0.5\) are compared in Table 3. The use of the grid stretching restores the fifth-order rate of convergence for adaptive MWENO and fourth-order convergence for FOCFD methods. The Crank–Nicolson and FOCFD methods are the implicit finite difference techniques, while the adaptive MWENO method is explicit technique. Error for adaptive MWENO method is smaller than errors for FOCFD and Crank–Nicolson methods. For \(N=160\), the infinity norm error of the adaptive MWENO method is \(2.5\times 10^{-8}\), and its rate of convergence is \(5.2\). It is shown numerically that the novel adaptive MWENO method is more efficient than the FOCFD and Crank–Nicolson methods. Numerical results confirm the high performance of adaptive MWENO method in the smooth points as well as the non-smooth point. For \(N=40\), the adaptive MWENO solution for the European call option is depicted in Fig. 3a.

Fig. 3
figure 3

For \(N=40\), a the plot of the adaptive MWENO solution for the European call option with financial parameters \({\sigma } = 0.2, r = 0.04, E = 40\) and \(T = 0.5\). b The plot of the adaptive MWENO solution for the digital call option with financial parameters \({\sigma } = 0.3, r = 0.05, E = 15\) and \(T = 1\)

Table 3 Infinity norm error and convergence rates of Crank–Nicolson, FOCFD and adaptive MWENO methods to solve the European call option

For \(N=40\), the plot of the adaptive MWENO solution for the digital call option with financial parameters \({\sigma } = 0.3, r = 0.05, E = 15\) and \(T = 1\) is illustrated in Fig. 3b. The infinity norm error of the adaptive MWENO method is \(2.1\times 10^{-5}\) when the computational domain \(\Omega =[0,1]\) is divided into \(N=80\) cells. However, the adaptive MWENO method with the grid stretching strategy cannot achieve global fifth-order accuracy for the solution of the digital call option with discontinuous final condition.

Example 4

(Non-linear European call option) To solve the non-linear Black–Scholes equation (1)–(4) with RAPM, Leland and BS volatilities defined by Eqs. (5)–(7), we first substitute first and second derivatives given in Eq. (37) into transformed volatilities (15)–(16), then implement the method for solving Eq. (38).

In Fig. 4a, we compute the price given by the numerical solution of non-linear Black–Scholes equation (1)–(4) with modified volatilities (5)–(7) for the following choice of parameters

$$\begin{aligned} \displaystyle {\sigma } = 0.3,\ r = 0.05,\ E = 15\ \mathrm{and}\ T = 0.25, \end{aligned}$$
(39)

where in Eqs. (5)–(7), \(C=30, M=0.01, \delta t=0.01, \mu =0.05\) and \(a=0.02\). The solutions of adaptive MWENO method for different values of the transaction cost parameter \(a=0, 0.01\) and \(0.02\) with Barles and Soner’s volatility and pay-off for financial parameters given in Eq. (39) are plotted in Fig. 4b. This figure shows that when transaction costs \(a\) increase, the corresponding option prices also increase. For each of the volatility models that is given in Eqs. (5)–(7) where \(C=30, M=0.01, \delta t=0.01, \mu =0.05\) and \(a=0.02\), we compute the infinity norm error and convergence rates of the adaptive MWENO method for Black–Scholes equation when the computational domain \([0,1]\) is divided into \(N=20, 40\) and \(80\) cells. Results are shown in Table 4. Since the exact solution of non-linear Black–Scholes equation (1) with modified volatilities (5)–(7) is not available, for the reference solution, we compute a solution for each model with the corresponding adaptive MWENO method on a very fine grid when the computational domain is divided into \(N=320\) cells. Then the comparison is made with this reference solution. In Table 4, the efficiency and high-order accuracy of the proposed adaptive MWENO method are demonstrated. It is shown that the rate of accuracy for this adaptive MWENO method is almost of fifth-order for three different non-linear modified volatilities.

Fig. 4
figure 4

For \(N=40\), a Price of a European Call option \(V (S, 0)\) for different transaction cost models. b Solution of non-linear Black–Scholes equation for different values of the transaction cost parameter \(a\) with Barles and Soner’s volatility

Table 4 Infinity norm error and convergence rates of adaptive MWENO method for solving the Black–Scholes equation with modified volatilities (5)–(7) where \(C=30, M=0.01, \delta t=0.01, \mu =0.05\) and \(a=0.02\)

5 Conclusion

This paper considers a high accurate adaptive MWENO method based on MWENO, NRK with non-traditional time boundary imposing and grid stretching techniques to solve the European and digital options of Black–Scholes equation. For linear and non-linear Black–Scholes equations, the error analysis is presented for the RAPM, Leland’s and Barles and Soner’s Black–Scholes models. The proposed numerical results have demonstrated the advantage of the novel adaptive MWENO method. The adaptive MWENO method is an explicit high-order method that deals with non-smooth points successfully. The authors believe that this adaptive MWENO method can be extended to solve the American option Black–Scholes equation.