Submitted:
28 November 2024
Posted:
30 November 2024
You are already at the latest version
Abstract
Keywords:
1. Introduction
1.1. A Brief Review of Products Considered
1.2. Organization of the Paper
2. Materials and Methods
2.1. Basic Assumptions
- (A)
- The option to be priced has two strike prices , with , at each observation date . The expiration date is .
- (B)
- The option is exercised if or at some , and the payoffs are given by (if ) and (if ), respectively, for some .
- (C)
- The final payoff at maturity isfor some .
- There are finitely many observation points, and two exercise levels (possibly ∞) at each observation point. If S is above the upper exercise level or below the lower exercise level at any observation point, the option is exercised and the payoff is a linear function in S.
- At maturity, if S is between the two exercise levels, a payoff is incurred which is also a linear function in S.
- The underlying asset price S follows a geometric Brownian motion with possibly time-dependent interest rates, yield rates, and volatilities.
2.2. Finite Difference Methods
2.3. Analytical Modification
- 1.
- If the option has payoff , then .
- 2.
- If , then .
- 3.
- If , then .
- 4.
- If , then .
2.3.1. Basic idea of the analytical modification
2.3.2. Implementation of the Analytical Modification
- 1:
- for downto 1 do
- 2:
- Compute using (2.16)
- 3:
- Solve (2.18) numerically for
- 4:
- Compute , the smooth part of , using (2.20b)
- 5:
- end for
- 6:
- Obtain option value
2.4. Adaptive Mesh Refinement
- 1:
- Construct a fine grid for and a similar one for by dividing each interval of size h into n equal parts
- 2:
- for downto 1 do
- 3:
- Compute using (2.22)
- 4:
- Solve (2.23) numerically for one time step (with step size k) on coarse grid
- 5:
- Solve (2.23) numerically for n time steps (with step size ) on fine grids, using (2.26) as boundary conditions
- 6:
- Combine numerical solutions on coarse and fine grids to obtain
- 7:
- Compute , the smooth part of , using (2.28)
- 8:
- end for
- 9:
- Obtain option value
3. Results
3.1. Convergence Study
- Option I: A cash-or-nothing call option with final payoff:
- Option II: An asset-or-nothing call option with final payoff:
- Option III: A vanilla call option with final payoff:
-
Option IV: An exotic call option with final payoff:We remark that this option does not have a counterpart in real-life financial applications. It is designed here solely to test the convergence properties of the proposed method.
- Option V: A double-barrier knock-out option with different monitoring frequencies for the two barriers. Assume there are 250 business days in a year, and the option will expire one year from the valuation date which we denote as day 0. The spot price of the underlying asset at day 0 is 1.1. The upper barrier level is 1.2, and its observation dates are {15, 36, 57, 78, 99, 120, 141, 162, 183, 204, 225, 246}, resembling a monthly monitoring structure. The lower barrier is monitored daily, and the barrier level is 0.9. We further assume that the notional value of the option is 100, that the payoff at maturity is 10% of the notional value, namely 10, and that
- For the first two options (I-II), the C-N method converges at only first order due to the discontinuity at contained in the terminal conditions. On the other hand, mesh adaptation around the discontinuity , where option prices are expected to undergo the most rapid variation, helps reduce the error by a factor of n where here is the refinement factor.
- For the next two options (III-IV), the C-N method converges at a higher order due to the improved smoothness of the terminal condition at . The precise relationship between the convergence rate and the smoothness of the terminal condition is the subject of a future research, but these examples seem to suggest that a terminal condition is already sufficient to restore the second-order accuracy of the C-N method (see Remark 3.2).
- When mesh adaptation is applied to the third option, the error first improves by roughly a factor of up until , after which no significant improvement in error is observed (Table 6). This is due to the fact that the terminal condition in this case has a higher degree of smoothness at (i.e., ), as a result of which the largest error on a sufficiently fine grid does not concentrate around , and hence is not captured by the adaptive mesh which surrounds the strike price . Similar observations apply to the fourth option, whose terminal condition has an even higher degree of smoothness at (i.e., ) and for which no improvement in error is observed for the adaptive mesh calculation at all.
- Despite these observations, the mesh adaptation technique still turns out to be useful when applied to discretely monitored options with high monitoring frequencies, where errors near the barriers caused by the non-smoothness of the terminal conditions dominate the calculations (Section 3.1, Section 3.3).
- A -modification at the barriers:which is (2.12b) with and which is only continuous at the barriers.
- A -modification at the barriers:which is just (2.12b) and is continuously differentiable at the barriers.
- For the original C-N method, the numerical approximations converge to the reference values in at an average rate of roughly 1 but do not converge in at all (Table 9). This reduced convergence rate or even lack of convergence is clearly a consequence of the discontinuities at the barriers contained in the terminal conditions. On the other hand, mesh adaptation around the barriers, where option prices are expected to undergo the most rapid variation, helps reduce the error by a factor of n where here is the refinement factor (Table 10).
- For the analytically modified C-N method, with either - or -modifications, the numerical approximations converge to the reference values in both and and do so at a higher rate due to the improved smoothness of the terminal conditions at the barriers. More specifically, with -modifications, converge to in at an average rate of roughly and in at an average rate of roughly 1 (Table 11), while with -modifications, the convergence in both and has an average rate of roughly 2 (Table 13). In other words, these examples seem to suggest that a -modification to the terminal conditions is already sufficient to restore the second-order accuracy of the C-N method.
- When mesh adaptation is applied with -modifications, both the - and -errors improve by roughly a factor of for all , demonstrating the effectiveness of the adaptive mesh (Table 12).
- When mesh adaptation is applied with -modifications, the numerical approximations calculated on the finest grid with are almost identical with the reference values calculated on the uniform fine grid with , as suggested by the unusually small errors (last row, Table 14). On the other hand, for numerical approximations calculated on coarser grids with , both the - and -errors improve by roughly a factor of for all when mesh adaptation is enabled. This provides another strong evidence for the effectiveness of the adaptive mesh, especially on discretely monitored options with high monitoring frequencies.
- We remark that for mesh adaptation applied with -modifications, a sufficiently large area around the barriers needs to be refined in order for the adaptive mesh to be effective, in view of the improved smoothness of the terminal conditions near the barriers. Indeed, when the refinement ratio in Table 14 was reduced from 15% to 10%, meaning only the grid points around each barrier are refined, the resulting adaptive mesh was only able to produce marginal improvement in error for and was not able to produce any meaningful improvement in error at all for all larger . This is not an issue when mesh adaptation is applied with -modifications or with no analytical modifications, where the errors near the barriers caused by the non-smoothness of the terminal conditions dominate the calculations.
3.2. Comparison with other Numerical Methods
- Both methods exhibit very similar convergence behaviors and converge in both and at an average rate of roughly 1. This shows, in particular, that both methods lose their second-order accuracy when applied to problems containing discontinuities.
- Analytically modified C-N with a -modification (CN-C1).
- C-N with Rannacher time-stepping (CN-RAN).
- Trapezoidal rule with second-order backward differentiation formula (TR-BDF2).
- Forward-time centered-space (or implicit Euler) (FTCS).
- Monte-Carlo simulations (MC).
| Time Steps | CN-C1 | CN-RAN | ||
| CPU time | CPU time | |||
| 1 | ||||
| 2 | ||||
| 4 | ||||
| 8 | ||||
| 16 | ||||
| 32 | ||||
| 64 | ||||
| Reference option value at : 1.83652751. | ||||
| TR-BDF2 | FTCS | |||
| CPU time | CPU time | |||
| 1 | ||||
| 2 | ||||
| 4 | ||||
| 8 | ||||
| 16 | ||||
| 32 | ||||
| 64 | ||||
| Reference option value at : 1.83652751. | ||||
| Number | MC | |||
| 40000 | ||||
| 60000 | ||||
| 80000 | ||||
| 100000 | ||||
| 120000 | ||||
| 140000 | ||||
| 160000 | ||||
| Reference option value at : 1.83652751. | ||||
- 16.7132 seconds (CN-RAN),
- 36.1549 seconds (TR-BDF2),
- 22.8074 seconds (FTCS), and
- 26.4529 seconds (MC),
| Time Steps | CN-C1 | Time Steps | CN-RAN | ||
| 1 | 43 | ||||
| − | − | − | 44 | ||
| − | − | − | |||
| Reference option value at : 1.83652751. | |||||
| *: Estimates obtained from linear interpolation. | |||||
| TR-BDF2 | FTCS | ||||
| 42 | 65 | ||||
| 43 | 66 | ||||
| Reference option value at : 1.83652751. | |||||
| *: Estimates obtained from linear interpolation. | |||||
| Number | MC | ||||
| 108300 | |||||
| 108400 | |||||
| Reference option value at : 1.83652751. | |||||
| *: Estimates obtained from linear interpolation. | |||||
3.3. Effectiveness of Adaptive Mesh Refinement
3.4. Approximations to Derivatives
4. Discussion
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
References
- A. Andricopoulos, M. A. Andricopoulos, M. Widdicks, P. Duck, D. Newton, Universal option valuation using quadrature methods, J. Financ. Econ. 67 (3) (2003) 447–471. [CrossRef]
- M. Huang, G. Luo, A simple and efficient numerical method for pricing discretely monitored early-exercise options, Appl. Math. Comput. 422 (2022) 126985. [CrossRef]
- G. Fusai, I. G. Fusai, I. Abrahams, C. Sgarra, An exact analytical solution for discrete barrier options, Finance Stochast. 10 (1) (2006) 1–26. [CrossRef]
- L. Feng, V. L. Feng, V. Linetsky, Pricing discretely monitored barrier options and defaultable bonds in Lévy process models: a fast Hilbert transform approach, Math. Financ. 18 (3) (2008) 337–384. [CrossRef]
- F. Fang, C.; F. Fang, C. Oosterlee. Pricing early-exercise and discrete barrier options by Fourier-cosine series expansions. Numer. Math. 2009, 114, 27–62. [Google Scholar] [CrossRef]
- L. Feng, X. L. Feng, X. Lin, Pricing Bermudan options in Lévy process models, SIAM J. Finan. Math. 4 (1) (2013) 474–493. [CrossRef]
- A. Golbabai, L. A. Golbabai, L. Ballestra, D. Ahmadian, A highly accurate finite element method to price discrete double barrier options, Comput. Econ. 44 (2) (2014) 153–173. [CrossRef]
- M. Broadie, P. M. Broadie, P. Glasserman, S. Kou, A continuity correction for discrete barrier options, Math. Financ. 7 (4) (1997) 325–348. [CrossRef]
- J. Wei, Valuation of discrete barrier options by interpolations, J. Deriv. 6 (1) (1998) 51–73. [CrossRef]
- D.-H. Ahn, S. D.-H. Ahn, S. Figlewski, B. Gao, Pricing discrete barrier options with an adaptive mesh model, J. Deriv. 6 (4) (1999) 33–43. [CrossRef]
- M. Giles, R. M. Giles, R. Carter, Convergence analysis of Crank-Nicolson and Rannacher time-marching, J. Comput. Financ. 9 (4) (2006) 89–112. [CrossRef]
- R. Rannacher, Finite element solution of diffusion problems with irregular data, Numer. Math. 43 (1984) 309–327. [CrossRef]
- F. Le Floc’h, TR-BDF2 for fast stable American option pricing, J. Comput. Financ. 17 (3) (2014) 31–56. [CrossRef]
- J. Hull, Options, Futures, and Other Derivatives, 9th Edition, Pearson, 2014.
| 1 | Note, in view of the linear boundary condition (2.2c), that the extrapolation boundary condition (2.9a) is a natural choice of the numerical boundary condition at . |
| 2 | Note that the actual computational domain is . |
| 3 | The code is developed in Python and is run on a personal computer. |




