Next Article in Journal
Neutrosophic Quadruple BCK/BCI-Algebras
Next Article in Special Issue
Refinement Algorithms for Adaptive Isogeometric Methods with Hierarchical Splines
Previous Article in Journal
What Do You Mean by “Nonlinear Eigenvalue Problems”?
Previous Article in Special Issue
Line Integral Solution of Differential Problems
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Efficient BEM-Based Algorithm for Pricing Floating Strike Asian Barrier Options (with MATLAB® Code)

1
Department of Mathematical Physical and Computer Sciences, University of Parma, Parma 43124, Italy
2
Department of Physics Informatics and Mathematics, University of Modena and Reggio Emilia, Modena 41125, Italy
3
Department of Mathematical Physical and Computer Sciences, University of Parma, Parma 43124, Italy
*
Author to whom correspondence should be addressed.
Current address: Parco Area delle Scienze 53/A, 43124 Parma, Italy.
Members of the INdAM-GNCS Research Group. These authors contributed equally to this work.
Axioms 2018, 7(2), 40; https://doi.org/10.3390/axioms7020040
Submission received: 11 May 2018 / Revised: 11 June 2018 / Accepted: 12 June 2018 / Published: 15 June 2018
(This article belongs to the Special Issue Advanced Numerical Methods in Applied Sciences)

Abstract

:
This paper aims to illustrate how SABO (Semi-Analytical method for Barrier Option pricing) is easily applicable for pricing floating strike Asian barrier options with a continuous geometric average. Recently, this method has been applied in the Black–Scholes framework to European vanilla barrier options with constant and time-dependent parameters or barriers and to geometric Asian barrier options with a fixed strike price. The greater efficiency of SABO with respect to classical finite difference methods is clearly evident in numerical simulations. For the first time, a user-friendly MATLAB® code is made available here.

1. Introduction

The pricing of continuously-monitored Asian options is a relevant task from both a mathematical and a financial point of view.
Asian options are quite common derivatives because they provide protection against strong price fluctuations in volatile markets and reduce the possibilities of price manipulations. The payoff of an Asian option depends on the average price of the underlying asset that is less volatile than the asset price itself. In general, Asian options are hence less valuable than their vanilla European counterparts because an option on a lower volatility asset is worth less.
On the other hand, it is more difficult to deal with Asian options than vanilla options because their price depends on the average value assumed by the underlying asset during the option’s life, requiring some mathematical effort in order to describe the dynamics of the average under consideration.
In this paper, Asian options are equipped with a continuously-monitored geometric average [1]. Asian options evaluated with the geometric mean, although not common among practitioners, give some information also about the evaluation of Asian options with the arithmetic mean [2]. From a theoretical point of view, the method illustrated in the paper is extensible to arithmetic Asian options, as well, with slight modification, but from the numerical point of view, there are several problems that we plan to investigate in the near future. Defining the stochastic process
A t : = 0 t log ( S τ ) d τ
then the geometric average is defined as exp A t t . When A and S are written with subscripts (At and St), they are intended as stochastic processes; otherwise, they are considered independent variables in the differential analysis context. The differential problem that describes the price evolution of this option is:
V t + σ 2 2 S 2 2 V S 2 + r S V S + log ( S ) V A - r V = 0 , S R + , A R , t [ 0 , T )
V ( S , A , T ) assigned , S R + , A R .
Wanting to provide a further protection against excessive fluctuations of the strike price, it is possible to apply barriers in the option contract; for example, knock-out barriers make the option cease to exist if the underlying asset reaches a barrier during the life of the option. The model analyzed in this paper concerns an Asian option with an up-and-out barrier at S = B and a floating strike payoff, i.e.,
V t + σ 2 2 S 2 2 V S 2 + r S V S + log ( S ) V A - r V = 0 , S ( 0 , B ) , A R , t [ 0 , T )
V ( S , A , T ) assigned , S ( 0 , B ) , A R
V ( B , A , t ) = 0 , A R , t [ 0 , T )
asymptotic conditions of vanilla option , { ( S , A ) : S = 0 A - A + } ,
with the final condition:
call V ( S , A , T ) = max S - exp A T , 0 or
put V ( S , A , T ) = max exp A T - S , 0 .
The problem (2)–(3) of pricing a floating strike Asian option with a continuous geometric average and without a barrier has a closed-form solution in the domain ( S , A , t ) R + × R × [ 0 , T ) that can be formulated either as the payoff expected value (also known as the Feynman–Kac formula):
V ( S , A , t ) = - + 0 B V ( S ˜ , A ˜ , T ) G ( S , A , t ; S ˜ , A ˜ , T ) d S ˜ d A ˜ ,
with the transition probability density function G associated with the differential operator defined in Equation (4), which is known to be:
G ( S , A , t ; S ˜ , A ˜ , t ˜ ) = 3 H [ t ˜ - t ] π σ 2 ( t ˜ - t ) 2 exp { - 2 σ 2 ( t ˜ - t ) log 2 S S ˜ + 6 σ 2 ( t ˜ - t ) 2 log S S ˜ A - A ˜ + ( t ˜ - t ) log ( S ) - 6 σ 2 ( t ˜ - t ) 3 A - A ˜ + ( t ˜ - t ) log ( S ) 2 - 2 r + σ 2 2 2 σ 2 ( t ˜ - t ) } S ˜ S 2 r - σ 2 2 σ 2 1 S ˜ ,
or (see [3]) through the formula:
V call ( S , A , t ) = S N [ d ] - e A T S T - t T e q N d - σ T T 3 - t 3 3 d = t ( log ( S ) - A t ) + ( r + σ 2 2 ) T 2 - t 2 2 σ T 3 - t 3 3 q = ( t - T ) [ 6 T r ( t + T ) + ( T - t ) ( 2 t + T ) σ 2 ] 12 T 2
for the call option, where N [ · ] is the normal cumulative distribution function, and eventually, the put-call parity:
V call ( S , A , t ) - V put ( S , A , t ) = S - e A T S T - t T e q .
Instead, when applying barriers, no closed-formulas are available. In this context, SABO is a Semi-Analytical method conceived of for the pricing of Barrier Options, and its milestones are resumed in Section 4.1. It is quite a general method, applicable also to fixed strike payoffs [4,5], put options [6], time-dependent parameters [7] and double barriers [8].
SABO is compared here with two Finite Difference (FD) methods chosen among the wide class of numerical methods at our disposal [9]. Equation (4) is proven to be hypo-elliptic [10,11,12], a property that guarantees a smooth solution and should benefit from approximations based on Taylor expansions. Anyway, SABO appears to be certainly more efficient looking at the results below.

