# Iterative Speedup by Utilizing Symmetric Data in Pricing Options with Two Risky Assets

^{1}

^{2}

^{*}

## Abstract

**:**

## 1. Introduction

## 2. Nomenclature

## 3. Implicit OSM

- Step (1)
- Find the solution at $T-\frac{1}{2}\mathsf{\Delta}t$, by discretizing the equation ${\partial}_{t}V+{\mathcal{L}}_{x}V=0$ with the given ${V}_{T}$:$$\begin{array}{ccc}\hfill \frac{{V}_{i,j}^{(n+\frac{1}{2})}}{\mathsf{\Delta}t}& +& {\sigma}_{1}^{2}{x}_{i}^{2}\frac{{V}_{i-1,j}^{(n+\frac{1}{2})}-2{V}_{i,j}^{(n+\frac{1}{2})}+{V}_{i+1,j}^{(n+\frac{1}{2})}}{2{\mathsf{\Delta}x}^{2}}\hfill \\ & +& rx\frac{{V}_{i+1,j}^{(n+\frac{1}{2})}-{V}_{i-1,j}^{(n+\frac{1}{2})}}{2\mathsf{\Delta}x}-\frac{1}{2}r{V}_{i,j}^{(n+\frac{1}{2})}\hfill \\ & =& -\rho {\sigma}_{1}{\sigma}_{2}{x}_{i}{y}_{j}\frac{{V}_{i+1,j+1}^{\left(n+1\right)}+{V}_{i-1,j-1}^{\left(n+1\right)}-{V}_{i+1,j-1}^{\left(n+1\right)}-{V}_{i-1,j+1}^{\left(n+1\right)}}{8\mathsf{\Delta}x\mathsf{\Delta}y}\hfill \\ & +& \frac{{V}_{i,j}^{\left(n+1\right)}}{\mathsf{\Delta}t}.\hfill \end{array}$$
- Step (2)
- Find the solution at $T-\mathsf{\Delta}t$, by discretizing the equation ${\partial}_{t}V+{\mathcal{L}}_{y}V=0$ with the solution found in Step (1) as the given condition:$$\begin{array}{ccc}\hfill \frac{{V}_{i,j}^{\left(n\right)}}{\mathsf{\Delta}t}& +& {\sigma}_{2}^{2}{y}_{j}^{2}\frac{{V}_{i,j-1}^{\left(n\right)}-2{V}_{i,j}^{\left(n\right)}+{V}_{i,j+1}^{\left(n\right)}}{2{\mathsf{\Delta}y}^{2}}\hfill \\ & +& r{y}_{j}\frac{{V}_{i,j+1}^{\left(n\right)}-{V}_{i,j-1}^{\left(n\right)}}{2\mathsf{\Delta}y}-\frac{1}{2}r{V}_{i,j}^{\left(n\right)}\hfill \\ & =& -\rho {\sigma}_{1}{\sigma}_{2}{x}_{i}{y}_{j}\frac{{V}_{i+1,j+1}^{(n+\frac{1}{2})}+{V}_{i-1,j-1}^{(n+\frac{1}{2})}-{V}_{i+1,j-1}^{(n+\frac{1}{2})}-{V}_{i-1,j+1}^{(n+\frac{1}{2})}}{8\mathsf{\Delta}x\mathsf{\Delta}y}\hfill \\ & +& \frac{{V}_{i,j}^{(n+\frac{1}{2})}}{\mathsf{\Delta}t}.\hfill \end{array}$$

## 4. Iterative Crank–Nicolson Method

