Next Article in Journal
DBTMPE: Deep Bidirectional Transformers-Based Masked Predictive Encoder Approach for Music Genre Classification
Next Article in Special Issue
An Intuitive Introduction to Fractional and Rough Volatilities
Previous Article in Journal / Special Issue
Markovian Approximation of the Rough Bergomi Model for Monte Carlo Option Pricing
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

SWIFT Calibration of the Heston Model

1
Trading Department, Xanadu Trading Limited, 08011 Barcelona, Spain
2
Department of Econometrics, Statistics and Applied Economics, University of Barcelona, 08034 Barcelona, Spain
*
Author to whom correspondence should be addressed.
Mathematics 2021, 9(5), 529; https://doi.org/10.3390/math9050529
Submission received: 5 February 2021 / Revised: 23 February 2021 / Accepted: 25 February 2021 / Published: 3 March 2021
(This article belongs to the Special Issue Application of Stochastic Analysis in Mathematical Finance)

Abstract

:
In the present work, the SWIFT method for pricing European options is extended to Heston model calibration. The computation of the option price gradient is simplified thanks to the knowledge of the characteristic function in closed form. The proposed calibration machinery appears to be extremely fast, in particular for a single expiry and multiple strikes, outperforming the state-of-the-art method we compare it with. Further, the a priori knowledge of SWIFT parameters makes a reliable and practical implementation of the presented calibration method possible. A wide range of stress, speed and convergence numerical experiments is carried out, with deep in-the-money, at-the-money and deep out-of-the-money options for very short and very long maturities.

1. Introduction

The Heston model is a well-known stochastic volatility (SV) model for driving the dynamics of the assets. In order to use the Heston model, we need to calibrate its five parameters to real-market data. The goal of calibrating a model using market data is to estimate the model parameters in such a way that, when it is used for option valuation with an appropriate option valuation method, it yields prices similar to the real market ones. Calibration is an important task that requires efficient numerical methods. It encompasses machinery for option pricing as well as an optimization procedure, aiming at minimizing the differences between the market option prices and the prices given by the valuation method. Regarding the pricing, we use the SWIFT method presented in [1] for European options. This belongs to the class of Fourier inversion methods and has already been used for pricing Bermudan, barrier and Asian options (see [2,3]). The power of the SWIFT method partly relies on the knowledge of the characteristic function (ChF) in analytical form. Since the ChF associated with the Heston model is known in closed form, we can tackle the optimization problem by means of the gradient-based Levenberg–Marquardt (LM) algorithm [4]. For sake of comparison, we consider the state-of-the-art calibration method of [5], which is based on the Fourier inversion pricing method of [6], and it also uses the LM optimization algorithm. The main contributions of this work are the following:
  • We extend the SWIFT method to the calibration problem by deriving the option price gradient;
  • We implement and test the speeding-up techniques mentioned in [1] based on multiple strike valuation;
  • We propose a novel method for calibrating the Heston model with a set of options with certain fixed strikes that can be later used for arbitrary strikes by interpolation;
  • We develop and implement speeding up techniques for the option price gradient.
We carry out a wide variety of stress, speed and convergence tests with at-the-money (ATM), deep in-the-money (ITM) and deep out-the-money (OTM) options, ranging from very short to very long maturities. The results show that SWIFT is extremely fast for sets of options with a single expiry and different strikes, being about ten times faster than the calibration method of [5]. For options with a fixed number of maturities and a fixed number of strikes per maturity, both methods perform similarly in terms of speed, with the SWIFT method being more robust, thanks to the possibility of selecting the parameters of the pricing machinery a priori. This last feature makes the SWIFT method a reliable and practical methodology for the real-time updating of Heston model calibration.
The paper is organized as follows. We define the calibration and the valuation problem in Section 1. The Heston model, the valuation method of [5] and the calibration challenges are presented in Section 2. Section 3 is devoted to the SWIFT method and its speeding up features. In Section 4, we put forward the calibraton problem with all the mathematical details, and we test our proposed method through the numerical experiments of Section 5. Section 6 concludes and gives some pointers for future research.

1.1. Option Valuation

The option valuation will be tackled under the framework of the expected discounted payoff pricing formula that we recall next. Consider a European option contract with strike price K, expiring at time T, with τ : = T t the time to maturity, and S t the price of its underlying asset at time t. Then, if one considers state variables x and y, which fully describe S t and the random variable S T , respectively, the general pricing formula becomes
v ( x , t ) = e r τ E Q ( v ( y , T ) | x ) = e r τ R v ( y , T ) f ( y | x ) d y ,
where v ( x , t ) denotes the option value at time t, v ( y , T ) is the payoff, r the risk-neutral interest rate, E Q the expectation under the risk-neutral measure, and f ( y | x ) is the probability density of y given x. A common choice for the state variables x and y is to define
y = ln S T K ,
x = ln S t K .
More precisely, given the states variables’ choice, we can express the payoff of a European option in log-asset price as
v ( y , T ) = α · K e y 1 + : = K · g ( y ) , with , α = 1 , for a call , 1 , for a put ,
where g ( y ) : = max α e y 1 , 0 denotes the strike-free payoff.

2. Heston Dynamics and Calibration Issues

The widely used Black and Scholes (BS) model fails to capture essential well-known properties of the real-world market dynamics of the underlying return distributions, such as its high kurtosis, its negative skew, the correlation between the underlying price and its volatility, the risk premium investors give deep (ITM) or (OTM) options, etc. All these properties result in the well-known BS implied volatility surface. SV models treat both the underlying price and its volatility as (potentially correlated) stochastic processes, which helps to better capture some of these properties. One of the first and most well-known SV models is the Heston model [6], defined by the following system of stochastic differential equations.
Definition 1.
The Heston model price–volatility dynamics are defined by
d S t = μ S t d t + ν t S t d W t ( 1 ) , d ν t = κ ( ν ¯ ν t ) d t + σ ν t d W t ( 2 ) ,
where W t ( 1 ) and W t ( 2 ) are two correlated Wiener processes d W t ( 1 ) d W t ( 2 ) = ρ d t and ν t is the variance of the underlying asset price at time t. Then, if one specifies the initial value of the variance ν 0 , the model is properly defined. From now on, θ : = ( ν 0 , ν ¯ , ρ , κ , σ ) T will refer to the vector of model parameters.
Several works have shown the relationship between the Heston model parameters and the shape of the implied volatility surface [7,8,9,10] necessary to obtain the same prices with a BS model. It can be summarized as follows:
  • ν 0 controls the position of the volatility surface;
  • ρ controls its skewness;
  • κ and σ control the convexity of the surface;
  • κ ( ν 0 ν ¯ ) controls the term structure of implied volatility.