2. Results

We have performed several simulations related to the pricing of a geometric call Asian option with a floating strike price and with an up-and-out barrier as modeled by the differential problem (4)–(8). Numerical results, some of which are displayed in the following, have been obtained by the MATLAB® codes implementing the algorithms of SABO, FD1 and FD2 described in Section 4.1, Section 4.2.1 and Section 4.2.2, respectively. In Section 5 the SABO code is provided.
Example 1.
In this example, we use the finance parameters displayed in Table 1. The floating strike call option with an up-and-out barrier at S = 150 = : B is evaluated at t = 0 and A = 0 , truncating the A-domain at A min = 0 and A max = 5 , in accordance with (20) and either (19) or (27).
The approximation by SABO is obtained setting the parameters described in Section 4.1 N t = N A = 20 , and the option value is displayed in Figure 1 as a function of S.
The convergence at S = 100 , 120 , 140 , 148 is shown in Table 2 refining the mesh: at each level, parameters N t and N A are doubled.
The approximation by FD1 is obtained setting the discretization parameters (defined in (17), (18) and (30)) Δ t = 10 - 3 / 2 k , Δ A = 10 - 2 / 2 k and, for the discretization of the asset domain ( 0 , B ) , either Δ S = 2 or Δ S = 1 . The related results are reported in Table 3 and Table 4.
The approximation by FD2 is obtained setting the discretization parameters Δ t = Δ A = 0 . 01 / 2 k and either Δ S = 2 or Δ S = 1 . The results are displayed in Table 5 and Table 6.
Example 2.
In this example, we use the finance parameters displayed in Table 7 and volatility equal to σ = 0 . 2 , 0 . 3 , 0 . 4 . The floating strike call option with an up-and-out barrier at S = 115 = : B is evaluated at t = 0 and A = 0 , truncating the A-domain at A min = 0 and A max = 5 , in accordance with (20) and (19).
The approximation by SABO is obtained setting the parameters described in Section 4.1 N t = N A = 20 and the option value is displayed in Figure 2 as a function of S for the different values of σ (continuous lines), in comparison with the corresponding prices of Asian options without barriers (dotted lines).

3. Discussion

Looking at Example 1, the values of a call option with an up-and-out barrier obtained by SABO and displayed in Figure 1 show that the solution, as expected, assumes lower values than the analogous option without barriers whose closed formula is (12) or that can be computed through the evaluation of the payoff expected value (10). The same behavior is recovered by the two proposed FD methods (FD1 and FD2).
Talking about efficiency and convergence, we have to look at the stabilization of the digits in Table 2, Table 3, Table 4, Table 5 and Table 6 where the option values at S = 100 , 120 , 140 , 148 are written.
SABO, the results of which are written in Table 2, appears to be faster than the FD methods: doubling parameters N t and N A , the CPU time for computation quadruples, but one more digit of accuracy is achieved. The convergence is slower near the barrier because there, the barrier option value is more different from the option value without barriers: the option value without the barrier can be quasi-exactly computed by the Feynman–Kac Formula (10), and therefore, the approximation error introduced by SABO solving the boundary integral Equation (15) related to the barrier case is more involved in representation Formula (14) as the asset nears the barrier (look at (26)).
Comparing Table 3 and Table 4, with an analogous computational time, SABO appears much more accurate and therefore efficient than FD1. Furthermore, note that FD1 is still sensitive to the mesh refinement in the S-domain: to halve Δ S means a significant variation in values of V together with a big increase of the computational costs.
Analyzing Table 5 and Table 6, we observe that FD2 has a superior accuracy compared to FD1 due to its higher order of consistency: approximations of derivatives in the t and A variables are both of second order. Anyway, FD2 is less efficient than SABO, and the coarseness of the S-grid still significantly affects its results. Refinements in the S-grid would result in much longer computational times, no longer comparable with those of SABO.
Looking at Example 2, SABO maintains its robustness varying the volatility values. The solutions displayed in Figure 2 show the property of smoothness proven in [11]. The increase in volatility causes the expected increase in the value of vanilla options, but on the contrary, it implies a diminishing of barrier option values near the barrier.

