1 Introduction

Processes with jumps have been popular alternatives for the Black-Scholes model. While those models correct the heavy tail problem of the Black-Scholes model, they make the market incomplete in general, and corresponding pricing equations become partial integro-differential equations (PIDE). Although solving those PIDE is practically important, not many studies have been done on this topic. In addition, most studies on a PIDE are on the pricing equations under Levy models, and little is known about how to solve or properties of solutions of the pricing equations under non-Levy type jumps.

The most popular asset pricing models with jumps are those with Levy type jumps. For a nice summary of studies on a PIDE in this case, we refer to Chapter 11 of Cont and Tankov [4]. Although models with Levy type jumps are a rich class, often it is not enough. More general jump processes such as compound Poisson type jumps are necessary to model more complicated factors in a price process. For instance, compound Poisson processes and doubly stochastic Poisson processes are useful when we deal with information effect on the price process, and market microstructure noises. Such models are introduced in Lee and Protter [11], Lee and Song [12], Lee and Zeng [13], Kang and Lee [9] and Park and Lee [10]. In this study, we deal with partial integro-differential equations arising from the hedging and pricing problem when the price process contains non-Levy jumps, differently from other works on the same topic.

Lee and Protter [11] introduced a model where the price process gets instantaneous feedbacks from the past price history, and the feedback comes through the intensity of the arrival rate in a doubly stochastic Poisson process. Lee and Song [12] studied a jump diffusion model with a doubly stochastic Poisson process which is affected by another stochastic process, which is typically understood as information. In both papers, they found a closed form of the local risk minimization hedging strategy. In Lee and Zeng [13], the microstructure noise of the market microstructure movement was modeled by a compound Poisson process with a stochastic intensity. Still, one needs to solve the pricing PIDE to obtain the hedging strategy, and the resulting PIDE is different from one in a Levy model. The goal of this paper is to introduce and compare a few different numerical schemes solving those PIDEs.

We emphasize that we do not assume that the physical measure is already a risk-neutral measure. In other words, the price process is not a martingale under the physical measure, and one needs to choose an equivalent martingale measure for a pricing purpose. Since we use the local risk minimization as our hedging criteria, we use the minimal martingale measure to find the pricing equation. Other measure choices are possible, but whichever equivalent martingale measure we choose, we will get a similar type PIDE, and we believe that those schemes introduced here are still applicable under other choices of a measure.

The remaining of the paper is as follows. Section 2 reviews previous studies on numerical methods in PIDE from option pricing. Section 3 introduces PIDE in Lee and Protter [11] and Lee and Song [12]. We compare a couple of numerical methods in Sect. 4 and conclude in Sect. 5.

2 Numerical methods in partial integro-differential equations

Numerical methods on a PIDE have been studied in a few application areas such as finance and physics. Cont and Tankov [4], d’Halluin, Forsyth and Vetzal [6], Matache, Nitsche and Schwab [14], Cont and Voltchkova [5], Carra and Mayo [2], Hilber, Reich, Schwab and Winter [7], Clift and Forsyth [3], Zhang [18], Zhang and Wang [17], Anderson and Anderson [1], and Huang, Cen, and Le [8] are in this category.

Among those, Cont and Tankov [4] summarized several numerical methods used in financial application such as multinomial trees, finite difference schemes, the analytic method of lines, and Galerkin schemes.

In multinomial trees, we use a weakly converging discrete time Markov chain, typically a multinomial tree, with transition probabilities under some converging conditions. Finite difference methods are approximation schemes for partial differential equations (PDE) based on replacing derivatives by finite differences. In PIDE, we need to discretize the additional integral terms into finite Riemann sums. The analytic method of lines discretizes time derivatives only and solves a series of integro-differential equations in a spatial domain. Galerkin methods use the functional representation of the solution in the linear combination of basis functions. Due to their settings, Galerkin methods with a natural interpolation scheme make it easier to compute the solution at points not belonging to the initial grid.

Thus we can say that in tree methods the solution is represented by its values on the nodes of a tree, in finite difference methods by its values on a grid and in Galerkin methods by its coefficients on a basis of functions. In general, multinomial trees are special cases of explicit finite difference schemes, and finite difference schemes are seen as special cases of finite element methods, which are themselves special cases of the Galerkin approach. The Galerkin method is the most general one among these approximate methods and special choices of basis lead to the other methods including the finite difference and FFT methods.