A method for calibrating the Heston model is presented in [5]. This method starts from the expression of the price of a European call option presented in the original work by Heston [6], and it is adapted here in terms of the state variables x and y defined in Section 1.1
v ( x , τ ) = K e x P 1 ( θ ; x , τ ) K e r τ P 2 ( θ ; x , τ ) ,
where P 1 and P 2 are defined as
P 1 ( θ ; x , τ ) = 1 2 + 1 π 0 Re e i u x i u f ^ ( u + i ) d u ,
P 2 ( θ ; x , τ ) = 1 2 + 1 π 0 Re e i u x i u f ^ ( u ) d u ,
and f ^ ( u ) is the initial state independent ChF of the process. It is worth remarking that, as we will see in Section 3, the SWIFT method will benefit from the fact that the ChF f ^ ( u ) does not depend on the initial state variable.
Remark 1.
The dependence of the ChF on time and the model parameters is omitted for readability.
Remark 2.
The expression (5) omits the dividend yield term q, which appears in [5] but is assumed to be 0 here for readability. The results presented here are valid for any constant value q.
Remark 3.
Typically, the ChF of a random variable with density function f is defined as f ˜ ( u ) = R f ( x ) e i u x d x . However, to be consistent with [1], it is defined in this work as f ^ ( u ) = R f ( x ) e i u x d x . We can see that there is a sign difference in all the u-dependent equations and expressions in [5].
We write expression (5) in a more compact form in the following lemma
Lemma 1
(Heston’s pricing method). Let V ( θ ; x , τ ) be the price of a European call option with strike K and Heston dynamics, given by expression (5). If we define f ^ ( u ; x ) = e i u x f ^ ( u ) , then
V ( θ ; x , τ ) = K 1 2 e x e r τ + e r τ π 0 Re f ^ ( u + i ; x ) f ^ ( u ; x ) i u d u .
Proof. 
Having into account that S t / K = e log ( S t / K ) = e x then, from expression (5)–(7) we have
V ( θ ; x , τ ) = K 1 2 e x e r τ + K e r τ π 0 Re e i ( u i ) x i u f ^ ( u + i ) d u 0 Re e i u x i u f ^ ( u ) d u .
Finally, since f ^ ( u ; x ) = e i u x f ^ ( u ) , then the result follows. □

2.1. Calibration Challenges

As opposed to simpler one-dimensional models, Heston model calibration is a multidimensional optimization problem with five degrees of freedom given by θ : = ( ν 0 , ν ¯ , ρ , κ , σ ) T . Furthermore, the structure of this optimization problem is not known. According to [5], no consensus exists among researchers regarding whether the objective function of this optimization problem is convex or not. Some results point to a non-convex function, such as the calibration methods proposed in [11,12] (which yielded different results for different initial points) and one must use long- or short-term approximations and rules to provide a convenient initial guess. Recent research [13] claims to provide methods that reach a unique solution independently of the initial point which, according to that study, indicates some structure that, even if not necessarily convex, tends to lead an initial guess to a stationary result. There is also no consensus on whether the problem always has a single optimum. In particular, it is known that there exist dependencies between the parameters that yield similar results. For example, lim t Var ( ν t ) = σ 2 ν ¯ κ (where Var ( · ) refers to the variance operator), so large values of κ and σ can provide a model that prices options similarly to one with proportionally smaller values of these two parameters. The work by [5] claims that this results in the objective function of the optimization problem being flat close to the optimum.
As said above, there is no guarantee that a gradient-based method converges to the global optimum of the model parameters, but even obtaining a local optimum has traditionally been difficult. Many papers in the literature use numerical gradients (see [13]) for these methods when trying to solve the Heston calibration problem (which are less accurate and more computationally consuming), because no simple analytical gradients were available and the ones obtained with symbolic algebra packages from the expressions of the ChF were intractable. Prior to [5], the existing methods could be summarized as follows:
  • Heuristic based models. Using the relationships outlined above, some works reduce the dimension of the optimization problem by assuming some values or relationships between the parameters from the observation of a specific volatility surface. For example, [8] sets ν 0 to the short-term ATM implied variance, obtained by using a BS model, a heuristic further justified by [11], where the linearity between ν 0 and the BS implied volatility was verified for short maturities (less than 2 months). Other heuristics used in the industry are κ = 2.75 τ and setting ν ¯ to the BS short-term volatility [7]. These assumptions may restrict the optimization problem domain and exclude the optimum;
  • Stochastic methods. They are typically used in combination with deterministic search methods, such as the Nelder–Mead simplex method [14] and avoid the pitfalls of the gradient-based methods if the optimization problem is not convex. Some examples are used in [11], and differential evolution and particle swar are used in [15]. These methods are too computationally expensive for real-time use as [16], which employs GPU computations to calibrate options using an SV model called SABR, and it took 421.72 s to calibrate 12 instruments with a tolerance of 10 2 using 2 NVIDIA Geforce GTX470 GPUs.
In this work, we consider the analytical expression for the ChF provided in [5].

2.2. The Characteristic Function

For long-term maturities, [17] shows that the original ChF provided in [6] has discontinuities as u increases, which can lead to numerical problems. The source of these discontinuities was discussed in [18], and an alternative expression which was continuous in the full parameter space was presented in [19]. A more compact version of the ChF was later derived in [20] from the moment-generating function of the process. This expression has the benefit of having simpler analytical expressions of the gradient of the ChF than in previous expressions, but it also presents discontinuities as u increases. Finally, an expression with both simple derivatives and continuity in the full-parameter domain was provided in [5]
f ^ ( u ) = exp i u r τ + κ ν ¯ ρ τ i u σ A + 2 κ ν ¯ σ 2 D ,
where
ξ : = κ + σ ρ i u , d : = ξ 2 + σ 2 u 2 i u , A 1 : = u 2 i u sinh d τ 2 , A 2 : = d ν 0 cosh d τ 2 + ξ ν 0 sinh d τ 2 , A : = A 1 A 2 , B : = d e κ τ / 2 ν 0 A 2 , D : = log d ν 0 + ( κ d ) τ 2 log d + ξ 2 ν 0 + d ξ 2 ν 0 e d τ .
Further, its gradient with respect to the Heston model parameters θ = ( ν 0 , ν ¯ , σ , κ , ρ ) T is given by
f ^ ( u ) = h ( u ) f ^ ( u ) ,
with h ( u ) = [ h ν 0 ( u ) , h ν ¯ ( u ) , h σ ( u ) , h κ ( u ) , h ρ ( u ) ] T and
h ν 0 ( u ) = A ν 0 , h ν ¯ ( u ) = 2 κ σ 2 D + κ ρ τ i u σ , h σ ( u ) = A ρ + 2 κ ν ¯ σ 2 d d ρ d A 2 A 2 ρ + κ ν ¯ τ i u σ , h κ ( u ) = 1 σ i u A ρ + 2 ν ¯ σ 2 D + 2 κ ν ¯ σ 2 B B κ + ν ¯ ρ τ i u σ , h ρ ( u ) = A σ 4 κ ν ¯ σ 3 D + 2 κ ν ¯ σ 2 d d σ d A 2 A 2 σ κ ν ¯ ρ τ i u σ 2 ,
where the partial derivatives of A, A 2 , B, and d are given in [5] and can be seen in Appendix A.

3. European Option Valuation and Calibration with SWIFT

In this section, we give a brief overview on the SWIFT method, originally developed for pricing European options in [1]. In this work, the method will be extended to European options’ calibration. For sake of completeness, a section is devoted to the basic theory on Shannon wavelets.

3.1. Multi-Resolution Analysis and Shannon Wavelets