4. Methods

4.1. SABO

SABO is a Semi-Analytical method for the pricing of Barrier Options. The foundation on which it is based is the integral representation of the solution of the modeling differential problem based on the knowledge of the transition probability density function.
For a problem like that in (4)–(7), it is proven in [4] that the integral representation formula is: ( S , A , t ) ( 0 , B ) × R × [ 0 , T )
V ( S , A , t ) = - + 0 B V ( S ˜ , A ˜ , T ) G ( S , A , t ; S ˜ , A ˜ , T ) d S ˜ d A ˜ + t T - + σ 2 2 B 2 V S ˜ ( B , A ˜ , t ˜ ) G ( S , A , t ; B , A ˜ , t ˜ ) d A ˜ d t ˜
where the transition probability density function G ( S , A , t ; B , A ˜ , t ˜ ) is defined in (11) and associated with the differential operator defined in Equation (4).
Note that in (14), both V ( S , A , t ) and V S ˜ ( B , A ˜ , t ˜ ) are unknown, but, at S = B , the Boundary Condition (6) can be applied giving rise to the Volterra integral equation of the first kind:
0 = V ( B , A , t ) = - + 0 B V ( S ˜ , A ˜ , T ) G ( B , A , t ; S ˜ , A ˜ , T ) d S ˜ d A ˜ + t T - + σ 2 2 B 2 V S ˜ ( B , A ˜ , t ˜ ) G ( B , A , t ; B , A ˜ , t ˜ ) d A ˜ d t ˜
in the unknown V S ˜ ( B , A ˜ , t ˜ ) .
The unknown is approximated by:
V S ˜ ( B , A ˜ , t ˜ ) k = 1 N t h = 1 N A α h ( k ) ψ h ( A ˜ ) φ k ( t ˜ )
having defined piecewise constant basis functions:
φ k ( t ˜ ) : = H [ t ˜ - t k - 1 ] - H [ t ˜ - t k ] , k = 1 , , N t ,
on a uniform time grid:
t k : = k Δ t , k = 0 , , N t , Δ t : = T N t , N t N + ,
and piecewise constant basis functions:
ψ h ( A ˜ ) : = H [ A ˜ - A h - 1 ] - H [ A ˜ - A h ] , h = 1 , , N A ,
on a uniform A-grid over the truncated A-domain [ A min , A max ] :
A h : = A min + h Δ A , h = 0 , , N A , Δ A : = A max - A min N A , N A N + .
A careful choice of A min and A max has to be performed in such a way that the double integral:
t T - + G ( B , A , t ; B , A ˜ , t ˜ ) d A ˜ d t ˜
is rightly approximated by:
t T A min A max G ( B , A , t ; B , A ˜ , t ˜ ) d A ˜ d t ˜ .
By the analysis developed in [5], this results in seeking for A max such that:
- t T exp - ( t ˜ - t ) ( 2 r + σ 2 ) 2 8 σ 2 2 B σ 2 π ( t ˜ - t ) Erf 6 A - A max + ( t ˜ - t ) log ( B ) ( t ˜ - t ) 3 / 2 σ d t ˜ = Erf ( 2 r + σ 2 ) T - t 2 σ 2 B ( 2 r + σ 2 )
and A min such that:
t T exp - ( t ˜ - t ) ( 2 r + σ 2 ) 2 8 σ 2 2 B σ 2 π ( t ˜ - t ) Erf 6 A - A min + ( t ˜ - t ) log ( B ) ( t ˜ - t ) 3 / 2 σ d t ˜ = Erf ( 2 r + σ 2 ) T - t 2 σ 2 B ( 2 r + σ 2 )
with a suitable tolerance. Otherwise, it is possible to consider the whole unbounded A-domain R , but with two infinite basis functions, the first and the last, as investigated in [4].
In order to numerically solve the Volterra integral Equation (15), we convert it into a discrete linear system of equations by means of collocation BEM. Hence we collocate (15) at points:
A ¯ i = A i + A i - 1 2 , i = 1 , , N A t ¯ j = t j + t j - 1 2 , j = 1 , , N t ,
finally obtaining, for i = 1 , , N A , j = 1 , , N t :
t ¯ j T - + σ 2 2 B 2 k = 1 N t h = 1 N A α h ( k ) ψ h ( A ˜ ) φ k ( t ˜ ) G ( B , A ¯ i , t ¯ j ; B , A ˜ , t ˜ ) d A ˜ d t ˜ = - - + 0 B V ( S ˜ , A ˜ , T ) G ( B , A ¯ i , t ¯ j ; S ˜ , A ˜ , T ) d S ˜ d A ˜
i.e., in matrix notation,
A α = F .
The unknown vector is:
α = ( α ( k ) | k = 1 , , N t ) = ( α h ( k ) | h = 1 , , N A ) | k = 1 , , N t ,
and the matrix entries are equal to the case of fixed strike Asian options deeply investigated also from a computational point of view in [4,5]: for i , h = 1 , , N A , j , k = 1 , , N t , define ξ = i - h , ξ = - N A + 1 , , N A - 1 and = k - j , = 0 , , N t - 1 , thus obtaining:
A i h ( j k ) = σ B Δ t 4 2 π 1 2 - 1 2 H [ ] 1 exp - 2 r + σ 2 2 2 σ 2 Δ t ( τ + - 1 / 2 ) Δ t ( τ + - 1 / 2 ) Erf 6 Δ A ( ξ + 1 2 ) + Δ t ( τ + - 1 / 2 ) log ( B ) σ Δ t 3 / 2 ( τ + - 1 / 2 ) 3 / 2 - Erf 6 Δ A ( ξ - 1 2 ) + Δ t ( τ + - 1 / 2 ) log ( B ) σ Δ t 3 / 2 ( τ + - 1 / 2 ) 3 / 2 d τ = : A ξ ( ) .
As we are considering constant coefficients in (4), the fundamental solution (11) depends on t , t ˜ , A , A ˜ only through the differences t - t ˜ and A - A ˜ implying that the matrix has a block-Toeplitz structure both in time and A-space:
A = A ( 0 ) A ( 1 ) A ( 2 ) A ( N t - 1 ) 0 A ( 0 ) A ( 1 ) A ( N t - 2 ) 0 0 A ( 0 ) A ( 1 ) 0 0 0 A ( 0 ) with A ( ) = A 0 ( ) A - 1 ( ) A - 2 ( ) A - N A + 1 ( ) A 1 ( ) A 0 ( ) A - 1 ( ) A - N A + 2 ( ) A 2 ( ) A 1 ( ) A 0 ( ) A - 1 ( ) A N A - 1 ( ) A N A - 2 ( ) A 1 ( ) A 0 ( ) for = 0 , , N t - 1
so it is possible to adopt suitable strategies to save computational costs (as done in [13], even if this feature is not implemented in the code included here) and memory requirements.
A change in the payoff function is caught by the evaluation of the rhs entries: in the case of a floating strike call payoff, for i = 1 , , N A , j = 1 , , N t :
F i ( j ) = - - + 0 B max S ˜ - e A ˜ T , 0 G ( B , A ¯ i , t ¯ j ; S ˜ , A ˜ , T ) d S ˜ d A ˜
= B - 2 r - σ 2 2 σ 2 2 σ 2 π ( T - t ¯ j ) 0 B S ˜ 2 r - 3 σ 2 2 σ 2 + T - t ¯ j 2 T exp - ( T - t ¯ j ) 2 ( 2 r + σ 2 ) 2 + 4 log 2 B S ˜ 8 σ 2 ( T - t ¯ j ) - S ˜ 1 - T - t ¯ j 2 T Erfc 3 2 2 A ¯ i + 2 ( T - t ¯ j ) log ( B ) - 2 T log ( S ˜ ) - ( T - t ¯ j ) log ( B S ˜ ) σ ( T - t ¯ j ) 3 2 + B T - t ¯ j 2 T exp A ¯ i T + σ 2 ( T - t ¯ j ) 3 24 T 2 Erfc 12 T A ¯ i + σ 2 ( T - t ¯ j ) 3 - 6 T - 2 ( T - t ¯ j ) log ( B ) + 2 T log ( S ˜ ) + ( T - t ¯ j ) log ( B S ˜ ) 2 6 T σ ( T - t ¯ j ) 3 2 d S ˜ ,
with Erfc the complementary of error function Erf .
The approximation of V S ˜ ( B , A ˜ , t ˜ ) through the resolution of (21) is an intermediate step for the final evaluation of the option price by (14):
V ( S , A , t ) - S - 2 r - σ 2 2 σ 2 2 σ 2 π ( T - t ) 0 B S ˜ 2 r - 3 σ 2 2 σ 2 + T - t 2 T exp - ( T - t ) 2 ( 2 r + σ 2 ) 2 + 4 log 2 S S ˜ 8 σ 2 ( T - t ) - S ˜ 1 - T - t 2 T Erfc 3 2 2 A + 2 ( T - t ) log ( S ) - 2 T log ( S ˜ ) - ( T - t ) log ( S S ˜ ) σ ( T - t ) 3 2 + S T - t 2 T exp A T + σ 2 ( T - t ) 3 24 T 2 Erfc 12 T A + σ 2 ( T - t ) 3 - 6 T - 2 ( T - t ) log ( S ) + 2 T log ( S ˜ ) + ( T - t ) log ( S S ˜ ) 2 6 T σ ( T - t ) 3 2 d S ˜ + σ B 4 2 π B S 2 r - σ 2 2 σ 2 k = floor [ t Δ t ] + 1 N t h = 1 N A α h ( k ) max ( t , t k - 1 ) t k 1 t ˜ - t exp - ( t ˜ - t ) 2 ( 2 r + σ 2 ) 2 + 4 log 2 S B 8 ( t ˜ - t ) σ 2 Erf 3 2 2 ( A h - A ) - 2 ( t ˜ - t ) log ( S ) + ( t ˜ - t ) log S B ( t ˜ - t ) 3 / 2 σ - Erf 3 2 2 ( A h - 1 - A ) - 2 ( t ˜ - t ) log ( S ) + ( t ˜ - t ) log S B ( t ˜ - t ) 3 / 2 σ d t ˜ .