However, more general method does not imply that it is simpler to implement: the complexity of implementation increases as we go from trees to general Galerkin methods. On the other hand, Galerkin methods become interesting when there are delicate boundary conditions and irregular boundaries involved as in the case of American options.

3 Hedging of options

We consider a market with one risky asset and one riskless asset. The risky asset does not pay the dividend and the interest rate is assumed to be 0. A portfolio is a pair \((\xi _t, \eta _t)\) where \(\xi _t\) denotes the amount of the risky asset at time t, and \(\eta _t\) is the amount of the riskless asset at time t. The value of the portfolio is then defined by

$$\begin{aligned} V_t = \xi _t S_t + \eta _t. \end{aligned}$$
(1)

A self-financing strategy is a portfolio satisfying \(dV_t = \xi _t dS_t\). A perfect hedging strategy is a self-financing portfolio with \(V_T=C(S_T)\) where \(C(S_T)\) is the option payoff. Since we are interested in an incomplete market, a perfect hedging strategy does not exist. In this study, we choose the local risk minimization strategy as our hedging criterion.

For a portfolio \((\xi _t, \eta _t)\), the cost process is defined by

$$\begin{aligned} C_t = V_t - \int _0^t \xi _s dS_s. \end{aligned}$$
(2)

In other words, the cost process is a difference between the value of the portfolio and the cumulative gain from the portfolio. If a portfolio is self-financing, the cost process is constant. Since there is no self-financing strategy with \(V_T=C(S_T)\) in an incomplete market, the cost process cannot be a constant. Instead, the local risk minimization strategy chooses one with a constant mean. The local risk minimization strategy is the portfolio with \(V_T=C(S_T)\) and whose cost process is a square integrable martingale.

The most common jumps are ones from a Levy process. In other word, the process is still stationary and independent, and the jump type is Poisson. Models with Levy type jumps have been studied by many researchers, and their corresponding PIDEs have been discussed both theoretically and numerically. To name a few, Cont and Tankov [4], d’Halluin, Forsyth and Vetzal [6], Matache, Nitsche and Schwab [14], Cont and Voltchkova [5], Carra and Mayo [2], Hilber, Reich, Schwab and Winter [7], Clift and Forsyth [3], Zhang [18], and Zhang and Wang [17] are in this category. While Levy process provides a good solution to the heavy tail problem in the Black-Scholes model, often we need more than Levy jumps. A simple extension of it is a compound Poisson process, where a jump has a form

$$\begin{aligned} \sum _{i=1}^{N_t} U_i, \end{aligned}$$

where \(N_t\) is Poisson and \(U_i\)’s are i.i.d. Even this simple extension makes the entire process including it a non Levy. One more step of extension gives us a doubly stochastic Poisson process, or a Cox process, where the counting process \(N_t\) has a intensity process which is not a constant. We want to study two cases where the most general Cox process is used. Therefore, as price processes with more general jumps than Levy processes, we consider two slightly different models. The first one is the one in Lee and Protter [11], where they studied a price process with feedback jumps. The other is a slightly modified version in Lee and Song [12], where the intensity of a Non-Levy jump depends on an additional stochastic process.

3.1 Model with feedback jumps

In Lee and Protter [11], the price process of a risky asset S is given as a solution to the stochastic differential equation:

$$\begin{aligned} dS_{t}= f(S_{t-})dB_{t} + g(S_{t-})dR_{t} + h(S_{t-})dt, \quad 0 \le t \le T \end{aligned}$$
(3)

where B is a standard Brownian motion,

$$\begin{aligned} R_{t} = \sum _{\,n=1}^{N_{t}} U_n, \end{aligned}$$
(4)

and N is a doubly stochastic Poisson process with a bounded intensity function \(\lambda (S_{t-})\). In other words,

$$\begin{aligned} N_{t} - \int _{0}^{t} \lambda (S_{s-})ds = \,\text {a local martingale under} \,\,\mathbf {P}. \end{aligned}$$
(5)