Consider the space of square-integrable functions, denoted by L 2 ( R ) , where
L 2 ( R ) = f : + f ( x ) 2 d x < .
Then, we can define a useful structure for function approximation called multi-resolution analysis (MRA). Let us start with a family of closed nested subspaces in L 2 ( R )
V 2 V 1 V 0 V 1 V 2 ,
where
m Z V m = { 0 } , m Z V m ¯ = L 2 ( R ) ,
and
f ( x ) V m f ( 2 x ) V m + 1 .
If these conditions are met, then there exists a function ϕ V 0 , known as scaling function, that generates a family of orthonormal bases of V m , denoted { ϕ m , k } k Z
ϕ m , k ( x ) = 2 m / 2 ϕ ( 2 m x k ) .
These families allow one to approximate any f L 2 ( R ) with increasing resolution by means of the projection map P m : L 2 ( R ) V m
P m f ( x ) = k Z D m , k ϕ m , k ( x ) ,
where D m , k = f , ϕ m , k , f , g = R f ( x ) g ( x ) ¯ d x , and · ¯ is the complex conjugate operator.
Increasing the considered number of elements of the finite family will increase the resolution of the approximation, converging to a perfect representation when all the functions of the original family are used (see [21]). Apart from increasing the resolution by means of m, wavelets can be moved by means of k and stretched or compressed by means of m to represent the local properties of a function. A basic reference on wavelets is [22].
In this work, we employ Shannon wavelets [23], since they are regular and orthogonal functions with compact support in the Fourier domain. The regularity, as opposed to the Haar family used in [24], gives us much better accuracy. The rapid decay of the scaling function in the Fourier domain replicates the behaviour of the ChF of the heavy-tail processes that we encounter in finance. A set of Shannon scaling functions ϕ m , k in the subspace V m is defined as
ϕ m , k ( x ) = 2 m / 2 sin ( π ( 2 m x k ) ) π ( 2 m x k ) = 2 m / 2 ϕ ( 2 m x k ) , k Z ,
where
ϕ ( z ) = sin c ( z ) = sin ( π z ) π z , if z 0 , 1 , if z = 0 ,
is the scaling function, also called cardinal sine function.
The following lemma about the bound on the error of the orthogonal projection ϵ m ( x ) : = f ( x ) P m f ( x ) is provided in [3].
Lemma 2
(Lemma 3 of [3]). Let ϵ m ( x ) : = f ( x ) P m f ( x ) be the point-wise approximation error due to the projection of f into V m . Then
| ϵ m ( x ) | H ( 2 m π ) ,
where
H ( ξ ) : = 1 2 π | u | > ξ f ^ ( u ) d u ,
is the normailzed mass of the two-side tails of f ^ .

3.2. SWIFT Method

The SWIFT method belongs to the class of Fourier inversion methods for pricing European options within the discounted expected payoff formula (1). The density function f of (1) is replaced by a finite combination of Shannon wavelets, and the coefficients of the approximation are computed from its ChF. The overall process provides an efficient way to obtain the value of an option, and it can be summarized, as in [1,3], by a set of consecutive approximation steps, which are described below.
  • Wavelet projection: the function f is replaced by its Shannon wavelet projection at scale m Z ,
    f ( y | x ) f 1 ( y | x ) : = P m f ( y | x ) = k Z D m , k ( x ) ϕ m , k ( y ) ,
    with D m , k ( x ) : = f ( · | x ) , ϕ m , k .
  • Series truncation: the set of values of k involved in the sum of expression (14) is reduced to a finite interval [ k 1 , k 2 ] ,
    f 1 ( y | x ) f 2 ( y | x ) = k = k 1 k 2 D m , k ( x ) ϕ m , k ( y ) .
    It is important to notice that the first approximation lets us express
    f ( 2 m k | x ) f 1 ( 2 m k | x ) = 2 m / 2 D m , k ( x ) ,
    which quickly justifies that, for any given x, the density coefficients vanish as | k | increases, because the mass at the tails of f tends towards 0. It is also worth noting that increasing m will result in this mapping being less favorable. That is, for each k, D m , k will be bounded by a point closer to the center of the density function, potentially requiring an increase in the range of values for k in interval [ k 1 , k 2 ] .
    Remark 4.
    From this point onward, a symmetric interval [ 1 η , η ] will be considered for both convenience and consistency with the code implementation.
  • Density coefficients approximation: the integral required to compute D m , k is replaced by an approximation D m , k * , as will be shown in Section 3.2.1
    f 2 ( y | x ) f 3 ( y | x ) = k = 1 η η D m , k * ( x ) ϕ m , k ( y ) ,
    We can then define V m , k : = R ϕ m , k ( y ) v ( y , T ) d y , and substitute f 3 ( y | x ) into expression (1), obtaining
    v ( x , t ) v 3 ( x , t ) : = e r τ k = 1 η η D m , k * ( x ) V m , k d y ,
    For European options, one can instead express it in terms of the strike-free payoff by defining U m , k : = V m , k K = R ϕ m , k ( y ) g ( y ) d y , obtaining
    v 3 ( x , t ) : = K e r τ k = 1 η η D m , k * ( x ) U m , k d y .
  • Payoff coefficients approximation: the integral required to compute U m , k is approximated in an analogous way as the integral to compute the density coefficients, and U m , k is replaced by an approximation U m , k * , as will be shown in Section 3.2.1
    v 3 ( x , t ) v 4 ( x , t ) = e r τ k = 1 η η D m , k * ( x ) U m , k * .
    These coefficients can be precomputed when initializing the SWIFT procedure and shared across different strikes and maturities, saving computation time.

3.2.1. Density and Payoff Coefficients Approximation

Density and payoff coefficients calculation rely on the approximation of sinc ( x ) by a finite combination of cosines (all the details can be found in [1,3] and the references therein). As a result of this approximation, a new parameter called J appears. This parameter will be labeled J d and J p to denote density and payoff coefficients, respectively. Following the notation of [3], the density coefficients are given by
D m , k * = 2 m / 2 J d j = 1 J d f ^ u j d 2 m ; x e i k u j d ,
where denotes the real part, u j d = π 2 J d ( 2 j 1 ) , and the payoff coefficients are given by
U m , k U m , k * ( c , c ) : = 2 m / 2 J p j = 1 J p e i k u j p I j ( c ) ,
where
I j ( c ) : = | y | c g ( y ) e i u j p y d y = H ( c ) H ( c ) ,
and
H ( y ) : = i e i u j p y 1 u j p e y i + u j p , u j p = π 2 J p ( 2 j 1 ) .
We can see that the value of I j ( c ) is periodic on c. In general, all the approximations to sin c ( x ) used in the SWIFT method are periodic, which can give rise to boundary issues and undervaluation of option prices when the option strikes approach the boundary of ( c , c ) . This issue also appears in the COS option pricing method [25], another Fourier-transform-based option-pricing method closely related to the SWIFT method, and is discussed in [3]. In that work, the authors use the independence between the parameter c regulating the payoff integral domain and the parameter η regulating the wavelet series truncation to carefully choose a value for c to avoid this problem. An iterative method to choose appropriate values for m, η , J d , and J p is provided in [1,3].
As most operators used in the SWIFT method are linear, one can easily obtain an expression for the option price gradient that will be used for calibration. In particular, the only dependence the European option price formula has on the model parameters vector θ appears in the term D m , k * , so we can simply define,
D m , k * ( n ) ( x ; θ i ) : = n D m , k * ( x ; θ i ) θ i n = 2 m / 2 J d j = 1 J d n f ^ u j d 2 m ; x ; θ i ς n e i k u j d ,
and replace it in expression (19) to obtain the expression of the gradient.

3.3. Speeding Up the SWIFT Method

We elaborate on several enhancements of the SWIFT method in terms of efficiency, either on the pricing or during the calibration process. In Section 3.3.1, how the density and payoff coefficients can be computed by means of the Fast Fourier Transform is explained (in all the numerical examples in this article, the C library FFTW will be used to compute the FFT [26]) (FFT). Section 3.3.2 is devoted to the adaptation of the SWIFT pricing machinery for multiple strikes valuation. Those two transformations were already pointed out in [1]. Moreover, when the vector of strikes meets a certain property, then the calibration can be carried out in a two-stage procedure detailed in Section 3.3.3. Finally, Section 3.3.4 describes another improvement in regard to the option price gradient calculation.

3.3.1. Fast Computation of the Density and Payoff Coefficients