4.2. Finite Difference Methods

SABO is compared here (as in [5]) with two Finite Difference (FD) methods chosen among the wide class of FD methods available and deeply analyzed in [14]. This is because Equation (4) is proven to be hypoelliptic [10,11,12], a property that guarantees a smooth solution and that should benefit from approximations based on Taylor expansions.
The existence of the solution of Problem (4)–(5) and its Feynman–Kac representation (10) are proven involving stochastic arguments without the need for exact boundary conditions. Boundary conditions at S = 0 and for A ± have to be empirically deduced analogously to what was done in [5,15]. At S = B , Condition (6) holds.
In order to apply FD methods, the first step is to shrink to a bounded domain [ 0 , B ] × [ A min , A max ] enclosing the option evaluation point ( S * , A * ) and then apply boundary conditions at the borders.
  • We have chosen A min less than or equal to the minimum between the value suggested in (20) and A * . There is not a consistent condition valid at A = - in finance, and as a consequence, it is not easy to conceive of a proper condition at points ( S , A min , t ) . The use of the upwind method makes this condition unnecessary if log ( S ) > 0 (as in the herein proposed examples). In fact, V A is approximated by a forward difference so that the boundary condition at A min becomes useless; otherwise, if log ( S ) < 0 , a backward difference can be considered together with a condition on the derivative at A = A min , as for example 2 V A 2 ( S , A min , t ) = 0 .
  • The upper bound is set at:
    A max = T log ( B ) ,
    the maximum value assumed by the stochastic process A t defined in (1) if S t = B during the whole time interval [ 0 , T ] .
    The average exp ( A / T ) is a non-decreasing function of time; therefore, if exp ( A / t ) - B > 0 at time t, then exp ( A / T ) - B > 0 at maturity, and so, the option is worth nothing as shown by the Payoff Function (8). Hence, if log ( S ) > 0 , V A is approximated by a forward difference and the boundary condition at A max is set:
    V ( S , A max , t ) = 0 .
  • At S = 0 , Equation (4) is degenerate, but if the stochastic process S t = 0 at any time, then the average asset price exp ( A t / t ) = c o n s t a n t and the option value V can be considered as independent of stochastic variables S and A, deducing from Equation (4) that:
    lim S 0 V t + σ 2 2 S 2 2 V S 2 + r S V S + log ( S ) V A - r V = lim S 0 V t - r V = 0 .
    The ordinary differential equation:
    lim S 0 V t - r V = 0
    suggests the condition:
    lim S 0 V ( S , A , t ) = e - r ( T - t ) lim S 0 V ( S , A , T ) = 0 .