\(N_t\) denotes the number of jumps up to time t, and \(U_n\) denotes the size of n-th jump. Here, \(U_n\)’s are i.i.d. random variables with mean 0 and a finite second moment \(\sigma ^2\) with density function \(\nu (dx)\), and fgh are bounded measurable Lipschitz functions. The following technical condition is necessary to guarantee an existence of the unsigned minimal martingale measure.

$$\begin{aligned} \frac{h(x)g(x)}{f(x)^2+g(x)^2 \lambda (x)\sigma ^2} < 1 \end{aligned}$$
(6)

for all x. Without this condition, the minimal martingale measure may not exist under the current model, since it becomes a signed measure.

In Lee and Protter [11], they chose the minimal martingale measure as a equivalent martingale measure, and found the local risk minimization hedging strategy. Under their setting, the pricing equation becomes the following integro-differential equation.

$$\begin{aligned}&v_t{(t,x)}+v_x{(t,x)}h(x) +\frac{1}{2} v_{xx}{(t,x)}f(x)^2 - v_x{(t,x)}\frac{f(x)^2 h(x)}{f(x)^2+g(x)^2\lambda (x)\sigma ^2}\nonumber \\&\quad \quad +\int _{\mathbb {R}}\left[ \left\{ v\left( t,x\left( 1+z\frac{g(x)}{x}\right) \right) -v{(t,x)}\right\} \right. \nonumber \\&\quad \quad \left. \times \left\{ 1-\frac{g(x)h(x)}{f(x)^2+g(x)^2\lambda (x)\sigma ^2}z \right\} \lambda (x)\right] \nu (dz)=0 \end{aligned}$$
(7)

for almost all x and

$$\begin{aligned} v(T,x)=H(x), \end{aligned}$$
(8)

where H is a pay-off function at the final time T. Also, the locally risk minimizing hedging strategy \(\xi {(t,x)}\) is given by

$$\begin{aligned} \xi {(t,x)}= & {} v_x{(t,x)}\frac{f(x)^2}{f(x)^2+g(x)^2\lambda (x)\sigma ^2}\nonumber \\&+\int _{\mathbb {R}}\left[ v\left( t,x\left( 1+z\frac{g(x)}{x}\right) \right) -v{(t,x)}\right] \nonumber \\&\times \frac{g(x)}{f(x)^2+g(x)^2\lambda (x)\sigma ^2}\lambda (x)z\nu (dz). \end{aligned}$$
(9)

The above Eq. (7) can be written in the following form:

$$\begin{aligned} v_t{(t,x)}+{\mathcal {D}}v{(t,x)}+{\mathcal {I}}v{(t,x)}=0 \end{aligned}$$
(10)

where the associated operators and coefficients are defined as follows:

$$\begin{aligned} {\mathcal {D}}v{(t,x)}= & {} \frac{1}{2} v_{xx}{(t,x)}f(x)^2+v_x{(t,x)}\left[ 1-F(x)\right] h(x)-v{(t,x)}\lambda (x),\end{aligned}$$
(11)
$$\begin{aligned} {\mathcal {I}}v{(t,x)}= & {} \int _{\mathbb {R}}v\left( t,x+zg(x)\right) \left[ 1-G(x)h(x)z\right] \lambda (x)\nu (dz),\end{aligned}$$
(12)
$$\begin{aligned} F(x)= & {} \frac{f(x)^2}{f(x)^2+g(x)^2\lambda (x)\sigma ^2},\quad G(x)=\frac{g(x)}{f(x)^2+g(x)^2\lambda (x)\sigma ^2}, \end{aligned}$$
(13)

3.2 A model with additional process in jumps

In this section, using the model in Lee and Song [12], we study a similar equation when the intensity of the counting process \(N_t\) depends on additional stochastic process. Eqs. (3) and (4) are the same, but the intensity of the doubly stochastic Poisson process N becomes \(\lambda (X_t)\) where X is another diffusion process such as

$$\begin{aligned} dX_t=\alpha (X_t)dt + \beta (X_t) dB'_t, \end{aligned}$$
(14)

where \(B'\) is another Brownian motion with \(\langle B,B' \rangle _t=\rho t\). This additional process is used for the generation of the stock price at Sect. 4.3. In other word, we have

$$\begin{aligned} N_{t}-\int _{0}^{t} \lambda (S_{s-})ds = \,\text {a local martingale under} \,\,\mathbf {P}. \end{aligned}$$
(15)