We start with a general expression of the summation term that appears in both the density and payoff coefficients approximation
f k = j = 1 J g j e i 2 j 1 2 J π k
We can extend this by defining g j = 0 for j = 0 and J < j < 2 J and take the j-independent terms outside of the summation, obtaining,
f k = e i π k 2 J j = 0 2 J 1 g j e i 2 j π k 2 J
This last summation expression coincides with the Discrete Fourier Transform (DFT) of length 2 J of { g j } , and the computation of all the values f k can then be speeded up by the FFT implementation.
Remark 5.
Note that computing the density or payoff coefficients imposes a restriction on the wavelet series truncation parameter 2 η < J .

3.3.2. Valuation with Multiple Strikes

A key property of the SWIFT method is that, given a scale of approximation m, the payoff and density coefficient associated to each wavelet ϕ m , k can be computed through two FFTs (one for all the density coefficients, and one for all payoff coefficients). Without this property, the SWIFT computation speed would not be competitive with other numerical option pricing methods [27].
In the option calibration problem, one usually needs to consider the option prices of several options at different strikes. In this specific case, if one were to compute the option prike of M options at strikes K : = ( K 1 , , K M ) T , then the formulation proposed in expression (19) would need to recompute the density and payoffs coefficients for every strike K i . This involves evaluating the ChF η · J p · M times, an operation which, for the Heston model, is more costly than evaluating the strike-free payoff function, or its integral. As stated in [1] one can improve the computation time of option pricing for multiple strikes when f ^ ( u ; x ) = f ^ ( u ) e i u x , a property present in both Lévy and Heston models.
As stated in [3], let us start from expression (19), and considering the previously mentioned vector of strikes K , with its associate vector of initial states x : = ( log ( S 0 / K 1 ) , , log ( S 0 / K M ) ) T . We can then substitute the density coefficients approximation (20) into the option price expression (19) and interchange the two resulting summations, obtaining
v 4 ( x , t ) : = e r τ K k = 1 η η j = 1 J d f ^ ( u j d 2 m ; x ) e i u j d k U m , k * ( c , c )
  = e r τ K j = 1 J d f ^ ( u j d 2 m ; x ) k = 1 η η U m , k * ( c , c ) e i u j d k
  = e r τ K j = 1 J d f ^ ( u j d 2 m ) e i u j d 2 m x k = 1 η η U m , k * ( c , c ) e i u j d k
= e r τ K j = 1 J d f ^ ( u j d 2 m ) e i u j d 2 m x U ˜ j ( c , c ) .
where,
U ˜ j ( c , c ) : = k = 1 η η U m , k * ( c , c ) e i u j d k .
The original formulation from expression (19) requires the following computations:
  • For each of the M strikes:
    1 FFT of length 2 J d to compute 2 η density coefficients;
    J d evaluations of the ChF f ^ ( u j d 2 m ; x ) ;
  • 1 FFT of length 2 J p to compute 2 η payoff coefficients;
  • J p evaluations of the strike-free payoff integral I j ( c ) defined in expression (21).
The payoff computations are independent of the strike price and can be computed only once, and be reused for all strikes.
On the other hand, the alternative formulation provided in expression (29) requires:
  • For each of the M strikes:
    J d evaluations of the x-dependent term of the ChF e i u j d x ;
  • J d evaluations of the x-independent ChF f ^ ( u j d 2 m ) ;
  • 2 FFT of lengths 2 η and 2 J p to compute the J d values of U ˜ j ( c , c ) ;
  • J p evaluations of the strike-free payoff integral I j ( c ) defined in expression (21).
The required values of f ^ ( u j d 2 m ) , U ˜ j ( c , c ) , and the values of I j ( c ) , required to compute the latter, can be computed only once and be reused for all strikes.
Remark 6.
In general, whenever the dependency on x in f ^ ( u ; x ) can be easily isolated and is cheap to compute, one can benefit from the alternative formulation proposed in this section.
The computation of the ChF tends to be more expensive than the computation of the payoff integral, so a SWIFT implementation through expression (29) tends to outperform the one through expression (19) when several strike prices are involved. A discussion on the benefits of using a formulation equivalent to the one provided in (29) for multiple strikes appears in [1], where it is shown that is possible to define F j : = f ^ ( u j d 2 m ) and compute its J d required values once in advance, and reuse them for all strikes.

3.3.3. Fixed Set of Strikes

Let us consider
G j : = F j , U ˜ ( c , c ) for j J d , 0 , for J d < j 2 J d .
Then, expression (29) can be rearranged as
v 4 ( x , t ) = e r τ K e π i 2 m x J d . j = 1 2 J d G j e 2 π i j 2 m x 2 J d
If one selectively chooses the values of the strikes K l , so that 2 m x l is an integer number, this computation can be sped up by the use of an FFT algorithm. If one chooses x k : = 2 k J d 2 m + 1 , then expression (31) becomes
v 4 ( x , t ) = e r τ K R e e π i 2 m x J d j = 1 2 J d G j e 2 π i j k 2 J d e π i j = e r τ K R e e π i 2 m x J d j = 1 2 J d G j ˜ e 2 π i j k 2 J d ,
where
G ˜ j : = G j e π i j = G j ( 1 ) j .
Remark 7.
Note that, as with other FFT-based computations presented in this work, this approach imposes a bound M J d on the number of different strikes that can be computed with the FFT.
If one considers the domain D of x = log ( S t / K ) , this approach allows pricing options in a symmetrical boundary ( J d 2 m + 1 , J d 2 m + 1 ) D at J d uniformly distributed points at distance 2 m . We cannot usually choose the strike prices at which to price the options, particularly not when calibrating a model with real market data, as only a limited set of strike values are listed on any exchange market, but this method could be used to quickly compute the option prices of an already calibrated model at a grid of points that could be tuned by the choice of m and J d . Then, the option prices at any intermediate strike could be interpolated with the help of a derivative-free spline (or, if the derivative with respect to K in expression (32) preserves the same speed properties, with the help of any spline method that uses derivatives).

3.3.4. Option Price Gradient

The option price gradient must be computed during the calibration process that will be presented in Section 4. All the aforementioned techniques can be applied to the option price gradient. We can also enumerate three more speed-up properties,
  • The value of e i u j d 2 m x l can be reused for the price as well as for the gradient computations;
  • If the parameters of the SWIFT method, are not changed during the gradient descent used in the calibration problem, then the values of both U ˜ j ( c , c ) and e i u j d 2 m x l can be reused throughout all the calibration steps;
  • We can reuse the values of f ^ ( u j d 2 m ) from the price computation to compute the gradient.
Therefore, combining all the speed properties above, when solving a gradient-based calibration problem, we only need to first compute U ˜ j ( c , c ) and e i u j d 2 m x l , and then, in each gradient-descent step, one can simultaneously calculate both the price and the gradient of all strikes by computing once for each j [ 1 , J d ] the values of f ^ ( u j d 2 m ) and h ( u j d 2 m ) .

4. Calibration

Calibrating a model for the asset underlying the option is a sophisticated procedure that requires highly efficient numerical methods. In particular, the pricing of the options used for calibration should be carried out by means of an accurate, fast and robust valuation method. In this work, we calibrate the Heston model by means of the SWIFT method, and compare it with the Heston’s pricing method of [5], which we have written in a more compact form in Lemma 1. It is worth noting that the choice of a specific objective function will have an impact on how accurately the model of the underlying asset that we will obtain through callibration will describe different real market scenarios [28]. For comparison sake, the same one as in [5] will be used.
Let V * ( x i , τ i ) be the market price of a European call option and V ( θ ; x i , τ i ) be the price at the same strikes and maturities obtained by using either the SWIFT method or the Heston pricing formula in expression (8) of Lemma 1. Let us also assume that we use a set of n different options to calibrate the model, so that i [ 1 , n ] Z . Then the calibration of the model is defined as the minimization problem
m i n θ R 5 f ( θ ) , f ( θ ) : = 1 2 | | r ( θ ) | | 2 = 1 2 r T ( θ ) r ( θ ) ,
where r ( θ ) is the n-dimensional vector of the residuals obtained when pricing the options considered for calibration using the model parameters. That is
r ( θ ) : = r 1 ( θ ) , , r n ( θ ) T , r i ( θ ) : = V ( θ ; x i , τ i ) V * ( x i , τ i ) , i = 1 , , n .
If we calculate the Jacobian of r , it gives us
J : = θ r T = θ V ( θ ; x , τ ) ,
where
J j i = r i θ j = V ( θ ; x i , τ i ) θ j .
The Hessian matrix of the residual element r i reads
H ( r i ) : = θ θ T r i = θ θ T V ( θ ; x i , τ i ) ,
where
H j k ( r i ) = 2 r i θ j θ k = 2 V ( θ ; x i , τ i ) θ j θ k .
Then, the gradient and Hessian matrix of the objective function defined by expressions (34) and (35) are
θ f ( θ ) = J r ,
θ θ T f ( θ ) = J J T + i = 1 M r i H ( r i ) .
We solve the optimization problem (34) by means of the LM (for the implementation, we use the LEVMAR C package [29] as well as the LAPACK linear algebra package [30]) method. This method is as a blend of gradient descent (GD) and Gauss–Newton (GN) iteration, depending on whether the current guess is close to or far from the optimum. The exact expression of the step Δ θ is
Δ θ = ( J J T + μ I ) 1 θ f ( θ ) ,
where I is the identity matrix and J J T + μ I substitutes the Hessian matrix used in the Newton method. When the current guess is far from the optimum, a large value is given to μ , so that
Δ θ Δ θ ( SD ) : = ( μ I ) 1 θ f ( θ ) ,
and a small step of a steepest-descent method is taken. When the current guess is close to the optimum, a small value is given to μ , so that
Δ θ Δ θ ( GN ) : = ( J J T ) 1 θ f ( θ ) ,
and the Hessian usually used in the Newton method is replaced by its GN approximation. This approximation is reliable if either r i or H ( r i ) are small, and [5] justifies its usage by conjecturing that f is nearly linear, a condition that guarantees the latter. We should note that even if f were not linear, then LM should only use small values of μ when | r | is small at the current step of the optimization problem.
The iterative algorithm implemented for the LM method stops when, at a certain iteration n, any of the following criteria are fulfilled,
| r n | ϵ 1 ,
| J n | ϵ 2 ,
| θ n | | θ n | ϵ 3 .
The first stopping criteria (45) is fulfilled when the objective function defined by expressions (34) and (35) has reached a value closer to zero than the prescribed tolerance. It is only when the method stops due to this criteria that we will consider that the model has been properly calibrated. The second criteria (46) corresponds to a flat gradient, and the third (47) corresponds to a stagnating update (this last one has never happened while testing the convergence during the Heston model calibration).

5. Numerical Results

In this word, the SWIFT (the code implemented for this work can be consulted in the following Github public repository: https://github.com/eudaldrg/SWIFTOptionCalibration accessed on 2 March 2020) method is used to calibrate a Heston model with European call options price data at different strikes and maturities, and it will be compared to the pricing and calibration method based on expression (8) proposed by [5], which, for the sake of readability, will be called Cui pricer (CP). CP will be implemented using a Gauss–Legendre quadrature with 64 nodes for its numerical integration step. The upper limit of the integral will be truncated, whenever possible, at u ¯ = 200 , but will be adjusted if necessary. The calibration process will consist of applying an LM method to the objective function defined in expression (34). The SWIFT method will be implemented using the ChF expression and its derivatives, provided in [5]. We perform a wide variety of tests that can be summarized as follows:
  • Stress tests: the CP and SWIFT methods will be tested with several combinations of extreme strikes (ATM and deep ITM and OTM) as well as with long-term and short-term maturities, to detect any possible limitation or numerical issue in a wide usage range;
  • Speed (The computations were performed on a 64-bit Ubuntu 18.04.4 LTS with a 3.70GHz Intel Core i7-8700K processor and 62.8 gigabytes of ram.) tests: the option calibration speeds for the regular SWIFT method (defined by expression (19)) and the one devised to quickly compute several option prices with different strike and the same maturity (defined by expression (29), which will be denoted KSWIFT), will be compared against CP for three different strike and expiry sets to check whether the multiple-strike alternative formulation is necessary to obtain a competitive option calibration method. These scenarios will represent:
    A single expiry and multiple strikes;
    A fixed number of maturities and a fixed number of strikes per maturity;
    Different expiries for each strike.
    When computing options with more than one different strike, a combination of OTM and ITM options will be used to provide an heterogeneous sample of contracts. Similarly, when more than one maturity is considered, a sample of long- and short-term expiries will be used;
  • Realistic convergence tests: as in [5], convergence of the method will be tested for realistic model parameters representative of long-dated Foreign Exchange (FX), interest rate, and equity options, as they are relevant and, according to [31], challenging for simulations of the Heson model.
Several sets of Heston parameters will be used for the different numerical tests and are presented in Table 1. The last three sets of parameters are representative of long-term FX, interest rate, and equity options, respectively [32].
Remark 8.
θ ( 1 ) is obtained from [5] and θ ( 2 ) is a plausible set of parameters proposed by us. It may not be representative of any real-world market, but it is only used as our objective value in our speed tests. In Section 5.2, we will use an initial guess of θ 0 ( 2 ) = ( 1.5768 , 0.0398 , 0.5751 , 0.5711 , 0.0175 ) T .

5.1. Stress Tests

Deep ITM and OTM call options are priced together with ATM call options for long- and short-term maturities using the SWIFT method at two different scales of approximation ( m = 3 and m = 7 ) and the CP method. The time until maturity τ is given in years. Thus, the expiries of 0.04 attempt to simulate a situation of around two weeks until expiration of the option contract.
Table 2 presents the pricing results. We call V SW 3 and V SW 7 to the prices given by the SWIFT method at scales of approximation m = 3 and m = 5 , respectively, while V CP refers to the price obtained with the CP method. Both methods run into numerical issues with either extremely large or extremely small expiries, provided no other changes are performed in the methods.
  • CP and V SW 7 did not produce number (nan) results when evaluating very long expiries. Looking at the option price execution with the integrated debugger of the GDB compiler [33] showed that expression (9) runs into numerical overflow when the exponent d τ 2 of its hyperbolic functions is big enough (the same error happened when using the original expression provided in [20]). In most of the tests above, the overflow could be avoided when carefully setting an appropriate value for the upper bound u ¯ of integral in expression (8), and by using a smaller value of the scale m. The error can also be avoided by selecting the ChF expression provided in [19] (we use this later on, and we denote the obtained prices by V SH and present the results in Table 3);
  • The SWIFT method at scale m = 3 tends to underprice short expiry options. After checking the SWIFT parameters obtained through the parameter choice method defined in Section 3, it was observed that the initial value for η , obtained by simply using the cumulant expression proposed in [1], resulted in a truncated Shannon wavelet expansion that did not cover a sufficient domain of the density function f ( y | x ) . A dynamical choice of the parameter η based on the calculation of the area underneath the curve of the density function, as described in [1], can avoid this issue. Increasing the value of m also fixes the problem;
  • None of the methods can handle the deep OTM option with a short expiry. The expected value should be close to but bigger than 0, as there are only 10 trading days to expiry and the price of the underlying should increase 50 % so that the option contract would not expire and become worthless. CP value seems too high and, in fact, when moving the value of u ¯ in the interval [ 100 , 400 ] , the price never clearly converges to a certain value, and it can give higher estimates for u ¯ > 200 than 1.079 × 10−3, or even negative values. Changing the ChF expression does not fix this issue. SWIFT consistently gives it a price of 0. The contribution that makes the price different than zero probably lies in the tails of the distribution function, and one would require a really big value of c so that a point with a positive payoff is even considered in expression (29).
Table 3 shows some results either selecting an appropriate value u ¯ or keeping u ¯ equal to 200 and using the ChF from [19]. The column u ¯ indicates the value at which CP integral is truncated, and the option price obtained is shown in column V CP . Column V SH shows the price obtained when keeping u ¯ = 200 but implementing CP using the ChF provided in [19]. The last row is an example of the negative values obtained in the deep OTM short-term call.
As it has been shown so far, a crucial step of the calibracion process is the selection of u ¯ for the CP method and m for the SWIFT method. A method to set an optimal value u ¯ is not provided in [5], and it is, therefore, a matter of trial and error, since it must be manually determined when changing the time to expiry of the options one wants to price. As for the SWIFT method, we can use the iterative parameter choice provided in [3]. In particular, a suitable scale of approximation m can be selected by means of Lemma 2. Once the level of approximation m is fixed, the parameter η can be adaptively calculated in order to determine the wavelet series truncation more accurately.

5.2. Speed Tests

The calibration speed has been tested for three different sets of strike prices and maturities, which are available in Appendix B. In order to be sure that the calibration problem was properly converging, we chose θ ( 2 ) as the objective value for the Heston parameters. When testing each set, we perform the following actions,
  • Generate option price values for each strike-expiry pair using θ ( 2 ) as input. For this step, we used the SWIFT method (we also generated them using the CP method and checked that the difference between both results stayed under 10 7 );
  • Chose an initial guess for the calibration problem θ 0 ( 2 ) ;
  • Solve the calibration problem with the desired method using θ 0 ( 2 ) as the initial guess and use the strike–expiry pairs and the prices obtained in the first step as inputs.
Set 2 was obtained from the code provided in [5], and represents a total of 40 options, distributed in eight different maturities, with each maturity having five different strikes. Set 1 and set 3 are extreme cases derived from set 2, in order to test the best and worst calibration points distribution for KSWIFT. Set 1 has the same 40 different strike prices than set 2, but only a single maturity. What we denote as set 3 is not really a different dataset, since it consists of running the calibration problem with set 2 and preventing the KSWIFT algorithm from applying the speed-up techniques discussed in Section 3.3.2. For this reason, in Table 4, set 3 contains values only for KSWIFT (as set 3 is equivalent to set 2 for the other two calibration methods).
The values for KSWIFT and CP have been averaged over 100 executions of the calibration to provide a good estimate of the required calibration time. It can be seen that regular SWIFT is orders of magnitude slower without averaging the required time over several executions. Hence, the multiple-strike alternative formulation presented in Section 3.3.2 and all the speed-up techniques discussed through Section 3 are necessary to provide a competitive method that can be used for real-time model updating.
KSWIFT performance is comparable to CP for set 2, an order of magnitude faster for set 1, and an order of magnitude slower for set 3. It can be argued that both set 1 and set 3 are extreme cases that are not really relevant for real option trading situations. One would rarely use a single strike per expiry to calibrate an option pricing model, and using data from a single expiry only seems reasonable when trading a single-option expiry (in this case, one could benefit from the speed properties of KSWIFT on scenarios like set 1). According to [5], a reasonable calibration scenario consists of using option prices from strikes at 0 % , ± 25 % , and ± 50 % BS delta (derivative of the option price with respect to the underlying price value. It has a closed analytical expression for European BS options).
The calibration time of KSWIFT and CP is about 0.05 s, which seems sufficient for real-time model updating to provide market information to a human trader. In a more computationally demanding trading environments, like high-frequency trading, neither KSWIFT nor CP would be competitive enough.
Remark 9.
All the single expiry tests (the first three tests on Table 4) converged to an approximated value different than θ ( 2 ) but approximated all the option prices properly. Using different initial guesses led to different approximated values, which minimized the objective function. It would be interesting to see whether this is a property of the Heston distribution (that is, it has at least a degree of freedom when defined from option prices in a single expiry) or due to the specific scenario being tested.

5.3. Realistic Convergence Tests

We use the same procedure as in previous section to solve several different calibration problems. For each case, we use one of the proposed realistic parameter sets as objective value and generate option prices for each strike–expiry pair. Then, for each objective parameter set, 100 different initial guesses are generated. Each component of the initial parameters guess is drawn uniformly and randomly within ± 10 % distance of the optimal value. According to [5], this is representative of real option calibration as, usually, the initial guess used for a certain calibration problem is the last available parameter estimation. If the calibration is updated fast enough, it is expected that the initial guess will be this close to the optimum. The maturities used in [5] are not available, so, for these tests, the strike–expiry set 2 will be used.
As can be seen in Table 5, even under challenging parameters setups representative of real option trading, KSWIFT is able to provide accurate estimations of the Heston parameters, taking, on average, a computation time of hundreds of milliseconds. These results, in terms of both speed and accuracy, are comparable to the tests in [5], so it is concluded that KSWIFT is as efficient as CP for real market scenarios. Further, if we take into account the robustness of KSWIFT in terms of the a priori knowledge of its parameters, as stated in Section 3.2, we conclude that KSWIFT is a very competitive method for calibration.

6. Conclusions and Future Research

We have investigated the problem of calibrating the Heston model, which belongs to the class of stochastic volatility models. An extension of the SWIFT method has been provided in this work for European options calibration, along with novel speed-up techniques, which can radically improve the performance when several of the priced and calibrated options have the same time to maturity.
Some numerical issues arise with the ChF for very long-term expiries. Following the a priori knowledge of parameter selection for the SWIFT method seems to be enough to avoid these problems, while the parameters of CP need to be adjusted manually. The proposed speed-up techniques are deemed necessary in order to make SWIFT a competitive calibration method, as has been seen in the numerical speed tests. In particular, it has been shown that the only situation where the proposed calibration is significantly slower than CP is when one calibrates the model with many different maturities with no more than one or two strikes per maturity. As the number of strikes per expiry increases, the relative speed of the SWIFT method increases, and it is about ten times faster than CP when calibrating 40 options with a single maturity. Both extreme situations are not representative of real option trading needs, and for a reasonably real situation of five strikes per expiry, the SWIFT technique is slightly faster than CP. A SWIFT implementation without the previously discussed speed-up techniques has also been tested and deemed non-competitive, with calibration times that reached dozens of seconds. Further, the proposed calibration strategy passes the realistic calibration tests for challenging Heston model parameters setups presented.
In summary, the proposed SWIFT method is a robust and efficient machinery for real-time updating of option models used in human-supervised trading schemes. Neitherthe SWIFT nor the CP method are suitable for the most demanding algorithmic trading situations, like high-frequency trading. Future work may encompass the following topics:
  • Most of the calibration tests with a single expiry have run into an optimal value different than the original one. It is to be seen if this is a property of the Heston model or if this was due instead to the specific parameter or strike/maturity values being used;
  • It would be interesting to study the properties of the SWIFT implementation proposed for a chosen set of strikes in expression (32). We could interpolate the values at all strikes with spline methods that require derivatives, and not only derivative-free ones;
  • Options with very long maturities may hamper the calibration process due to numerical overflows during the pricing step. The problem of long maturities has been tackled with Haar wavelets in [24]. It might be worth investigating whether we can do the same with Shannon wavelets;
  • Deep OTM options with very short maturities are challenging to price. The problem seems to be the lack of accuracy of the approximation on the tails of the density function;
  • Comparison with other calibration methods based on approximation formulae, like, for instance, the work by [34].

Author Contributions

Conceptualization, E.R. and L.O.-G.; methodology, E.R. and L.O.-G.; software, E.R.; investigation, E.R. and L.O.-G.; funding acquisition, L.O.-G. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the Spanish Ministry of Economy and Competitiveness grant number PID2019-105986GB-C21.

Conflicts of Interest

The authors declare no conflict of interest.

Appendix A. Gradient Complimentary Formulas

Partial derivatives for gradient computation of the Heston model ChF from [5],
d ρ = ξ σ i u d ,
A 2 ρ = σ i u ( 2 + ξ τ ) 2 d ν 0 ξ cosh d τ 2 + d sinh d τ 2 ,
B ρ = e κ τ / 2 ν 0 1 A 2 d ρ d A 2 2 A 2 ρ ,
A 1 ρ = i u u 2 i u τ ξ σ 2 d cosh d τ 2 ,
A ρ = 1 A 2 A 1 ρ A A 2 A 2 ρ ,
A κ = i σ u A ρ ,
B κ = i σ u B ρ + B τ 2 ,
d σ = d σ 1 ξ d ρ + σ u 2 d ,
A 1 σ = u 2 i u τ 2 d σ cosh d τ 2 ,
A 2 σ = ρ σ A 2 ρ + 2 + τ ξ ν 0 τ ξ i u A 1 ρ + σ τ A 1 2 ν 0 ,
A σ = 1 A 2 A 1 σ A A 2 A 2 σ .

Appendix B. Strike and Maturity Test Sets

Set 1 and set 2 are provided in Table A1 and Table A2, respectively. The goal of set 3 is just to check the behavior of KSWIFT in the worst configuration possible for its speeding up techniques. This scenario is only be applied to KSWIFT, and consists of the same strikes and maturities as set 2. The code implementation of KSWIFT generated for this work receives as inputs a vector of expiry-defined-data (EDD). Each element of the vector of EDD contains a single expiry and a vector of strikes. Thus, set 2 will have all the strikes with the same expiry grouped in a single EDD, and set 3 will have an EDD consisting on a single strike. This will enforce full recomputation of the density and payoff coefficients for each strike.
Table A1. Set 1 of strikes and expiries. All the strikes have the same expiry τ = 0.119047619047619 .
Table A1. Set 1 of strikes and expiries. All the strikes have the same expiry τ = 0.119047619047619 .
StrikeStrikeStrikeStrikeStrike
0.93710.99561.04271.22871.3939
0.86030.98681.04631.23991.4102
0.81120.97281.04991.24851.4291
0.77600.95881.05301.26591.4456
0.74700.94641.05621.26461.4603
0.72160.93581.05931.27151.4736
0.66990.91751.06631.28591.5005
0.61370.90251.07661.30461.5328
Table A2. Set 2 of strikes and expiries.
Table A2. Set 2 of strikes and expiries.
ExpiryStrikeStrikeStrikeStrikeStrike
0.1190476190476190.93710.99561.04271.22871.3939
0.2380952380952380.86030.98681.04631.23991.4102
0.3571428571428570.81120.97281.04991.24851.4291
0.4761904761904760.77600.95881.05301.26591.4456
0.5952380952380950.74700.94641.05621.26461.4603
0.7142857142857140.72160.93581.05931.27151.4736
1.071428571428570.66990.91751.06631.28591.5005
1.428571428571430.61370.90251.07661.30461.5328

References

  1. Ortiz-Gracia, L.; Oosterlee, C.W. A highly efficient Shannon wavelet inverse fourier technique for pricing European options. SIAM J. Sci. Comput. 2016, 38, B118–B143. [Google Scholar] [CrossRef] [Green Version]
  2. Leitao, A.; Ortiz-Gracia, L.; Wagner, E.I. SWIFT valuation of discretely monitored arithmetic Asian options. J. Comput. Sci. 2018, 28, 120–139. [Google Scholar] [CrossRef]
  3. Maree, S.C.; Ortiz-Gracia, L.; Oosterlee, C.W. Pricing early-exercise and discrete barrier options by Shannon wavelet expansions. Numer. Math. 2017, 136, 1035–1070. [Google Scholar] [CrossRef]
  4. Moré, J.J. The Levenberg-Marquardt algorithm: Implementation and theory. In Numerical Analysis; Springer: Berlin/Heidelberg, Germany, 1978. [Google Scholar]
  5. Cui, Y.; del Baño Rollin, S.; Germano, G. Full and fast calibration of the Heston stochastic volatility model. Eur. J. Oper. Res. 2017, 263, 625–638. [Google Scholar] [CrossRef]
  6. Heston, S.L. A Closed-Form Solution for Options with Stochastic Volatility with Applications to Bond and Currency Options. Rev. Financ. Stud. 1993, 6, 327–343. [Google Scholar] [CrossRef] [Green Version]
  7. Clark, I. Foreign Exchange Option Pricing: A Practitioner’s Guide; Wiley: Chichester, UK, 2011. [Google Scholar]
  8. Gatheral, J. The volatility surface: A practitioner’s guide. In Finance; Wiley: Chichester, UK, 2006. [Google Scholar]
  9. Gilli, M.; Schumann, E. Calibrating option pricing models with heuristics. In Natural Computing in Computational Finance. Studies in Computational Intelligence; Brabazon, A., O’Neill, M., Maringer, D., Eds.; Springer: Berlin/Heidelberg, Germany, 2011; Volume 380. [Google Scholar]
  10. Janek, A.; Kluge, T.; Weron, R.; Wystup, U. FX smile in the Heston model. In Statistical Tools for Finance and Insurance; Cizek, P., Härdle, W., Weron, R., Eds.; Springer: Berlin/Heidelberg, Germany, 2011; pp. 133–162. [Google Scholar]
  11. Bin, C. Calibration of the Heston Model with Application in Derivative Pricing and Hedging. Master’s Thesis, TU Delft, Delft, The Netherlands, 2007. [Google Scholar]
  12. Mikhailov, S.; Nögel, U. Heston’s stochastic volatility model implementation, calibration and some extensions. Wilmott Mag. 2003, 4, 74–79. [Google Scholar]
  13. Gerlich, F.; Giese, A.M.; Maruhn, J.H.; Sachs, E.W. Parameter identification in financial market models with a feasible point SQP algorithm. Comput. Optim. Appl. 2012, 51, 1137–1161. [Google Scholar] [CrossRef]
  14. Lagarias, J.C.; Reeds, J.A.; Wright, M.H.; Wright, P.E. Convergence properties of the Nelder-Mead simplex method in low dimensions. SIAM J. Optim. 1998, 9, 112–147. [Google Scholar] [CrossRef] [Green Version]
  15. Gilli, M.; Schumann, E. Heuristic optimisation in financial modelling. Ann. Oper. Res. 2012, 193, 129–158. [Google Scholar] [CrossRef] [Green Version]
  16. Fernández, J.L.; Ferreiro, A.M.; García-Rodrxixguez, J.A.; Leitao, A.; López-Salas, J.G.; Vxaxzquez, C. Static and dynamic SABR stochastic volatility models: Calibration and option pricing using GPUs. Math. Comput. Simul. 2013, 94, 55–75. [Google Scholar] [CrossRef]
  17. Kahl, C.; Jäckel, P. Not-so-complex logarithms in the Heston model. Wilmott Mag. 2006, 19, 94–103. [Google Scholar]
  18. Albrecher, H.; Mayer, P.; Schoutens, W.; Tistaert, J. The little Heston trap. Wilmott 2007, 1, 83–92. [Google Scholar]
  19. Schoutens, W.; Simons, E.; Tistaert, J. A perfect calibration! now what? Wilmott 2004, 2, 66–78. [Google Scholar] [CrossRef]
  20. del Baño Rollin, S.; Ferreiro-Castilla, A.; Utzet, F. On the density of log-spot in the Heston volatility model. Stoch. Process. Their Appl. 2010, 120, 2037–2063. [Google Scholar] [CrossRef] [Green Version]
  21. Mallat, S. A Wavelet Tour of Signal Processing: The Sparse Way; Academic Press: Cambridge, MA, USA, 2009. [Google Scholar]
  22. Daubechies, I. Ten Lectures on Wavelets; CBMS-NSF Regional Conference Series in Applied Mathematics; Society for Industrial and Applied Mathematics: Philadelphia, PA, USA, 1992. [Google Scholar]
  23. Cattani, C. Shannon wavelets theory. Math. Probl. Eng. 2008, 2008, 164808. [Google Scholar] [CrossRef] [PubMed]
  24. Ortiz-Gracia, L.; Oosterlee, C.W. Robust pricing of European options with wavelets and the characteristic function. SIAM J. Sci. Comput. 2013, 35, B1055–B1084. [Google Scholar] [CrossRef] [Green Version]
  25. Fang, F.; Oosterlee, C.W. A novel pricing method for european options based on fourier-cosine series expansions. SIAM J. Sci. Comput. 2008, 31, 826–848. [Google Scholar] [CrossRef] [Green Version]
  26. Frigo, M.; Johnson, S.G. The design and implementation of FFTW3. Proc. IEEE 2005, 93, 216–231. [Google Scholar] [CrossRef] [Green Version]
  27. Floc’h, F.L. Notes on the SWIFT method based on Shannon Wavelets for Option Pricing. arXiv 2020, arXiv:2005.13252. [Google Scholar]
  28. Christoffersen, P.; Jacobs, K. The importance of the loss function in option valuation. J. Financ. Econ. 2004, 72, 291–318. [Google Scholar] [CrossRef] [Green Version]
  29. Lourakis, M.I.A. Levmar: Levenberg–Marquardt Nonlinear Least Squares Algorithms in C/C++. 2004. Available online: https://github.com/jturney/levmar (accessed on 2 March 2020).
  30. Planitz, M.; Anderson, E. LAPACK Users Guide. Math. Gaz. 1995, 79, 210. [Google Scholar] [CrossRef]
  31. Glasserman, P.; Kim, K.K. Gamma expansion of the Heston stochastic volatility model. Financ. Stochastics 2011, 15, 267–296. [Google Scholar] [CrossRef] [Green Version]
  32. Andersen, L. Simple and efficient simulation of the Heston stochastic volatility model. J. Comput. Financ. 2008, 11, 1–42. [Google Scholar] [CrossRef]
  33. Willmore, F.T. Debugging with gdb. In Introduction to Scientific and Technical Computing; CRC Press: Boca Raton, FL, USA, 2016. [Google Scholar]
  34. Alòs, E.; Santiago, R.D.; Vives, J. Calibration of stochastic volatility models via second-order approximation: The Heston case. Int. J. Theor. Appl. Financ. 2015, 18, 1550036. [Google Scholar] [CrossRef]
Table 1. Set of Heston parameters used in the numerical tests.
Table 1. Set of Heston parameters used in the numerical tests.
Name κ ν ¯ σ ρ ν 0
θ ( 1 ) 30.10.25−0.80.08
θ ( 2 ) 1.57680.03980.0175−0.57110.0175
θ ( FX ) 0.50.041−0.90.04
θ ( IR ) 0.30.040.9−0.50.04
θ ( EQ ) 10.0910.040.09
Table 2. Set of Heston parameters used in the numerical tests.
Table 2. Set of Heston parameters used in the numerical tests.
ParametersSK τ V SW 3 V SW 7 V CP
θ ( 1 ) 100504565.565nannan
θ ( 1 ) 1001004546.911nannan
θ ( 1 ) 1002004527.198nannan
θ ( 1 ) 100500.0444.22150.00050.000
θ ( 1 ) 1001000.040.3801.0451.046
θ ( 1 ) 1002000.04001.079 · 10 3
Table 3. Results for different u ¯ and/or using the ChF from [19].
Table 3. Results for different u ¯ and/or using the ChF from [19].
ParametersSK τ u ¯ V CP V SH
θ ( 1 ) 1005045665.56565.565
θ ( 1 ) 10010045646.91146.911
θ ( 1 ) 10020045627.19827.198
θ ( 1 ) 100500.0420050.00050.000
θ ( 1 ) 1001000.042001.0461.046
θ ( 1 ) 1002000.04300−1.174 · 10 5 1.079 · 10 3
Table 4. Iterations, time needed to calibrate each speed scenario and objective function value reached. I refers to the number of iterations that LM requieres until it stops, and ϵ 1 corresponds to the LM first stopping criteria (see Section 4), which refers to the objective function final value.
Table 4. Iterations, time needed to calibrate each speed scenario and objective function value reached. I refers to the number of iterations that LM requieres until it stops, and ϵ 1 corresponds to the LM first stopping criteria (see Section 4), which refers to the objective function final value.
Strike and Maturities SetHeston ParametersMethodTime (Seconds)I ϵ 1
Set 1 θ ( 2 ) SWIFT6.9103.932 · 10 11
Set 1 θ ( 2 ) KSWIFT4.5 · 10 3 103.932 · 10 11
Set 1 θ ( 2 ) CP4.6 · 10 2 103.932 · 10 11
Set 2 θ ( 2 ) SWIFT35.9131.002 · 10 12
Set 2 θ ( 2 ) KSWIFT5.0 · 10 2 131.002 · 10 12
Set 2 θ ( 2 ) CP6.3 · 10 2 131.002 · 10 12
Set 3 θ ( 2 ) KSWIFT1.7 · 10 1 131.002 · 10 12
Table 5. Convergence statistics averaged over 100 calibrations. x a refers to the calibration problem’s estimation of variable x a . For example, | κ a κ * | refers to how close LM approximation of κ was to the real value.
Table 5. Convergence statistics averaged over 100 calibrations. x a refers to the calibration problem’s estimation of variable x a . For example, | κ a κ * | refers to how close LM approximation of κ was to the real value.
θ ( FX ) θ ( IR ) θ ( EQ )
| κ a κ * | 6.640 · 10 4 2.657 · 10 4 1.160 · 10 3
| ν ¯ a ν ¯ * | 1.547 · 10 4 1.321 · 10 5 1.746 · 10 5
| σ a σ * | 1.978 · 10 3 2.248 · 10 4 3.725 · 10 4
| ρ a ρ * | 2.649 · 10 4 1.365 · 10 5 8.661 · 10 6
| ν 0 a ν 0 * | 3.629 · 10 5 4.790 · 10 6 8.339 · 10 6
Iterations1467
Time (seconds)3.3 · 10 1 1.9 · 10 1 2.0 · 10 1
ϵ 1 2.867 · 10 11 2.030 · 10 11 3.643 · 10 11
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Romo, E.; Ortiz-Gracia, L. SWIFT Calibration of the Heston Model. Mathematics 2021, 9, 529. https://doi.org/10.3390/math9050529

AMA Style

Romo E, Ortiz-Gracia L. SWIFT Calibration of the Heston Model. Mathematics. 2021; 9(5):529. https://doi.org/10.3390/math9050529

Chicago/Turabian Style

Romo, Eudald, and Luis Ortiz-Gracia. 2021. "SWIFT Calibration of the Heston Model" Mathematics 9, no. 5: 529. https://doi.org/10.3390/math9050529

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