The second step, after the definition of the computational domain, is the definition of the grid. Using a ( A , t ) -grid as defined by (17) and (18) in [ A min , A max ] × [ 0 , T ] , let us further introduce the S-grid in [ 0 , B ] :
Δ S : = B N S , N S N + , S i : = i Δ S , i = 0 , , N S
and define the approximated option value:
V i , h k : V ( S i , A h , t k ) .
  • The values V i h N t can be found from the final condition:
    V i , h N t = V ( S i , A h , T ) , i = 0 , , N S - 1 , h = 0 , , N A ;
  • in the herein proposed examples, log ( S i ) > 0 , so everywhere, we apply a forward difference and, at the boundary A = A max , Condition (28):
    V i , N A k = 0 for k = 0 , , N t - 1 , i = 0 , , N S - 1 ;
  • at the boundary S = 0 , we apply Condition (29):
    V 0 , h k = 0 h = 0 , , N A - 1 , k = 0 , , N t - 1 ;
  • at the boundary S = B , we apply the Boundary Condition (6), hence:
    V N S , h k = 0 , h = 0 , , N A , k = 0 , , N t .

4.2.1. Finite Difference Method FD1

The first scheme FD1 is the very classical FD scheme where the derivatives of V in (4) are approximated by truncations of Taylor expansions:
  • first order backward difference for the time derivative approximation:
    V t ( S i , A h , t k ) = V i , h k - V i , h k - 1 Δ t + O ( Δ t )
  • second order central difference for the S derivative approximation:
    V S ( S i , A h , t k ) = V i + 1 , h k - V i - 1 , h k 2 Δ S + O ( Δ S 2 )
  • second order central difference for the S second order derivative approximation:
    2 V S 2 ( S i , A h , t k ) = V i + 1 , h k - 2 V i , h k + V i - 1 , h k Δ S 2 + O ( Δ S 2 )
  • if log ( S i ) > 0 , first order forward difference for the A derivative approximation:
    V A ( S i , A h , t k ) = V i , h + 1 k - V i , h k Δ A + O ( Δ A )