- Step (1)
- Get a linear system by discretizing Equation (1) with the Crank–Nicolson scheme. The following equation is matrix-vector form of the Equation (15) :$${\mathcal{L}}^{\left(n\right)}{\mathbf{v}}^{\left(n\right)}={\mathcal{R}}^{(n+1)}{\mathbf{v}}^{(n+1)},$$$$\begin{array}{ccc}\mathrm{(17)}& \hfill {\mathbf{v}}^{\left(\mathbf{n}\right)}& =& ({V}_{i-1,j-1}^{n},{V}_{i-1,j}^{n},{V}_{i-1,j+1}^{n},{V}_{i,j-1}^{n},{V}_{i,j}^{n},\hfill & & {V}_{i,j+1}^{n},{V}_{i+1,j-1}^{n},{V}_{i+1,j}^{n},{V}_{i+1,j+1}^{n}{)}^{\prime},\hfill \\ \mathrm{(18)}& \hfill {\mathbf{v}}^{(\mathbf{n}+\mathbf{1})}& =& ({V}_{i-1,j-1}^{n+1},{V}_{i-1,j}^{n+1},{V}_{i-1,j+1}^{n+1},{V}_{i,j-1}^{n+1},{V}_{i,j}^{n+1},\hfill & & {V}_{i,j+1}^{n+1},{V}_{i+1,j-1}^{n+1},{V}_{i+1,j}^{n+1},{V}_{i+1,j+1}^{n+1}{)}^{\prime}.\hfill \end{array}$$
- Step (2)
- Apply appropriate boundary conditions to the ${\mathcal{L}}^{\left(n\right)}$ and ${\mathcal{R}}^{(n+1)}$. Depending on the option type, the boundary condition is either given as a linear boundary condition on the truncated interface or an essential boundary condition where the price of the option is zero. We denote the boundary condition imposed system as follows:$${{\mathcal{L}}_{\mathrm{bc}}}^{\left(n\right)}{\mathbf{v}}^{\left(n\right)}={{\mathcal{R}}_{\mathrm{bc}}}^{(n+1)}{\mathbf{v}}^{(n+1)}.$$
- Step (3)
- Symmetrize the system given in Equation (19) as follows:$${\left(\right)}^{{{\mathcal{L}}_{\mathrm{bc}}}^{\left(n\right)}}\prime {{\mathcal{R}}_{\mathrm{bc}}}^{(n+1)}{\mathbf{v}}^{(n+1)},$$
- Step (4)
- Create preconditioned matrix $\mathbf{P}$ with ${\left(\right)}^{{{\mathcal{L}}_{\mathrm{bc}}}^{\left(n\right)}}\prime $ using incomplete LU factorization (where LU stands for lower and upper triangular matrix). The choice of the preconditioner is more important than the choice of the Krylov iterative method such as GMRES [14,15]. The effectiveness of preconditioner $\mathbf{P}$ created by incomplete LU factorization is measured by how well ${\mathbf{P}}^{-1}$ approximates the ${\left(\right)}^{{\left({{\mathcal{L}}_{\mathrm{bc}}}^{\left(n\right)}\right)}^{\prime}}$.
- Step (5)
- Solve Equation (20) repetitively using GMRES with the preconditioner $\mathbf{P}$ and the previous solution vector ${\mathbf{v}}^{(n+1)}$ as an initial guess until we find the option price ${\mathbf{v}}^{\left(0\right)}$. Use the final condition ${\mathbf{v}}^{\left(N\right)}={V}_{T}=V(T,{x}_{i},{y}_{j})$ to start the iteration. We use the following split preconditioning with the incomplete LU factors, ${\mathbf{P}}_{L}^{-1}$ and ${\mathbf{P}}_{R}^{-1}$:$$\begin{array}{}\mathrm{(21)}& \hfill {\mathbf{P}}_{L}^{-1}{\left(\right)}^{{{\mathcal{L}}_{\mathrm{bc}}}^{\left(n\right)}}\prime {{\mathcal{L}}_{\mathrm{bc}}}^{\left(n\right)}{\mathbf{P}}_{R}^{-1}{\mathbf{u}}^{\left(n\right)}=& {\mathbf{P}}_{L}^{-1}{\left(\right)}^{{{\mathcal{L}}_{\mathrm{bc}}}^{\left(n\right)}}\prime {{\mathcal{R}}_{\mathrm{bc}}}^{(n+1)}{\mathbf{v}}^{(n+1)},\hfill \end{array}\mathrm{(22)}& \hfill {\mathbf{P}}_{R}^{-1}{\mathbf{u}}^{\left(n\right)}& =& {\mathbf{v}}^{\left(n\right)}.\hfill $$

## 5. Computational Perspective of the Iterative Crank–Nicolson Method

#### 5.1. Some Numerical Examples