The technical condition (6) becomes

$$\begin{aligned} \frac{h(x)g(x)}{f(x)^2+g(x)^2 \lambda (y)\sigma ^2} < 1 \end{aligned}$$
(16)

for all xy. The pricing equation becomes

$$\begin{aligned}&v_t (t,x,y) + v_x(t,x,y) h(x)+v_y(t,x,y)\alpha (y)\nonumber \\&\quad +\frac{1}{2} v_{xx}(t,x,y)f(x)^2+ \frac{1}{2} v_{yy}(t,x,y)\beta (x)^2 \nonumber \\&\quad +\frac{\rho }{2} v_{xy}(t,x,y)f(x) \beta (y)+ f(x)v_{x}(t,x,y) \frac{h(x)}{f(x)^2+ g(x)^2 \lambda (y) \sigma ^2} f(x)\nonumber \\&\quad +\rho \beta (y)v_{y}(u,x,y) \frac{h(x)}{f(x)^2+ g(x)^2 \lambda (y) \sigma ^2} f(x) \nonumber \\&\quad -\int _{\mathbb {R}}\left[ v\left( t,x\left( 1+z\frac{g(x)}{x}\right) ,y\right) - v(t,x,y)\right] \nonumber \\&\quad \times \left( 1-\frac{g(x)h(x)}{f(x)^2+ g(x)^2\lambda (y) \sigma ^2} z \right) \lambda (y)\nu (dz) =0, \end{aligned}$$
(17)

The local risk minimization strategy is given by

$$\begin{aligned} \xi _t^H=\frac{j(t,S_{t-},X_t)+ f(S_{t})^2 v_{s}(t,S_{t-},X_t)}{f(S_{t-})^2+g(S_{t-})^2 \sigma ^2 \lambda (X_t)}, \end{aligned}$$
(18)

where

$$\begin{aligned} j(t,S_{t-},X_t)= & {} f(S_{t-})v_{x}(t,S_{t-},X_t)\beta (X_t) \rho \nonumber \\&+\,g(S_{t-})\int _{\mathbb {R}}\left[ v\left( u,S_{u-}\left( 1+\frac{g(S_{u-})}{S_{u-}} x\right) ,X_u\right) \right. \nonumber \\&-\, v(u,S_{u-},X_u)\bigg ]x \nu (dx)\lambda (X_t). \end{aligned}$$
(19)

4 Numerical methods

We use the change of variables from t to \(\tau \) by \(\tau =T-t\) and set \(u(\tau ,x) =v(T-t,x)\). The new function \(u(\tau ,x)\) is the solution of

$$\begin{aligned} u_\tau (\tau ,x)={\mathcal {D}}u(\tau ,x)+{\mathcal {I}}u(\tau ,x) \end{aligned}$$
(20)

for almost all x under an initial value at \(\tau =0\), or a pay-off value at \(t=T\),

$$\begin{aligned} u(0,x)=H(x). \end{aligned}$$

Given integers N and M, let \(\varDelta {t}={T}/{N}\), \({\varDelta {x}}={(x_{\text{ max }}-x_{\text{ min }})}/{M}\), \(\tau _n=n \varDelta {t}\) for \(n=0,\ldots ,N\) and \(x_m=x_{\text{ min }} + m{\varDelta {x}}\) for \(m=0,\ldots ,M\). Also, we set \(f_m=f(x_m)\) and \(u^n_m=u(t_n,x_m)\). For the convenience of notations and representation of the schemes, we will use t as \(\tau \) from now on.

In this section, we introduce the Crank-Nicolson scheme and the predictor corrector method to approximate the solution and the optimal trading strategy. We derive approximation schemes in vector matrix forms and depict the option prices according to the simulated stock prices.

4.1 The Crank-Nicolson scheme

We know that the Crank-Nicolson scheme is implicit, unconditionally stable, and second-order accurate when it is applied to the parabolic equations, see Strikwerda [16]. Furthermore, it is dissipative of order 2 if \({\varDelta {t}}/{({\varDelta {x}})^2}\) is constant, but not dissipative if \({\varDelta {t}}/{{\varDelta {x}}}\) is constant. The last means that there would be some high-frequency oscillations in the solutions calculated by it when \({\varDelta {t}}/{{\varDelta {x}}}\) is constant.

