Background

The Black–Scholes equation, which is proposed by Black and Scholes (1973), is a financial model that is concerned with options. An option is a contract between the seller and the buyer. It consists of a call option and a put option. Option valuation depends on the underlying asset price and time. European options can only be exercised at the expiration date, but American options can be exercised at any time before the expiration date. The Black–Scholes equation provides an option pricing formula for European option. The analytic solution is used in general cases with basic assumptions but it is not satisfied in some conditions.

The numerical methods for solving the Black–Scholes equation have been presented in many scholarly studies. The binomial process and probability for formula valuation of option pricing are proposed by Cox et al. The rate of return on the stock over each period can have two possible values and the end stock price of maturity will be either us or ds (Cox et al. 1979). Moon and Kim use an adaptive averaging binomial method for option valuation (Moon and Kim 2013). The symmetrical lattice for real options valuation are presented by Bastian-Pinto (2015). Glazyrina and Melnikov presented an alternative derivation of the Black–Scholes formula from a binomial option pricing model (Glazyrina and Melnikov 2016). The finite difference method by Schwartz developed the numerical solution for valuing options on dividend-paying stocks. The boundary condition is enforced to take into account the fact that the stock price will drop by the amount of the dividend (Schwartz 1977). A numerical upwind scheme for solving the backward time parabolic partial differential equation is proffered by Vazquez (1998). A robust finite difference method for pricing European and American options is presented by Cen and Le (2010, 2011). Cen et al. introduced a central difference scheme with moving mesh in the spatial discretization for pricing Asian options (Cen et al. 2013). Lesmana and Wang purposed an upwind finite difference method for a nonlinear Black–Scholes equation (Lesmana and Wang 2013). The uniform cubic B-spline collocation method is implemented to find the numerical solution by a horizontal method of lines, to discretize the temporal variable and the spatial variable (Kadalbajoo et al. 2012).

Kumar et al. suggested that the governing equation is discretized by the θ-weighted method and the option price is approximated by the radial basis functions based on the finite difference method (Kumar et al. 2015). Mohammadi presented Quintic B-spline collocation approach for solving generalized Black–Scholes equation governing option pricing, the horizontal method of lines for time integration and θ-method are used for temporal discretization (Mohammadi 2015). The fractional Black–Scholes model are presented by Bjork and Hult (2005), Song and Wang (2013). Kumar et al. presented a numerical computation of fractional Black–Scholes equation arising in financial market (Kumar et al. 2014). The meshless local Petrov–Galerkin (MLPG) method based on moving kriging interpolation for solving fractional Black–Scholes model are purposed by Phaochoo et al. (2016). Kleinert and Korbel presented double-fractional differential equation for the prices of options (Kleinert and Korbel 2016). Zhang et al. introduced the numerical simulation of the tempered fractional Black–Scholes equation for European double barrier option (Zhang et al. 2016).

A truly meshless method for solving boundary value problems based on the local symmetric weak form and the moving least squares (MLS) approximation, called the MLPG method, has been proposed and successfully applied to solve many problems (Atluri and Shen 2002). The MLPG method is one of the most viable methods in which the moving least square (MLS) approach is used to construct the shape functions. Although the MLPG method has been applied to many problems, there exists an inconvenience or disadvantage when using the MLPG because of the difficulty in implementing essential boundary conditions. This is because the MLS shape functions lack the Kronecker delta property. Therefore the moving kriging interpolation (MKI) method (Yimnak and Luadsong 2014) has been proposed to overcome this problem. It uses nodal values in the local support domain to construct shape functions with the Kronecker delta property. The MKI method works well for practical problems.

In this paper, we propose a numerical method based on the MLPG method to solve a generalized Black–Scholes equation. The MLPG is a truly meshless method, which involves not only a meshless interpolation for the trial functions, but also a meshless integration of the weak-form. MLPG type 2 (MLPG2) is chosen for this research so the Kronecker delta is the test function. This method will avoid the domain integral in the weak-form. In addition, we compared numerical solutions among the finite difference method, the cubic spline method and the MLPG method in the numerical experiment.

Problem formulation