- (1)
- Cash or Nothing$$\begin{array}{ccc}\mathrm{(26)}& \hfill V(T,x,y)& =& 100\text{}ifmin(x,y)\ge K,\hfill \mathrm{(27)}& \hfill {V}_{\mathrm{ref}}& =& K{e}^{-rT}M({d}_{1},{d}_{2};\rho ),\hfill \hfill {d}_{1}& =& \frac{ln\left(\frac{x}{K}\right)+(r-\frac{1}{2}{\sigma}_{1}^{2})T}{{\sigma}_{1}\sqrt{T}},\hfill \\ \hfill {d}_{2}& =& \frac{ln\left(\frac{y}{K}\right)+(r-\frac{1}{2}{\sigma}_{2}^{2})T}{{\sigma}_{2}\sqrt{T}},\hfill \end{array}$$
- (2)
- Call$$\begin{array}{ccc}\mathrm{(28)}& \hfill V(T,x,y)& =& max(y-{K}_{2},0)ifx\ge {K}_{1},\hfill \mathrm{(29)}& \hfill {V}_{\mathrm{ref}}& =& yM({d}_{2}+{\sigma}_{2}\sqrt{T},{d}_{1}+\rho {\sigma}_{2}\sqrt{T};\rho ),\hfill & -& {K}_{2}{e}^{-rT}M({d}_{2},{d}_{1};\rho ),\hfill \\ \hfill {d}_{1}& =& \frac{ln\left(\frac{x}{{K}_{1}}\right)+(r-\frac{1}{2}{\sigma}_{1}^{2})T}{{\sigma}_{1}\sqrt{T}},\hfill \\ \hfill {d}_{2}& =& \frac{ln\left(\frac{y}{{K}_{2}}\right)+(r-\frac{1}{2}{\sigma}_{2}^{2})T}{{\sigma}_{2}\sqrt{T}},\hfill \end{array}$$
- (3)
- Basket$$\begin{array}{c}\hfill V(T,x,y)=max(x+y-K,0).\end{array}$$

#### 5.2. Computational Cost

**Theorem**

**1.**

**Proof.**

**Theorem**

**2.**

**Proof.**

**Theorem**

**3.**

**Proof.**

**Theorem**

**4.**

**Proof.**

#### 5.3. Order of Convergence in Space and Time

## 6. Conclusions

## Acknowledgments

## Author Contributions

## Conflicts of Interest

## References

- Daoud, Y.; Özis, T. The Operator Splitting Method for Black–Scholes Equation. Appl. Math.
**2011**, 2, 771–778. [Google Scholar] [CrossRef] - Duffy, D.J. Finite Difference Methods in Financial Engineering: A Partial Differential Approach; John Wiley and Sons: New York, NY, USA, 2006. [Google Scholar]
- Jeong, D.; Kim, J. A comparison study of ADI and operator splitting methods on option pricing models. J. Comput. Appl. Math.
**2013**, 247, 162–171. [Google Scholar] [CrossRef] - Cavoretto, R. A numerical algorithm for multidimensional modeling of scattered data points. Comput. Appl. Math.
**2015**, 34, 65–80. [Google Scholar] [CrossRef] - Shcherbakov, V.; Larsson, E. Radial basis function partition of unity methods for pricing vanilla basket options. Comput. Math. Appl.
**2016**, 71, 185–200. [Google Scholar] [CrossRef] - Oosterlee, C.W.; Leentvaar, C.C.; Huang, X. Accurate American Option Pricing by Grid Stretching and High Order Finite Differences; Technical Report; Delft University of Technology: Delft, The Netherlands, 2005. [Google Scholar]
- Le Floc’h, F. TR-BDF2 for Stable American Option Pricing. J. Comput. Finance
**2014**, 17, 31–56. [Google Scholar] [CrossRef] - Hull, J.C. Options, Futures and Other Derivatives, 9 ed.; Prentice Hall: Upper Saddle River, NJ, USA, 2014. [Google Scholar]
- Wilmott, P. Paul Wilmott on Quantitative Finance, 2 ed.; Wiley: Hoboken, NJ, USA, 2006. [Google Scholar]
- Zhu, Y.L.; Wu, X.; Chern, I. Derivative Securities and Difference Methods; Springer: Berlin, Germany, 2004. [Google Scholar]
- Morton, K.W.; Mayers, D. Numerical Solution of Partial Differential Equations, 2 ed.; Cambridge University Press: Cambridge, UK, 2005. [Google Scholar]
- Saad, Y. Iterative Methods for Sparse Linear Systems, 2 ed.; SIAM: Philadelphia, PA, USA, 2003. [Google Scholar]
- Saad, Y.; Schultz, M.H. GMRES: A generalized minimal residual algorithm for solving nonsymmetric linear systems. SIAM J. Sci. Stat. Comput.
**1986**, 7, 856–869. [Google Scholar] [CrossRef] - Mittal, R.; Al-Kurdi, A. An efficient method for constructing an ILU preconditioner for solving large sparse nonsymmetric linear systems by the GMRES method. Comput. Math. Appl.
**2003**, 45, 1757–1772. [Google Scholar] [CrossRef] - Trefethen, L.N.; Iii, D.B. Numerical Linear Algebra; SIAM: Philadelphia, PA, USA, 1997. [Google Scholar]
- Krekel, M.; de Kock, J.; Korn, R.; Man, T.K. An Analysis of Pricing Methods for Baskets Options; Wilmott: Soissons, France, 2004; pp. 82–89. [Google Scholar]
- Haug, E.G. The Complete Guide to Option Pricing Formulas; McGraw-Hill Education: New York, NY, USA, 2006. [Google Scholar]
- Ju, N. Pricing Asian and Basket options via taylor expansion. J. Comput. Financ.
**2002**, 5, 79–103. [Google Scholar] [CrossRef] - Han, C. Finite Difference Method with GMRES Solver for the 2D Black–Scholes Equation. Master’s Thesis, Korea University, Seoul, Korea, 2014. [Google Scholar]