The Crank-Nicolson scheme to (20) is as follows

$$\begin{aligned} u_t(t_{n+\frac{1}{2}},x_m)\approx & {} \frac{u^{n+1}_m-u^n_m}{\varDelta {t}},\\ {\mathcal {D}}u(t_{n+\frac{1}{2}},x_m)\approx & {} \frac{1}{2} \frac{u^{n+1}_{m+1}-2 u^{n+1}_m+u^{n+1}_{m-1}+u^{n}_{m+1}-2 u^{n}_m+u^{n}_{m-1}}{2\left( {\varDelta {x}}\right) ^2} f_m^2\nonumber \\&+\frac{u^{n+1}_{m+1}-u^{n+1}_{m-1}+u^n_{m+1}-u^n_{m-1}}{4{\varDelta {x}}} \left[ 1-F_m\right] h_m\nonumber \\&-\frac{u^{n+1}_m+u^n_m}{2} \lambda _m\\ {\mathcal {I}}u(t_{n+\frac{1}{2}},x_m)\approx & {} \frac{\bar{u}^{n+1}_m+\bar{u}^n_m}{2}, \end{aligned}$$

where \(\bar{u}^n_m\) is the integral

$$\begin{aligned} \bar{u}^n_m =\int _{\mathbb {R}}u\left( t_n,x_m+zg_m\right) \left[ 1-G_m h_m z \right] \lambda _m \nu (dz). \end{aligned}$$

By inserting these schemes into the equation, we obtain

$$\begin{aligned}&\frac{u^{n+1}_m}{\varDelta {t}} - \frac{u^{n+1}_{m+1}-2 u^{n+1}_m+u^{n+1}_{m-1}}{4\left( {\varDelta {x}}\right) ^2} f_m^2 -\frac{u^{n+1}_{m+1}-u^{n+1}_{m-1}}{4{\varDelta {x}}}a_m + \frac{\lambda _m}{2} u^{n+1}_m - \frac{\bar{u}_m^{n+1}}{2} \nonumber \\&\quad \quad = \frac{u^{n}_m}{\varDelta {t}} + \frac{u^{n}_{m+1}-2 u^{n}_m+u^{n}_{m-1}}{4\left( {\varDelta {x}}\right) ^2} f_m^2 + \frac{u^{n}_{m+1}-u^{n}_{m-1}}{4{\varDelta {x}}}a_m - \frac{\lambda _m}{2} u^{n}_m + \frac{\bar{u}_m^{n}}{2} \end{aligned}$$

where \(a_m=\left[ 1-F_m\right] h_m\), which can be written in the following matrix form,

$$\begin{aligned} \left( \frac{1}{\varDelta {t}}{\mathbf {I}}-\frac{1}{2}{\mathbf {A}}\right) {\mathbf {u}}^{n+1} - \frac{1}{2}{\bar{\mathbf {u}}}^{n+1} = \left( \frac{1}{\varDelta {t}}{\mathbf {I}}+\frac{1}{2}{\mathbf {A}}\right) {\mathbf {u}}^{n} + \frac{1}{2}{\bar{\mathbf {u}}}^n + \frac{ {\mathbf {c}}^n + {\mathbf {c}}^{n+1}}{2} \end{aligned}$$

where \({\mathbf {u}}^n=\left[ u^n_m\right] _{m=1}^{M-1}\), \({\bar{\mathbf {u}}}^n=\left[ \bar{u}^n_m\right] _{m=1}^{M-1}\), \({\mathbf {A}}=\left[ A_{mk}\right] _{m,k=1}^{M-1}\) is a tridiagonal matrix,

$$\begin{aligned} A_{mk}= & {} \left[ \frac{f_m^2}{2\left( {\varDelta {x}}\right) ^2}-\frac{a_m}{2{\varDelta {x}}}\right] \delta _{ m-1\, k} +\left[ \frac{f_m^2}{2\left( {\varDelta {x}}\right) ^2}+\frac{a_m}{2{\varDelta {x}}}\right] \delta _{m+1\,k}\nonumber \\&-\left[ \frac{f_m^2}{\left( {\varDelta {x}}\right) ^2}+{\lambda _m}\right] \delta _{m\,k}, \end{aligned}$$