The Black–Scholes equation is the outstanding financial equation that solves European option pricing without a transaction cost. Moreover, underlying asset prices distributed on the log indicate normal random walks, risk-free interest rates, no dividends and no arbitrate opportunities as fundamental assumptions. The Black–Scholes equation follows:

$$\frac{\partial u}{\partial \tau } + r(\tau )s\frac{\partial u}{\partial s} + \frac{1}{2}\sigma^{2} (s,\tau )s^{2} \frac{{\partial^{2} u}}{{\partial s^{2} }} - r(\tau )u = 0, \quad (s,\tau ) \in {\mathbb{R}}^{ + } \times [0,T]$$
(1)

with terminal and boundary conditions

$$u(s,T) = \hbox{max} (s - E,0), s \in {\mathbb{R}}^{ + } ,\;\;u(0,\tau ) = 0,\tau \in [0,T],$$

where u(s, τ), T, r and σ are the value of European call options at underlying asset price s at time τ, the expiration date, risk-free interest rate and volatility of underlying asset prices, respectively. From Eq. (1), when s goes to zero then degenerating will occur in approximation. We transform the Black–Scholes equation into a non-degenerate partial differential equation by using a logarithmic transformation, x = ln s, t = T − τ, and define the computational domain for convenience in numerical experiments by Ω = [x min, x max] × [0, T], where x min = −ln(4E), x max = ln(4E) (Huang and Cen 2014).

$$\frac{\partial u}{\partial t} = \frac{1}{2}\sigma^{2} (x,t)\frac{{\partial^{2} u}}{{\partial x^{2} }} + \left( {r(t) - \frac{1}{2}\sigma^{2} (x,t)} \right)\frac{\partial u}{\partial x} - r(t)u,\quad (x,t) \in \Omega$$
(2)
$$\begin{aligned} u(x,0) & = \hbox{max} \left( {e^{x} - E,0} \right),x \in \left( {x_{\hbox{min} } ,x_{\hbox{max} } } \right), \\ u\left( {x_{\hbox{min} } ,t} \right) & = 0,\;\;u\left( {x_{\hbox{max} } ,t} \right) = e^{{x_{\hbox{max} } }} - Ee^{{ - \int_{0}^{t} {r(s)ds} }} ,\quad t\in \left[ {0,T} \right]. \\ \end{aligned}$$

Moving kriging interpolation

The moving kriging interpolation (MKI) is used to construct the shape function. The function u(x) is defined in the domain Ω and the approximate function is u n(x). The subdomain Ωx that encompasses these surrounding nodes is called the interpolation domain of point x. The formulation of the meshless shape function using MKI is given by

$$u^{h} (x) = \mathop \sum \limits_{j = 1}^{N} \phi_{j} \hat{u}_{j} (t) = \varPhi (x)U(t),\quad x \in \Omega ,$$
(3)

where \(U(t) = \left[ {\hat{u}_{1} (t)\hat{u}_{2} (t)\hat{u}_{3} (t) \ldots \hat{u}_{N} (t)} \right]^{T}\) is a vector value of the function in the domain Ω. Φ(x) is a 1 × N vector of shape functions, expressed as

$$\Phi (x) = P^{T} (x)A + r^{T} (x)B,$$
(4)

where matrix A and B are defined as

$$A = \left( {P^{T} R^{ - 1} P} \right)^{ - 1} P^{T} R^{ - 1} ,$$
(5)
$$B = R^{ - 1} \left( {I - PA} \right),$$
(6)

and

$$p^{T} (x) = \left[ {p_{1} (x_{1} )p_{2} (x_{2} )p_{3} (x_{3} ) \ldots p_{m} (x_{N} )} \right].$$
(7)

For matrix P with size N × m, values of the polynomial basis function Eq. (7) at the given set of nodes are collected as follows

$$P = \left[ {\begin{array}{*{20}c} {p_{1} (x_{1} )} & \cdots & {p_{m} (x_{1} )} \\ \vdots & \ddots & \vdots \\ {p_{1} (x_{N} )} & \cdots & {p_{m} (x_{N} )} \\ \end{array} } \right].$$
(8)

Matrix R and vector r(x) are defined by the following