**Figure 1.**The surface of option payoff ${V}_{T}$ and ${V}_{\mathrm{ref}}$ : (

**a**) cash or nothing ${V}_{T}$; (

**b**) cash or nothing ${V}_{\mathrm{ref}}$; (

**c**) two asset call ${V}_{T}$; (

**d**) two asset call ${V}_{\mathrm{ref}}$; (

**e**) basket call ${V}_{T}$; and (

**f**) basket call ${V}_{\mathrm{ref}}$.

**Figure 2.**The effect of symmetrization: (

**a**) number of time steps (M) versus total iterations; and (

**b**) number of spatial discretization versus total iterations.

**Figure 3.**The iterative Crank–Nicolson solution and absolute error: (

**a**) computed cash or nothing option values ($\mathsf{\Delta}x=1/90,\mathsf{\Delta}t=1/60$); (

**b**) errors in cash or nothing options; (

**c**) computed two asset call option values ($\mathsf{\Delta}x=1/90,\mathsf{\Delta}t=1/60$); (

**d**) errors in two asset call options; (

**e**) computed basket call option values ($\mathsf{\Delta}x=1/60,\mathsf{\Delta}t=1/60$); and (

**f**) errors in basket call options.

**Figure 4.**The order of complexity measured in time for implicit OSM with a different payoff: (

**a**) cash or nothing; (

**b**) two asset call; (

**c**) basket call. The order of complexity measured in time for the iterative Crank–Nicolson method with a different payoff: (

**d**) cash or nothing; (

**e**) two asset call; and (

**f**) basket call. The dotted line shows the growth rate.

**Figure 5.**Number of non-zeros in the matrices, given in Equation (16), versus N, the number of grid points: (

**a**) ${\mathcal{L}}^{\left(n\right)}$; (

**b**) ${\mathcal{R}}^{(n+1)}$; and (

**c**) $\mathbf{P}$. The quadratic growth rate is shown with the dotted line.

**Figure 6.**The relative error measured in maximum norm versus the time step size for: (

**a**) cash or nothing option; (

**b**) two asset call option; and (

**c**) basket call option.

**Table 1.**Computational time comparison between iterative Crank-Nicolson and Operator Splitting Method (OSM) to reach targeted accuracy while maintaining convergence rate.

Option Type | Numerical Method | $\mathsf{\Delta}\mathit{x}$ | $\mathsf{\Delta}\mathit{t}$ | Rel. Err (%) | Ratio | Time (s) |
---|---|---|---|---|---|---|

(1) Cash or Nothing | ||||||

Iterative-Crank–Nicolson | 1/30 | 1/20 | 3.5 | - | 0.1 | |

1/90 | 1/60 | 0.34 | 10 | 1.5 | ||

1/270 | 1/180 | 0.037 | 9.2 | 47 | ||

1/810 | 1/540 | 0.0044 | 8.3 | 2000 | ||

OSM | 1/30 | 1/20 | 4.0 | - | 0.08 | |

1/90 | 1/180 | 0.39 | 10 | 0.8 | ||

1/270 | 1/1620 | 0.042 | 9.3 | 5.4 | ||

1/810 | 1/14580 | 0.0046 | 9.0 | 4200 | ||

(2) Call | ||||||