for the usual Kronecker delta notation, and a vector \({\mathbf {c}}^n=\left[ c^n_{m}\right] _{m=1}^{M-1}\) by

$$\begin{aligned} c^n_{m}=\left[ {f_{M-1}^2}/[{2\left( {\varDelta {x}}\right) ^2}] +{a_{M-1}}/[{2{\varDelta {x}}}] \right] u^n_M \delta _{m\, M-1}. \end{aligned}$$

The quadrature rule applied to \({\bar{\mathbf {u}}}^n\) generates another matrix form, denoted by a quadrature matrix \({\mathbf {Q}}\), for example, a trapezoidal rule at Sect. 4.3. We rewrite the matrix form of the scheme as follows

$$\begin{aligned} \left( \frac{1}{\varDelta {t}}{\mathbf {I}}-\frac{1}{2}{\mathbf {A}}-\frac{1}{2}{\mathbf {Q}}\right) {\mathbf {u}}^{n+1} \, =\,\left( \frac{1}{\varDelta {t}}{\mathbf {I}}+\frac{1}{2}{\mathbf {A}}+\frac{1}{2}{\mathbf {Q}}\right) {\mathbf {u}}^{n}\,+ \frac{{\mathbf {b}}^n + {\mathbf {b}}^{n+1}+ {\mathbf {c}}^n + {\mathbf {c}}^{n+1} }{2}. \end{aligned}$$
(21)

The additional source \({\mathbf {b}}^n=\left[ b^n_{m}\right] _{m=1}^{M-1}\) has entries \(b^n_m=Q_{mM}u^n_{M}\).

4.2 Predictor-corrector method

By adjusting the decreasing order formula from \(n+1\) step to n step of t in Miri and Benhamou [15] to the increasing order formula from n step to \(n+1\) step of \(\tau \), we split operators and apply the predictor-corrector method to (20) through following several steps:

$$\begin{aligned} u(t_{n+\frac{1}{3}},x_m)\approx & {} u(t_n,x_m) + \varDelta {t}\,{\mathcal {I}}u(t_n,x_m),\\ u(t_{n+\frac{2}{3}},x_m)\approx & {} u(t_{n+\frac{1}{3}},x_m) + \frac{\varDelta {t}}{2}\,{\mathcal {D}}u(t_{n+\frac{1}{3}},x_m),\\ u(t_{n+1},x_m)\approx & {} u(t_{n+\frac{2}{3}},x_m) + \frac{\varDelta {t}}{2}\,{\mathcal {D}}u(t_{n+1},x_m). \end{aligned}$$

Here, we use t as the time variable instead of \(\tau \), already remarked after (20) at the beginning of Sect. 4. The predictors can be written

$$\begin{aligned}&\displaystyle {\mathbf {u}}^{n+\frac{1}{3}} = {\mathbf {u}}^n + \varDelta {t}\,{\mathcal {I}}u(t_n,x_m),\\&\displaystyle {\mathbf {u}}^{n+\frac{2}{3}} = {\mathbf {u}}^{n+\frac{1}{3}} + \frac{\varDelta {t}}{2}\left[ {\mathbf {A}}{\mathbf {u}}^{n+\frac{1}{3}}+{\mathbf {c}}^{n+\frac{1}{3}}\right] ,\\&\displaystyle {\mathbf {u}}^{n+1} = {\mathbf {u}}^{n+\frac{2}{3}} + \frac{\varDelta {t}}{2}\left[ {\mathbf {A}}{\mathbf {u}}^{n+1}+{\mathbf {c}}^{n+1}\right] . \end{aligned}$$

Now, \({\mathcal {I}}u(t_n,x_m)\) of the first equation can be calculated as

$$\begin{aligned} {\mathcal {I}}u(t_n,x_m)\approx & {} \frac{{\mathbf {k}}_1+{\mathbf {k}}_4}{6} + \frac{{\mathbf {k}}_2+{\mathbf {k}}_3}{3} + {\mathbf {b}}^n, \end{aligned}$$

where