We can now write down the discrete approximation of (4) at each point ( S i , A h , t k ) :
for i = 1 , , N S - 1 , h = 0 , , N A - 1 , k = 0 , , N t - 1 ,
V i , h k - V i , h k - 1 Δ t + 1 2 σ 2 S i 2 V i + 1 , h k - 2 V i , h k + V i - 1 , h k Δ S 2 + r S i V i + 1 , h k - V i - 1 , h k 2 Δ S + log ( S i ) V i , h + 1 k - V i , h k Δ A - r V i , h k = 0
and rearrange the scheme in a compact form:
V i , h k - 1 = a i V i , h k + b i V i + 1 , h k + c i V i - 1 , h k + d i V i , h + 1 k
where:
a i = 1 - Δ t r + σ 2 i 2 + log ( S i ) Δ A , b i = Δ t 2 r i + σ 2 i 2 , c i = Δ t 2 - r i + σ 2 i 2 , d i = Δ t Δ A log ( S i ) .
It is easy to see that the scheme, backward computing the new value V i , h k - 1 , is explicit in time.
We want to remark about two more things: first, the weights depend only on i, therefore on the S variable, and second, the values V i , 0 k having A min as the coordinate give no contribution to the scheme.

4.2.2. Finite Difference Method FD2

The method FD2 is suggested in [16]. The PDE (4) is collocated at the points:
( S i , A h + 1 2 , t k + 1 2 ) : = S i , A h + Δ A 2 , t k + Δ t 2 .
Then, we use the following approximations, based on suitable Taylor expansions and standard finite difference approximations:
V t ( S i , A h + 1 2 , t k + 1 2 ) = 1 2 V t ( S i , A h , t k + 1 2 ) + V t ( S i , A h + 1 , t k + 1 2 ) + O ( Δ A 2 ) = V i , h k + 1 - V i , h k 2 Δ t + V i , h + 1 k + 1 - V i , h + 1 k 2 Δ t + O ( Δ t 2 + Δ A 2 ) ,
V S ( S i , A h + 1 2 , t k + 1 2 ) = 1 2 V S ( S i , A h + 1 , t k + 1 ) + V S ( S i , A h , t k ) + O ( Δ t 2 + Δ A 2 ) = V i + 1 , h + 1 k + 1 - V i - 1 , h + 1 k + 1 4 Δ S + V i + 1 , h k - V i - 1 , h k 4 Δ S + O ( Δ t 2 + Δ A 2 + Δ S 2 ) ,
2 V S 2 ( S i , A h + 1 2 , t k + 1 2 ) = 1 2 2 V S 2 ( S i , A h + 1 , t k + 1 ) + 2 V S 2 ( S i , A h , t k ) + O ( Δ t 2 + Δ A 2 ) = V i - 1 , h + 1 k + 1 - 2 V i , h + 1 k + 1 + V i + 1 , h + 1 k + 1 2 Δ S 2 + V i - 1 , h k - 2 V i , h k + V i + 1 , h k 2 Δ S 2 + O ( Δ t 2 + Δ A 2 + Δ S 2 ) ,
V ( S i , A h + 1 2 , t k + 1 2 ) = 1 2 V i , h k + V i , h + 1 k + 1 + O ( Δ t 2 + Δ A 2 ) ,
V A ( S i , A h + 1 2 , t k + 1 2 ) = 1 2 V A ( S i , A h + 1 2 , t k + 1 ) + V A ( S i , A h + 1 2 , t k ) + O ( Δ t 2 ) = V i , h + 1 k + 1 - V i , h k + 1 2 Δ A + V i , h + 1 k - V i , h k 2 Δ t + O ( Δ t 2 + Δ A 2 ) .
After substituting the above approximations into the PDE and discarding the error terms, we get the following equations for the approximate values of the option prices:
a ¯ i V i - 1 , h k + b ¯ i V i , h k + c ¯ i V i + 1 , h k = d ¯ i V i - 1 , h + 1 k + 1 + e ¯ i V i , h + 1 k + 1 + f ¯ i V i + 1 , h + 1 k + 1 + g ¯ i ( V i , h + 1 k - V i , h k + 1 )
where, using the notation λ = Δ t Δ S 2 :
a ¯ i = λ 2 - S i 2 σ 2 + r S i Δ S , b ¯ i = 1 + λ S i 2 σ 2 + log ( S i ) Δ t Δ A + r Δ t , c ¯ i = - λ 2 S i 2 σ 2 + r S i Δ S , d ¯ i = - a i , e ¯ i = 1 - λ S i 2 σ 2 + log ( S i ) Δ t Δ A - r Δ t , f ¯ i = - c i , g ¯ i = - 1 + log ( S i ) Δ t Δ A .
The procedure for solving the option pricing equation is as follows:
(1)
Fill the values V i , h N t , i = 0 , , N S , h = 0 , , N A using the payoff function.
(2)
For each k = N t - 1 : - 1 : 0 :
(a)
Apply the boundary condition at A = A max to define V i , N A k , for i = 0 , , N S .
(b)
For each h = N A - 1 : - 1 : 0 , solve for the three-diagonal system in the unknowns the values V i , h k , for i = 1 , , N S - 1 , using the boundary condition at S = 0 and S = B .
This is a time-explicit difference scheme, as well. If we need the option price only at t = 0 , then it is not necessary to store the full matrix V of approximate option prices; in fact, we need only two levels, say V o l d corresponding to t = t k + 1 and V n e w corresponding to the current time level t = t k . At the beginning, V o l d is computed using the final condition, and at the end of each time step, the values of V n e w are copied to V o l d . Anyway, it requires the resolution of a linear system: the three-diagonal matrix M = d i a g ( a ¯ , b ¯ , c ¯ ) can be assembled and factorized at the beginning, outside the cycles, depending only on the S-grid.