$$P = \left[ {\begin{array}{*{20}c} {\gamma (x_{1} ,x_{1} )} & \cdots & {\gamma (x_{1} ,x_{1} )} \\ \vdots & \ddots & \vdots \\ {\gamma (x_{N} ,x_{1} )} & \cdots & {\gamma (x_{N} ,x_{N} )} \\ \end{array} } \right],$$
(9)
$$r^{T} (x) = \left[ {\gamma \left( {x,x_{1} } \right)\;\gamma \left( {x,x_{2} } \right)\; \ldots \;\gamma \left( {x,x_{N} } \right)} \right],$$
(10)

where γ(x i , x j ) is the correlation between any pair of nodes located at x i and x j , representing the covariance of the field value u(x). A simple and frequently used correlation function is a Gaussian function as

$$\gamma \left( {x_{i} ,x_{j} } \right) = e^{{ - \epsilon r_{ij}^{2} }} ,$$
(11)

where \(r_{ij} = \left\| {x_{i} - x_{j} } \right\|\) and \(\epsilon > 0\) are the correlation and shape parameters, respectively used to fit the model.

Spatial discretization

The MLPG method constructs the local weak form over the local subdomain, which is a small region taken for each node in a global domain. Multiplying test function v i (x) into Eq. (2) and then integrating it over subdomain \(\Omega_{s}^{i}\) yields the following expression:

$$\int_{{\Omega_{s}^{i} }} {\frac{\partial u}{\partial t}v_{i} \left( x \right)d\Omega } = \int_{{\Omega_{s}^{i} }} {\left( {\frac{1}{2}\sigma^{2} (x,t)\frac{{\partial^{2} u}}{{\partial x^{2} }} + \left( {r(t) - \frac{1}{2}\sigma^{2} (x,t)} \right)\frac{\partial u}{\partial x} - r(t)u} \right)} v_{i} (x)d\Omega ,$$
(12)

where v i is a test function that is significant for each node. Rearranging Eq. (12), we have

$$\begin{aligned} \int_{{\Omega_{s}^{i} }} {\frac{\partial u}{\partial t}v_{i} (x)d\Omega }& = \frac{1}{2}\int_{{\Omega_{s}^{i} }} {\sigma^{2} (x,t)u,_{xx} v_{i} (x)d\Omega }\\&\quad + \int_{{\Omega_{s}^{i} }} {\left( {r(t) - \frac{1}{2}\sigma^{2} (x,t)} \right)u,_{x} v_{i} (x)d\Omega } \\&\quad- \int_{{\Omega_{s}^{i} }} {r(t)uv_{i} (x)d\Omega } , \end{aligned}$$
(13)

where \(u,_{xx} = \frac{{\partial^{2} u}}{{\partial x^{2} }},u,_{x} = \frac{\partial u}{\partial x}\). Substituting trial function \(u^{h} (x,t) = \sum\nolimits_{j = 1}^{N} {\phi_{j} (x)\hat{u}_{j} (t)}\) into u and its derivative in Eq. (13)

$$\begin{aligned} \int_{{\Omega_{s}^{i} }} {\mathop \sum \limits_{j = 1}^{N} \phi_{j} (x)v_{i} (x)\frac{{d\hat{u}_{j} }}{dt}d\Omega } & = \frac{1}{2}\int_{{\Omega_{s}^{i} }} {\mathop \sum \limits_{j = 1}^{N} \phi_{j,xx} (x)\sigma^{2} (x,t)v_{i} (x)\hat{u}_{j} d\Omega } \\ & \quad + \int_{{\Omega_{s}^{i} }} {\mathop \sum \limits_{j = 1}^{N} \phi_{j,x} (x)\left( {r(t) - \frac{1}{2}\sigma^{2} (x,t)} \right)v_{i} (x)\hat{u}_{j} d\Omega } \\ & \quad - \int_{{\Omega_{s}^{i} }} {\mathop \sum \limits_{j = 1}^{N} \phi_{j} (x)r(t)v_{i} (x)\hat{u}_{j} d\Omega } , \\ \end{aligned}$$
(14)

where N is the number of nodes surrounding point x which has an effect on u(x) and \(\hat{u}_{j} (t)\) is value of the option at time t. The shape function, ϕ j (x), is constructed by the moving kriging interpolation which has the Kronecker delta property, thereby enhancing arrangement of the nodal shape construction accuracy. Rearranging Eq. (14) yields the following results:

$$\begin{aligned} \sum\limits_{j = 1}^{N} {\int_{{\Omega_{s}^{i} }} {\phi_{j} (x)v_{i} (x)d\Omega \frac{{d\hat{u}_{j} }}{dt}} } & = \frac{1}{2}\sum\limits_{j = 1}^{N} {\int_{{\Omega_{s}^{i} }} {\phi_{j,xx} (x)\sigma^{2} (x,t)v_{i} (x)d\Omega \hat{u}_{j} } } \\ & \quad + \mathop \sum \limits_{j = 1}^{N} \int_{{\Omega_{s}^{i} }} {\phi_{j,x} \left( x \right)\left( {r\left( t \right) - \frac{1}{2}\sigma^{2} \left( {x,t} \right)} \right)v_{i} \left( x \right)d\Omega \hat{u}_{j} } \\ & \quad - \mathop \sum \limits_{j = 1}^{N} \int_{{\Omega_{s}^{i} }} {\phi_{j} \left( x \right)r\left( t \right)v_{i} \left( x \right)d\Omega \hat{u}_{j} } , \\ \end{aligned}$$
(15)

This research uses MLPG type 2 (MLPG2) (Cen and Le 2011), then the test function v i is chosen by the Kronecker delta function,

$$v_{i} (x) = \left\{ {\begin{array}{*{20}l} {0}, &\quad {x \ne x_{i} } \hfill \\ {1}, &\quad {x = x_{i} } \hfill \\ \end{array} ,\quad i = 1,2, \ldots ,N.} \right.$$

The test function will define significance for each node in the subdomain. In this case, substituting test function v i (x) to Eq. (15) and then integrating it over subdomain \(\Omega_{s}^{i}\) yields the following results:

$$\begin{aligned} \sum\limits_{{j = 1}}^{N} {\phi _{j} } \left( {x_{i} } \right)\frac{{d\hat{u}_{j} }}{{dt}} & = \sum\limits_{{j = 1}}^{N} {\left[ {\frac{1}{2}\sigma ^{2} \left( {x_{i} ,t} \right)\phi _{{j,xx}} \left( {x_{i} } \right)} \right.} \\ & \quad \left. { + \left( {r(t) - \frac{1}{2}\sigma ^{2} \left( {x_{i} ,t} \right)} \right)\phi _{{j,x}} \left( {x_{i} } \right) - r(t)\phi _{j} \left( {x_{i} } \right)} \right]\hat{u}_{j} . \\ \end{aligned}$$
(16)

Equation (16) can be written in matrix form as follows:

$$A\frac{dU}{dt} = BU,$$
(17)

where

$$\begin{aligned} A & = \left[ {A_{ij} } \right]_{N \times N,} \quad A_{ij} = \phi_{j} \left( {x_{i} } \right), \\ B & = \left[ {B_{ij} } \right]_{N \times N} ,\quad B_{ij} = \frac{1}{2}\sigma^{2} \left( {x_{i} ,t} \right)\phi_{j,xx} \left( {x_{i} } \right) + \left( {r(t) - \frac{1}{2}\sigma^{2} \left( {x_{i} ,t} \right)} \right)\phi_{j,x} \left( {x_{i} } \right) - r(t)\phi_{j} \left( {x_{i} } \right)], \\ U & = \left[ {\hat{u}_{1} \hat{u}_{2} \hat{u}_{3} \ldots \hat{u}_{N} } \right]^{T} . \\ \end{aligned}$$

Since the shape function that is constructed by the moving kriging interpolation satisfies the Kronecker delta property, A is the identity matrix. Therefore, Eq. (17) can be written as

$$\frac{dU}{dt} = BU.$$
(18)

Temporal discretization

The numerical solution of a European option, using the implicit method, requires the generation of a modified PDE operator through a finite difference approximation of time derivative. We will do this using the θ-weighted method.

Consider the following initial-boundary value problem:

$$\frac{{\partial u\left( {x,t} \right)}}{\partial t} = {\mathcal{L}}u(x,t),\quad x \in \Omega ,0 \le t \le T,$$
$$u(x,0) = u_{0} ,$$
$$u(x,t) = g(x,t),\quad x \in \partial \Omega_{x}$$
(19)

where \({\mathcal{L}}u = \frac{1}{2}\sigma^{2} \left( {x,t} \right)\frac{{\partial^{2} u}}{{\partial x^{2} }} + \left( {r(t) - \frac{1}{2}\sigma^{2} \left( {x,t} \right)} \right)\frac{\partial u}{\partial x} - r(t)u.\)

By a finite difference approximation made for the time derivative with notation u n(x) that approximates the exact solution u(x, t) at t n and t n = t n−1 + Δt, we obtain

$$\frac{{u^{n + 1} - u^{n} }}{\Delta t} = \theta {\mathcal{L}}u^{n + 1} + \left( {1 - \theta } \right){\mathcal{L}}u^{n} .$$
(20)

For each fixed time level t n , the above equation, Eq. (20), is the system of linear ODEs. Now, using the MLPG2 method with moving kriging interpolation for constructing shape functions is discussed through Eqs. (12)–(18) for spatial discretization of operator \({\mathcal{L}}u\) leads to

$$\left( {I - \theta \Delta tB} \right)U^{n + 1} = \left[ {I + \left( {1 - \theta } \right)\Delta tB} \right]U^{n} ,$$
(21)

where \(U^{n} = \left[ {\hat{u}_{1}^{n} \hat{u}_{2}^{n} \hat{u}_{3}^{n} \ldots \hat{u}_{N}^{n} } \right]^{T} ,\) B is the discretization matrix for the space discretization of linear differential operator \({\mathcal{L}}u\), and I is the identity matrix.

Stability analysis

In this section, we present an analysis of the stability of the MLPG2 method with moving kriging interpolation using the matrix method. A small fluctuation at the nth time level \(e^{n} = U^{n} - \tilde{U}^{n}\) is introduced in Eq. (21), where U n is exact and \(\tilde{U}^{n}\) is the numerical solution. The equation of the error e n+1 can be written as e n+1 = Ge n, where the amplification matrix G = [I − θtB]−1 [I + (1 − θ)∆tB]. The numerical scheme will be stable if as \(n \to \infty ,\) the error \(e^{n} \to 0\). This can ensure that ρ(G) < 1 provided, where ρ(G) denotes the spectral radius of G.

It can be seen that stability is assured if all eigenvalues of the matrix [I − θtB]−1 [I + (1 − θ)∆tB] satisfy the following conditions:

$$\left| {\frac{{1 + \left( {1 - \theta } \right)\Delta t\lambda }}{1 - \theta \Delta t\lambda }} \right| \le 1$$
(22)

where λ is the eigen value of matrix B. In the case of the Crank–Nicolson scheme (\(\theta = \frac{1}{2}\)) the inequality in Eq. (22) is satisfied when Re(λ) max  ≤ 0. This shows that the scheme is stable if Re(λ) ≤ 0. The eigenvalues of matrix B highly depends on the mesh spacing parameter h and the shape parameter \(\epsilon\), where h is defined to be the minimal distance between any two points in the domain. Since it is not possible to find an explicit relationship among the eigenvalue of matrix B, the number of nodes and the shape parameter \(\epsilon\) we investigated this dependent numerically, as is given in Fig. 1.

Fig. 1
figure 1

The relation between Re(λ)max and shape parameter (\(\epsilon\))

Figure 1 shows that the maximum eigenvalue Re(λ) of matrix B varies as a function of shape parameter \(\epsilon\), when mesh spacing parameter h is constant. Figure 2 shows the effect of mesh length, h, for eigenvalue of matrix B, when the shape parameter \(\epsilon\) is constant. It is found that the condition number of the collocation matrix becomes very large and the system leads to ill-conditioning, when \(\epsilon\) and h become very small. Figure 3 shows that increasing volatility trends to ill-conditioning. In this case, if the shape parameter increases then eigenvalue Re(λ) will decrease. Figure 4 presents that a risk-free interest rate which decreases leads to ill-conditioning and if the shape parameter increases, then eigenvalue Re(λ) will decrease. Figure 5 shows the relation between mesh length h and the smallest of shape parameter \(\epsilon\) is Re(λ) max  < 0. It shows that \(\epsilon\) could be large when h becomes smaller in value. It can be seen that we can control the stability of this numerical scheme by choosing the appropriate shape parameter.