$$\begin{aligned} {\mathbf {k}}_1= & {} {\mathbf {Q}}{\mathbf {u}}^n\\ {\mathbf {k}}_2= & {} {\mathbf {Q}}\left[ {\mathbf {u}}^n+\frac{\varDelta {t}}{2} {\mathbf {k}}_1\right] = \left[ {\mathbf {Q}}+ \frac{\varDelta {t}}{2} {\mathbf {Q}}^2 \right] {\mathbf {u}}^n,\\ {\mathbf {k}}_3= & {} {\mathbf {Q}}\left[ {\mathbf {u}}^n+\frac{\varDelta {t}}{2} {\mathbf {k}}_2\right] = \left[ {\mathbf {Q}}+ \frac{\varDelta {t}}{2} {\mathbf {Q}}^2+ \frac{(\varDelta {t})^2}{4} {\mathbf {Q}}^2 \right] {\mathbf {u}}^n,\\ {\mathbf {k}}_4= & {} {\mathbf {Q}}\left[ {\mathbf {u}}^n+ \varDelta {t}\,{\mathbf {k}}_3\right] = \left[ {\mathbf {Q}}+ \varDelta {t} {\mathbf {Q}}^2 + \frac{(\varDelta {t})^2}{2} {\mathbf {Q}}^3+ \frac{(\varDelta {t})^3}{4} {\mathbf {Q}}^4 \right] {\mathbf {u}}^n. \end{aligned}$$

Combining these terms and rearrangement of resulting terms gives us

$$\begin{aligned} {\mathcal {I}}u(t_n,x_m) \approx \left[ {\mathbf {Q}}+ \frac{\varDelta {t}}{2}{\mathbf {Q}}^2 + \frac{(\varDelta {t})^2}{6}{\mathbf {Q}}^3 + \frac{(\varDelta {t})^3}{24}{\mathbf {Q}}^4 \right] {\mathbf {u}}^n + {\mathbf {b}}^n. \end{aligned}$$

Inserting the above expression into the predictor gives us the following

$$\begin{aligned} {\mathbf {u}}^{n+\frac{1}{3}}= & {} \left[ {\mathbf {I}}+ \varDelta {t}\,{\mathbf {Q}}+ \frac{(\varDelta {t})^2}{2}{\mathbf {Q}}^2 + \frac{(\varDelta {t})^3}{6}{\mathbf {Q}}^3 + \frac{(\varDelta {t})^4}{24}{\mathbf {Q}}^4 \right] {\mathbf {u}}^n + \varDelta {t}\,{\mathbf {b}}^n, \nonumber \\ {\mathbf {u}}^{n+\frac{2}{3}}= & {} \left[ {\mathbf {I}}+ \frac{\varDelta {t}}{2}\,{\mathbf {A}}\right] {\mathbf {u}}^{n+\frac{1}{3}} +\frac{\varDelta {t}}{2}\,{\mathbf {c}}^{n+\frac{1}{3}}, \nonumber \\ {\mathbf {u}}^{n+1}= & {} \left[ {\mathbf {I}}- \frac{\varDelta {t}}{2}\,{\mathbf {A}}\right] ^{-1} \left[ {\mathbf {u}}^{n+\frac{2}{3}} +\frac{\varDelta {t}}{2}\,{\mathbf {c}}^{n+1}\right] . \end{aligned}$$
(22)

The source vector \({\mathbf {c}}^{n+\frac{1}{3}}\) can be set as a linear combination of \({\mathbf {c}}^n\) and \({\mathbf {c}}^{n+1}\) with their corresponding weights or a multiple of \(u^{n+\frac{1}{3}}_M\).

4.3 Numerical simulations

The inequality is the strong condition to ensure the positive kernel in the integral part. Consider the following model by Lee and Song [12]:

$$\begin{aligned} \left\{ \begin{array}{l} f(x)=1.5x,\quad g(x)=x,\quad h(x)=0.01x,\quad \lambda (x)=0.01x,\quad \sigma =0.01\\ H(x)=(x-K)^+,\quad T=0.1,\quad \nu (x)=\frac{1}{2a}{\mathbf {1}}_{[-a, a]}(x),\quad a=0.1,\\ v(t,x_0)=0,\quad v(t,x_M)=x_M-K, \end{array}\right. \end{aligned}$$

where the interest rate is assumed to be zero as stated in Sect. 3. Under these settings, (6) is satisfied. Further, we set the boundary conditions,

$$\begin{aligned} u^n_0=0,\quad u^n_{M}=x_M-K, \quad u^0_m=(x_m-K)^+,\quad 0\le m\le M, \end{aligned}$$

when \(x_0 < K < x_M\). The integral value \(\bar{u}^n_m\) is expanded as

$$\begin{aligned} \bar{u}^n_m= & {} \frac{1}{2a x_m} \int _{x_{m_1}}^{x_{m_2}} u\left( t_n,z\right) \left[ 1+G_m h_m - G_m h_m \frac{z}{x_m} \right] \lambda _m dz\\ m_1= & {} \text{ max }\left\{ {\left\lfloor {\frac{(1-a)x_m-x_0}{{\varDelta {x}}}}\right\rfloor }, 0\right\} \\ m_2= & {} \text{ min }\left\{ {\left\lceil {\frac{(1+a)x_m-x_0}{{\varDelta {x}}}}\right\rceil }, M\right\} \end{aligned}$$

through the usual floor \({\left\lfloor {\cdot }\right\rfloor }\) and ceil \({\left\lceil {\cdot }\right\rceil }\) functions. Thus, the quadrature matrix \({\mathbf {Q}}\) under the trapezoidal rule is expressed as

$$\begin{aligned} Q_{mk}= & {} \frac{{\varDelta {x}}}{2ax_m} \left[ (1+G_m h_m) T_{mk} - \frac{G_m h_m}{x_m} T^x_{mk} \right] \lambda _m,\\ T_{mk}= & {} \frac{1}{2}\delta _{m_1 k} + \sum _{j=m_1+1}^{m_2-1}\delta _{j k} + \frac{1}{2}\delta _{m_2 k},\\ T^x_{mk}= & {} \frac{1}{2} x_{m_1}\delta _{m_1 k} + \sum _{j=m_1+1}^{m_2-1}x_{j}\delta _{j k} + \frac{1}{2} x_{m_2}\delta _{m_2k}. \end{aligned}$$

Note that the trapezoidal rule is expected to be cubic order when the objective function is good enough. The hedging strategy \(\xi \) is computed and stored in \({\varvec{\xi }}^n=[\xi _m^n]_{m=1}^{M-1}\) using a matrix \({\mathbf {P}}=[P_{mk}]_{m,k=1}^{M-1}\) as

$$\begin{aligned} \begin{array}{c} \displaystyle {\varvec{\xi }}^n ={\mathbf {P}}{\mathbf {u}}^{N-n},\\ \displaystyle P_{mk} =\frac{{\varDelta {x}}}{2ax_m} G_m \lambda _m \left[ \frac{1}{x_m}T^x_{mk} - T_{mk}\right] +\frac{1}{2{\varDelta {x}}}\left[ \delta _{m+1\, k}-\delta _{m-1\, k}\right] F_m. \end{array} \end{aligned}$$

Table 1 shows the computational costs and the maximum differences between the solutions by the Crank-Nicolson (21) and the predictor-corrector (22) schemes. Figure 1 illustrates a sample stock price with random jumps generated from an additional process defined at Sect. 3.2, and its corresponding option value as in Lee and Song [12]. We observe that the predictor-corrector (PC) method is at least 7 times faster than the Crank-Nicolson (CN) scheme, and its solution converges to that by the latter method as the number of time steps grows.

Table 1 Computational costs \({\mathcal {C}}^{\text{ CN }}\) and \({\mathcal {C}}^{\text{ PC }}\) by the Crank-Nicolson (CN) and predictor-correction (PC) schemes with respect to the number of time steps N measured in seconds
Fig. 1
figure 1

A sample stock price \(S_t\) (upper) generated from an additional process defined at Sect. 3.2. Corresponding option value \(V_t\) (lower) when \(a=0.1\), \(K=1000\) and \(S_0=K\)

5 Conclusion

We test and illustrate the numerical results for the theory proposed by Lee and Protter [11], who didn’t carry out the numerical simulation. From the results in the Table 1 of Sect. 4.3, we conclude that the predictor-corrector method can save the computational cost and keep pace with the Crank-Nicolson scheme known as an accurate method by increasing the number of time steps.