5. MATLAB® Code Implementing SABO

All the above-provided numerical results were obtained by codes developed with MATLAB® Release 2007b running on a laptop computer (CPU Intel i5, 4 Gb RAM). The code implementing the SABO algorithm is given below.
Axioms 07 00040 i001aAxioms 07 00040 i001bAxioms 07 00040 i001cAxioms 07 00040 i001dAxioms 07 00040 i001e

Author Contributions

The Authors equally contributed to this work.

Acknowledgments

The dissemination of this research was supported by the INdAM-GNCS group (Italian National Group of Scientific Computing).

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Hull, J. Options, Futures, and Other Derivatives, 8th ed.; Pearson-Prentice Hall: Upper Saddle River, NJ, USA, 2011. [Google Scholar]
  2. Boyle, P.; Potapchik, A. Prices and sensitivities of Asian options: A survey. Insur. Math. Econ. 2008, 42, 189–211. [Google Scholar] [CrossRef]
  3. Cao, G.; Wang, Y. Risk-neutral pricing for geometric average Asian options with floating strike. J. Chin. Acad. Sci. 2015, 32, 13–17. [Google Scholar]
  4. Aimi, A.; Guardasoni, C. Collocation Boundary Element Method for the pricing of Geometric Asian Options. Eng. Anal. Bound. Elem. 2017, 92, 90–100. [Google Scholar] [CrossRef]
  5. Aimi, A.; Diazzi, L.; Guardasoni, C. Numerical Pricing of Geometric Asian Options with Barriers. Math. Methods Appl. Sci. 2018, submitted. [Google Scholar]
  6. Guardasoni, C.; Sanfelici, S. A Boundary Element approach to barrier option pricing in Black-Scholes framework. Int. J. Comput. Math. 2016, 93, 696–722. [Google Scholar] [CrossRef]
  7. Guardasoni, C. Semi-Analytical method for the pricing of Barrier Options in case of time-dependent parameters (with Matlab codes). Commun. Appl. Ind. Math. 2018, 9, 42–67. [Google Scholar] [CrossRef]
  8. Ballestra, L.; Pacelli, G. A boundary element method to price time-dependent double barrier options. Appl. Math. Comput. 2011, 218, 4192–4210. [Google Scholar] [CrossRef]
  9. Wilmott, P. On Quantitative Finance; John Wiley and Sons: Hoboken, NJ, USA, 2000. [Google Scholar]
  10. Barucci, E.; Polidoro, S.; Vespri, V. Some results on partial differential equations and Asian options. Math. Model. Methods Appl. Sci. 2001, 11, 475–497. [Google Scholar] [CrossRef]
  11. Polidoro, S. Uniqueness and representation theorems for solutions of Kolmogorov-Fokker-Planck equations. Rendiconti di Matematica e delle sue Applicazioni 1995, 15, 535–560. [Google Scholar]
  12. Hörmander, L. Hypoelliptic second order differential equations. Acta Math. 1967, 119, 147–171. [Google Scholar] [CrossRef]
  13. Aimi, A.; Diligenti, M.; Guardasoni, C. Energetic BEM for the numerical solution of 2D hard scattering problems of damped waves by open arcs. Springer INdAM Series 2018, accepted. [Google Scholar]
  14. Hugger, J. A fixed strike Asian option and comments on its numerical solution. ANZIAM J. 2004, 45, C215–C231. [Google Scholar] [CrossRef]
  15. Hugger, J. Wellposedness of the boundary value formulation of a fixed strike Asian option. J. Comput. Appl. Math. 2006, 185, 460–481. [Google Scholar] [CrossRef]
  16. Kangro, R. Lecture Notes on Computational Finance; Technical Report; University of Tartu: Tartu, Estonia, 2011. [Google Scholar]