Iterative-Crank–Nicolson | 1/30 | 1/20 | 1.6 | - | 0.1 | |

1/90 | 1/60 | 0.21 | 7.6 | 1.2 | ||

1/270 | 1/180 | 0.024 | 8.8 | 43 | ||

1/810 | 1/540 | 0.0026 | 9.4 | 1900 | ||

OSM | 1/30 | 1/20 | 1.9 | - | 0.03 | |

1/90 | 1/180 | 0.25 | 7.4 | 0.8 | ||

1/270 | 1/1620 | 0.028 | 9.2 | 54 | ||

1/810 | 1/14580 | 0.0030 | 9.0 | 4300 | ||

(3) Basket | ||||||

Iterative-Crank–Nicolson | 1/30 | 1/30 | 0.71 | - | 0.1 | |

1/60 | 1/60 | 0.17 | 4.2 | 0.5 | ||

1/120 | 1/120 | 0.042 | 4.0 | 4 | ||

1/240 | 1/240 | 0.011 | 4.0 | 35 | ||

1/480 | 1/480 | 0.0026 | 4.0 | 340 | ||

OSM | 1/30 | 1/30 | 0.73 | - | 0.03 | |

1/60 | 1/120 | 0.17 | 4.2 | 0.3 | ||

1/120 | 1/480 | 0.043 | 4.0 | 3.6 | ||

1/240 | 1/1920 | 0.011 | 4.0 | 6 | ||

1/480 | 1/7680 | 0.0026 | 4.0 | 780 |

**Table 2.**CPU time, Memory, and Relative Error comparison with the use of identical $\mathsf{\Delta}x$ and $\mathsf{\Delta}t$ for both methods. The memory and CPU time are accumulated for the entire simulation.

Option Type | Numerical Method | $\mathsf{\Delta}\mathit{x}$ | $\mathsf{\Delta}\mathit{t}$ | Rel. Err. (%) | Memory (Mb) | Time (s) |
---|---|---|---|---|---|---|

(1) Cash or Nothing | ||||||

Iterative-Crank–Nicolson | 1/30 | 1/20 | 1.68 | 18 | 0.8 | |

1/90 | 1/60 | 0.19 | 345 | 15 | ||

1/270 | 1/180 | 0.02 | 8430 | 346 | ||

OSM | 1/30 | 1/20 | 2.15 | 5 | 1.3 | |

1/90 | 1/60 | 0.37 | 30 | 30 | ||

1/270 | 1/180 | 0.09 | 252 | 771 | ||

(2) Call | ||||||

Iterative-Crank–Nicolson | 1/30 | 1/20 | 1.6 | 18 | 0.8 | |

1/90 | 1/60 | 0.21 | 345 | 13 | ||

1/270 | 1/180 | 0.02 | 8477 | 283 | ||

OSM | 1/30 | 1/20 | 1.9 | 4 | 1.2 | |

1/90 | 1/60 | 0.33 | 15 | 29 | ||

1/270 | 1/180 | 0.06 | 159 | 756 | ||

(3) Basket | ||||||

Iterative-Crank–Nicolson | 1/30 | 1/30 | 0.47 | 1.8 | 0.9 | |

1/60 | 1/60 | 0.12 | 24 | 5.8 | ||

1/120 | 1/120 | 0.03 | 993 | 33 | ||

OSM | 1/30 | 1/30 | 0.49 | 2 | 1.6 | |

1/60 | 1/60 | 0.12 | 8.6 | 12 | ||

1/120 | 1/120 | 0.04 | 45 | 96.9 |

© 2017 by the authors; licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).

## Share and Cite

**MDPI and ACS Style**

Pak, D.; Han, C.; Hong, W.-T.
Iterative Speedup by Utilizing Symmetric Data in Pricing Options with Two Risky Assets. *Symmetry* **2017**, *9*, 12.
https://doi.org/10.3390/sym9010012

**AMA Style**

Pak D, Han C, Hong W-T.
Iterative Speedup by Utilizing Symmetric Data in Pricing Options with Two Risky Assets. *Symmetry*. 2017; 9(1):12.
https://doi.org/10.3390/sym9010012

**Chicago/Turabian Style**

Pak, Dohyun, Changkyu Han, and Won-Tak Hong.
2017. "Iterative Speedup by Utilizing Symmetric Data in Pricing Options with Two Risky Assets" *Symmetry* 9, no. 1: 12.
https://doi.org/10.3390/sym9010012