Fig. 2
figure 2

Relation between Re(λ)max and spatial mesh length (h)

Fig. 3
figure 3

The relation between Re(λ)max and the volatility (σ)

Fig. 4
figure 4

The relation between Re(λ)max and risk free interest rate (r)

Fig. 5
figure 5

The relation between the smallest of shape parameter ϵ and the mesh length ‘h

Numerical experiments

In this section, we are going to present various numerical results to evaluate proposed meshless approaches. Although the schemes work for all correlation functions, we will use the Gaussian function on different experimental setups. Using the MLPG2 method, the resulting problems for European call options are solved via Crank–Nicolson’s method. The computational domain is partitioned with N being equi-spaced spatial nodes with mesh lengths. The temporal domain is divided into K equi-spaced points.

The European call option can be modeled by the Black–Scholes PDE

$$\frac{\partial u}{\partial \tau } + r\left( \tau \right)s\frac{\partial u}{\partial s} + \frac{1}{2}\sigma^{2} \left( {s,\tau } \right)s^{2} \frac{{\partial^{2} u}}{{\partial s^{2} }} - r\left( \tau \right)u = 0$$
(23)

with the payoff function given by

$$u\left( {s,T} \right) = \hbox{max} \left( {s - E,0} \right),\quad s \in {\mathbb{R}}^{ + } .$$
(24)

The boundary conditions are given as

$$u\left( {0,\tau } \right) = \left\{ {\begin{array}{*{20}l} {0}, &\quad {s = 0} \\ {s - Ee^{{ - r\left( {T - \tau } \right) }} }, &\quad {s \to \infty } \hfill \\ \end{array} } \right..$$
(25)

The analytical solution for the European call option is

$$u\left( {s,\tau } \right) = sN\left( {d_{1} \left( {s,\tau } \right)} \right) - Ee^{{ - r\left( {T - \tau } \right)}} N\left( {d_{2} \left( {s,\tau } \right)} \right)$$
(26)

where N(·) is the cumulative distribution function of the standard normal distribution with

$$\begin{aligned} d_{1} \left( {s,\tau } \right) & = \frac{{\ln \left( {\frac{s}{E}} \right) + \left( {r + \left( {\frac{1}{2}} \right)\sigma^{2} } \right)\left( {T - \tau } \right)}}{{\sigma \sqrt {T - \tau } }}, \\ d_{2} \left( {s,\tau } \right) & = \frac{{\ln \left( {\frac{s}{E}} \right) + \left( {r - \left( {\frac{1}{2}} \right)\sigma^{2} } \right)\left( {T - \tau } \right)}}{{\sigma \sqrt {T - \tau } }}. \\ \end{aligned}$$

A simple transformation x = ln s and t = T − τ transforms Eq. (23) and conditions (24)–(25) to

$$\frac{\partial u}{\partial t} = \frac{1}{2}\sigma^{2} (x,t)\frac{{\partial^{2} u}}{{\partial x^{2} }} + \left( {r(t) - \frac{1}{2}\sigma^{2} (x,t)} \right)\frac{\partial u}{\partial x} - r(t)u, \quad (x,t) \in \Omega$$
(27)

with initial and boundary conditions

$$u(x,0) = \hbox{max} \left( {Ee^{x} - E,0} \right)$$
(28)
$$u(x,t) = \left\{ {\begin{array}{*{20}l} {0}, &\quad {x \to - \infty } \hfill \\ {Ee^{x} - Ee^{ - rt }}, &\quad {x \to \infty } \hfill \\ \end{array} .} \right.$$
(29)

To illustrate accuracy of the proposed method, numerical simulation was done for the European call option with parameters σ = 0.4, r = 0.8, T = 1, E = 1, x min = −ln(4E), x max = ln(4E). Accuracy is measured in the discrete maximum norm and root mean square error. The discrete maximum norm and maximum of root mean square error are given in Table 1 that is estimated for differences N and K in the MLPG2 methods.

$$E_{\infty }^{N} = \mathop {\hbox{max} }\limits_{j} \left| {\hat{u}_{j} - u\left( {s_{j} ,t} \right)} \right|,$$

where \(\hat{u}_{i}\) is an approximate solution of option price s and u i is the analytic solution of option price s i .

$$E_{RMS}^{N} = \sqrt {\frac{1}{N}\mathop \sum \limits_{i = 1}^{N} \left( {\hat{u}_{i} - u_{i} } \right)^{2} } .$$
Table 1 Numerical results by difference N and \(\epsilon\) at t = 0 for regular nodal points

Tables 1 and 2 show convergence trends of the present method, with N = K where N and K are the number of points in the spatial and temporal domain. From these tabular results one can observe that Crank–Nicolson’s method converges to the exact solution and the maximum error and root mean square error decreases while increasing the number of nodes for any \(\epsilon\).

Table 2 Numerical results by difference N for σ = 0.4, r = 0.08 and \(\epsilon\) = 16 at t = 0 for irregular nodal points

The European call option for long maturity time

We consider the Black–Scholes equation for the European call option with parameters r, E, T with a wide range of volatilities σ and strike price E.

Figures 6 and 7 shows the relation between maximum error and \(\epsilon\) for varieties of volatility. Figure 6 presents that \(\epsilon\) increases and then the error tends to stabilize for any volatility. In Fig. 7, we see that the error will increase when the volatility become small and shape parameter, \(\epsilon\) becomes large. The other volatility tends to slowly increase the error. Figures 8 and 9 shows the relation between maximum error and \(\epsilon\) for a variety of risk-free interest rates. These figures are observed at large values of risk-free interest rates due to the convection-dominant nature of the problem.

Fig. 6
figure 6

Error plot for European call options with parameters r = 0.09, E = 1, at maturity time T = 1

Fig. 7
figure 7

Error plot for European call options with parameters r = 0.09, E = 1 at maturity time T = 3

Fig. 8
figure 8

Error plot for European call options with parameters E = 1, T = 1 for volatility σ = 0.2

Fig. 9
figure 9

Error plot for European call options with parameters E = 1, T = 3 for volatility σ = 0.2

The European call option with volatility function

We consider the Black–Scholes equation for the European call option with parameters r = 0.06, E = 1, \(T = 1,\sigma (s,\tau ) = 0.15(0.5 + 2\tau )\left( {\frac{{\frac{s}{100} - 1.2)^{2} }}{{\left( {\frac{s}{100}} \right)^{2} + 1.44}}} \right),x_{ \hbox{min} } = - \ln (4E),x_{ \hbox{max} } = \ln (4E).\) The volatility function is the same as the given in Kadalbajoo et al. (2012) and Kumar et al. (2015). In this case, the exact solution is not known. Table 3 shows that the comparison of value options from finite differences, the cubic spline and MLPG method. We found that these results are very similar. Table 4 shows that our value options results differ by only 0.54 % as compared to the finite difference method and 0.36 % as compared to the cubic spline method.

Table 3 Approximate solutions of option values by the difference method for N = 8, K = 8, t = 0
Table 4 Percentage of difference in value options by the MLPG with other methods for N = 8, K = 8, t = 0

Conclusion

In this paper, the MLPG method was proposed for the Black–Scholes equation, which is transformed for a non-degenerate partial differential equation, and used moving kriging shape functions which have Kronecker delta properties. The temporal discretization was chosen by the Crank–Nicolson method. The eigenvalue (λ) of B depends on the mesh spacing parameter (h) and the shape parameter (\(\epsilon\)). The relation between Re(λ) max and the volatility (σ) is an increasing function for all shape parameters. The relation between Re(λ) max and risk free interest rates (r) tends to decrease functions for all shape parameters. If the mesh length (h) increases, then the smallest of shape parameters \(\epsilon\) will be decreased. The numerical results have demonstrated the accuracy and efficiency of the present methods. The present method gives the value option in both regular and irregular nodal points. We found that the relation between errors and shape parameters vary by volatility and risk-free interest rates. This method works well for finding the approximate solution of option pricing with a volatility function.