Figure 1. Semi-Analytical method for Barrier Option (SABO) approximation of a call up-and-out geometric Asian option with a floating strike and the data in Table 1.
Figure 1. Semi-Analytical method for Barrier Option (SABO) approximation of a call up-and-out geometric Asian option with a floating strike and the data in Table 1.
Axioms 07 00040 g001
Figure 2. SABO approximation of a call up-and-out geometric Asian option with a floating strike, the data in Table 7 and various values of σ (continuous lines) compared with the corresponding prices of Asian options without barriers (dotted lines).
Figure 2. SABO approximation of a call up-and-out geometric Asian option with a floating strike, the data in Table 7 and various values of σ (continuous lines) compared with the corresponding prices of Asian options without barriers (dotted lines).
Axioms 07 00040 g002
Table 1. Floating strike up-and-out call option data.
Table 1. Floating strike up-and-out call option data.
BTr σ
15010.0350.2
Table 2. V ( S , 0 , 0 ) evaluated by SABO at S = 100 , 120 , 140 , 148 .
Table 2. V ( S , 0 , 0 ) evaluated by SABO at S = 100 , 120 , 140 , 148 .
N t = N A S = 100 S = 120 S = 140 S = 148 Elapsed Time (s)
204.40592.10780.27710.04419.0 × 10 0
404.43392.27280.38140.06323.1 × 10 1
804.43352.35060.46830.08071.3 × 10 2
1604.43342.36000.48540.08435.1 × 10 2
3204.43332.36160.48820.08492.2 × 10 3
6404.43332.36190.48870.08501.0 × 10 4
Table 3. V ( S , 0 , 0 ) evaluated by FD1at S = 100 , 120 , 140 , 148 , with Δ S = 2 .
Table 3. V ( S , 0 , 0 ) evaluated by FD1at S = 100 , 120 , 140 , 148 , with Δ S = 2 .
k S = 100 S = 120 S = 140 S = 148 Elapsed Time (s)
15.83853.67880.99330.18346.9 × 10 0
25.20003.09510.77290.14053.3 × 10 1
34.83422.75110.64120.11481.5 × 10 2
44.63602.56100.56730.10045.3 × 10 2
54.53242.46050.52780.09262.1 × 10 3
64.47942.40870.50730.08868.5 × 10 3
74.45262.38240.49680.08664.1 × 10 4
Table 4. V ( S , 0 , 0 ) evaluated by FD1 at S = 100 , 120 , 140 , 148 , with Δ S = 1 .
Table 4. V ( S , 0 , 0 ) evaluated by FD1 at S = 100 , 120 , 140 , 148 , with Δ S = 1 .
k S = 100 S = 120 S = 140 S = 148 Elapsed Time (s)
15.84273.68150.99460.18371.9 × 10 1
25.20473.09850.77440.14087.7 × 10 1
34.83922.75500.64290.11512.8 × 10 2
44.64132.56510.56910.10071.1 × 10 3
54.53802.46480.52960.09304.4 × 10 3
64.45512.41310.50920.08902.2 × 10 4
74.45832.38690.49880.08709.5 × 10 4
Table 5. V ( S , 0 , 0 ) evaluated by FD2 at S = 100 , 120 , 140 , 148 , with Δ S = 2 .
Table 5. V ( S , 0 , 0 ) evaluated by FD2 at S = 100 , 120 , 140 , 148 , with Δ S = 2 .
k S = 100 S = 120 S = 140 S = 148 Elapsed Time (s)
14.66072.52500.50160.08539.8 × 10 0
24.47962.38740.48060.08263.7 × 10 1
34.43942.36400.48450.08401.5 × 10 2
44.42962.35870.48610.08446.0 × 10 2
54.42692.35700.48640.08452.4 × 10 3
64.42612.35640.48640.08451.0 × 10 4
Table 6. V ( S , 0 , 0 ) evaluated by FD2 at S = 100 , 120 , 140 , 148 , with Δ S = 1 .
Table 6. V ( S , 0 , 0 ) evaluated by FD2 at S = 100 , 120 , 140 , 148 , with Δ S = 1 .
k S = 100 S = 120 S = 140 S = 148 Elapsed Time (s)
14.66572.52870.50340.08572.8 × 10 1
24.48532.39180.48260.08311.2 × 10 2
34.44522.36850.48650.08444.5 × 10 2
44.43542.36320.48810.08481.9 × 10 3
54.43272.36160.48840.08497.6 × 10 3
64.43182.36090.48840.08494.8 × 10 4
Table 7. Floating strike up-and-out call option data.
Table 7. Floating strike up-and-out call option data.
BTr
11510.08

Share and Cite

MDPI and ACS Style

Aimi, A.; Diazzi, L.; Guardasoni, C. Efficient BEM-Based Algorithm for Pricing Floating Strike Asian Barrier Options (with MATLAB® Code). Axioms 2018, 7, 40. https://doi.org/10.3390/axioms7020040

AMA Style

Aimi A, Diazzi L, Guardasoni C. Efficient BEM-Based Algorithm for Pricing Floating Strike Asian Barrier Options (with MATLAB® Code). Axioms. 2018; 7(2):40. https://doi.org/10.3390/axioms7020040

Chicago/Turabian Style

Aimi, Alessandra, Lorenzo Diazzi, and Chiara Guardasoni. 2018. "Efficient BEM-Based Algorithm for Pricing Floating Strike Asian Barrier Options (with MATLAB® Code)" Axioms 7, no. 2: 40. https://doi.org/10.3390/axioms7020040

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop