gpusvcalibration: A R Package for Fast Stochastic Volatility Model Calibration Using GPUs

In this paper we describe the gpusvcalibration R package for accelerating stochastic volatility model calibration on GPUs. The package is designed for use with existing CRAN packages for optimization such as DEOptim and nloptr. Stochastic volatility models are used extensively across the capital markets for pricing and risk management of exchange traded financial options. However, there are many challenges to calibration, including comparative assessment of the robustness of different models and optimization routines. For example, we observe that when fitted to sub-minute level mid-market quotes, models require frequent calibration every few minutes and the quality of the fit is routine sensitive. The R statistical software environment is popular with quantitative analysts in the financial industry partly because it facilitates application design space exploration. However, a typical R based implementation of a stochastic volatility model calibration on a CPU does not meet the performance requirements for sub-minute level trading, i.e. mid to high frequency trading. We identified the most computationally intensive part of the calibration process in R and off-loaded that to the GPU. We created a map-reduce interface to the computationally intensive kernel so that it can be easily integrated in a variety of R based calibration codes using our package. We demonstrate that the new R based implementation using our package is comparable in performance to a C/C++ GPU based calibration code.

[1]  M. Powell A Direct Search Optimization Method That Models the Objective and Constraint Functions by Linear Interpolation , 1994 .

[2]  Hadley Wickham,et al.  The Split-Apply-Combine Strategy for Data Analysis , 2011 .

[3]  S. Heston A Closed-Form Solution for Options with Stochastic Volatility with Applications to Bond and Currency Options , 1993 .

[4]  David Ardia,et al.  Jump-Diffusion Calibration Using Differential Evolution , 2010 .

[5]  Rainer Storn,et al.  Differential Evolution – A Simple and Efficient Heuristic for global Optimization over Continuous Spaces , 1997, J. Glob. Optim..

[6]  M. Yor,et al.  The Fine Structure of Asset Retums : An Empirical Investigation ' , 2006 .

[7]  Andreas Binder,et al.  A Fast and Stable Heston Model Calibration on the GPU , 2010, Euro-Par Workshops.

[8]  Fan Meng,et al.  The gputools package enables GPU computing in R , 2010, Bioinform..

[9]  Mohammad Zubair,et al.  Calibration of stochastic volatility models on a multi-core CPU cluster , 2013, WHPCF '13.

[10]  David S. Bates Jumps and Stochastic Volatility: Exchange Rate Processes Implicit in Thephlx Deutschemark Options , 1993 .

[11]  David Ardia,et al.  DEoptim: An R Package for Global Optimization by Differential Evolution , 2009 .

[12]  Guido Schwarzer,et al.  Easier parallel computing in R with snowfall and sfCluster , 2009, R J..

[13]  Cornelis W. Oosterlee,et al.  A Novel Pricing Method for European Options Based on Fourier-Cosine Series Expansions , 2008, SIAM J. Sci. Comput..

[14]  Hao Yu,et al.  State of the Art in Parallel Computing with R , 2009 .

[15]  P. Carr,et al.  The Variance Gamma Process and Option Pricing , 1998 .