Calibration of Stochastic Volatility Models on a Multi-Core CPU Cluster
7 Pages Posted: 5 Nov 2013
Date Written: November 3, 2013
Low-latency real-time option analytics feeds provide tick-by-tick implied volatilities and greeks based on exchange data. In order for the Black-Scholes implied volatility surface to exhibit the empirically observed skew or smile, a stochastic volatility model can be used to compute the option greeks. Because the European price under many stochastic volatility models only exists in semi-analytic form, frequent robust calibration of the model is computationally prohibitive. This paper explores three parallelization approaches for calibrating stochastic volatility models deployed on a multicore CPU cluster.
The contribution of this paper is to provide benchmarks demonstrating hybrid shared and distributed memory parallelization techniques using Python packages for robust calibration of stochastic volatility models. The focus here will be on the Heston and Bates models, but the results in this paper generalize to any of the exponential Levy models incorporating stochastic volatility and jumps and whose characteristic function can be expressed in closed form. We evaluated the performance for our implementation on a cluster of 32 dual socket Dell PowerEdge R410 nodes providing 256 cores in total. Using distributed memory parallelization, we obtain a speedup of up to 139x against the sequential version of the calibration error function evaluation and reduce the overall time taken to calibrate a chain of 1024 SPX options by a factor of 37x.
Keywords: Calibration, Stochastic Volatility, Distributed Algorithms
JEL Classification: C61, C63, G12, G13
Suggested Citation: Suggested Citation