| -error | -error | |||
|---|---|---|---|---|
| 10 | − | − | ||
| 20 | ||||
| 40 | ||||
| 80 | ||||
| 160 | ||||
| 320 | ||||
| 640 | ||||
| 1280 | ||||
| 2560 | ||||
| 5120 | ||||
| Exact option value at : 32.5191. | ||||
| -error | -error | |||
|---|---|---|---|---|
| 10 | − | − | ||
| 20 | ||||
| 40 | ||||
| 80 | ||||
| 160 | ||||
| 320 | ||||
| 640 | ||||
| 1280 | ||||
| 2560 | ||||
| 5120 | ||||
| Exact option value at : 32.5191. | ||||
| -error | -error | |||
|---|---|---|---|---|
| 10 | − | − | ||
| 20 | ||||
| 40 | ||||
| 80 | ||||
| 160 | ||||
| 320 | ||||
| 640 | ||||
| 1280 | ||||
| 2560 | ||||
| 5120 | ||||
| Exact option value at : 44.7791. | ||||
| -error | -error | |||
|---|---|---|---|---|
| 10 | − | − | ||
| 20 | ||||
| 40 | ||||
| 80 | ||||
| 160 | ||||
| 320 | ||||
| 640 | ||||
| 1280 | ||||
| 2560 | ||||
| 5120 | ||||
| Exact option value at : 44.7791. | ||||
| 10 | − | − | ||
| 20 | ||||
| 40 | ||||
| 80 | ||||
| 160 | ||||
| 320 | ||||
| 640 | ||||
| 1280 | ||||
| 2560 | ||||
| 5120 | ||||
| Exact option value at : 5.75609968. | ||||
| 10 | − | − | ||
| 20 | ||||
| 40 | ||||
| 80 | ||||
| 160 | ||||
| 320 | ||||
| 640 | ||||
| 1280 | ||||
| 2560 | ||||
| 5120 | ||||
| Exact option value at : 5.75609968. | ||||
| 10 | − | − | ||
| 20 | ||||
| 40 | ||||
| 80 | ||||
| 160 | ||||
| 320 | ||||
| 640 | ||||
| 1280 | ||||
| 2560 | ||||
| 5120 | ||||
| Estimated option value at : 1.80238666. | ||||
| 10 | − | − | ||
| 20 | ||||
| 40 | ||||
| 80 | ||||
| 160 | ||||
| 320 | ||||
| 640 | ||||
| 1280 | ||||
| 2560 | ||||
| 5120 | ||||
| Estimated option value at : 1.80238670. | ||||
| Time steps per day N0 | L2-error | L2-order | L∞-error | L∞-order |
| 1 | − | − | ||
| 2 | ||||
| 4 | ||||
| 8 | ||||
| 16 | ||||
| 32 | ||||
| 64 | ||||
| Reference option value at : 1.83652751. | ||||
| Time steps per day N0 | L2-error | L2-order | L∞-error | L∞-order |
| 1 | − | − | ||
| 2 | ||||
| 4 | ||||
| 8 | ||||
| 16 | ||||
| 32 | ||||
| 64 | ||||
| Reference option value at : 1.83652751. | ||||
| Time steps per day N0 | L2-error | L2-order | L∞-error | L∞-order |
| 1 | − | − | ||
| 2 | ||||
| 4 | ||||
| 8 | ||||
| 16 | ||||
| 32 | ||||
| 64 | ||||
| Reference option value at : 1.83652751. | ||||
| Time steps per day N0 | L2-error | L2-order | L∞-error | L∞-order |
| 1 | − | − | ||
| 2 | ||||
| 4 | ||||
| 8 | ||||
| 16 | ||||
| 32 | ||||
| 64 | ||||
| Reference option value at : 1.83652751. | ||||
| Time steps per day N0 | L2-error | L2-order | L∞-error | L∞-order |
| 1 | − | − | ||
| 2 | ||||
| 4 | ||||
| 8 | ||||
| 16 | ||||
| 32 | ||||
| 64 | ||||
| Reference option value at : 1.83652751. | ||||
| Time steps per day N0 | L2-error | L2-order | L∞-error | L∞-order |
| 1 | − | − | ||
| 2 | ||||
| 4 | ||||
| 8 | ||||
| 16 | ||||
| 32 | ||||
| 64 | ||||
| Reference option value at : 1.83652751. | ||||
| Time steps per day N0 | L2-error | L2-order | L∞-error | L∞-order |
| 1 | − | − | ||
| 2 | ||||
| 4 | ||||
| 8 | ||||
| 16 | ||||
| 32 | ||||
| 64 | ||||
| Reference option value at : 1.83652751. | ||||
| Time steps per day N0 | L2-error | L2-order | L∞-error | L∞-order |
| 1 | − | − | ||
| 2 | ||||
| 4 | ||||
| 8 | ||||
| 16 | ||||
| 32 | ||||
| 64 | ||||
| Reference option value at : 1.83652751. | ||||
| Uniform grid with | Adaptive mesh with | Save in | |||
| time steps per day | time steps per day | ||||
| CPU time | CPU time | ||||
| 1 | |||||
| 2 | |||||
| 4 | |||||
| 8 | |||||
| Reference option value at : 1.83652751. | |||||
| Time steps | V | |||
| -error | -error | |||
| 1 | − | − | ||
| 2 | ||||
| 4 | ||||
| 8 | ||||
| 16 | ||||
| 32 | ||||
| 64 | ||||
| Reference option value at : 1.83652817. | ||||
| -error | -error | |||
| 1 | − | − | ||
| 2 | ||||
| 4 | ||||
| 8 | ||||
| 16 | ||||
| 32 | ||||
| 64 | ||||
| Reference option Delta at : . | ||||
| -error | -error | |||
| 1 | − | − | ||
| 2 | ||||
| 4 | ||||
| 8 | ||||
| 16 | ||||
| 32 | ||||
| 64 | ||||
| Reference option Gamma at : . | ||||
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2024 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/).