Efficient Monte Carlo-based options pricing on graphics processors and its optimizations

Options pricing is a critical problem and one of the fundamental building blocks in mathematical finance. Monte Carlo (MC) simulation is the most widely used solution for options pricing. In most cases options pricing must be performed in real time. Although today’s multi-core CPUs can provide a high computing power, the options pricing on today’s multi-core CPUs is far from responding in real time. In this paper, we use modern graphics processors (GPUs), which provide a much higher computing power than multi-core CPUs, to perform MC-based options pricing. The challenge is that GPUs only provide a small on-chip scratchpad while MC-based options pricing requires a large memory space and accesses the memory space irregularly. To make MC-based options pricing efficient on GPUs, we propose a recycling approach which compacts the data to shrink the memory space, and a crossing-path layout which reorganizes the data to make memory accesses GPU-friendly. We use real market data and benchmarks to evaluate our optimization approaches. The experimental result shows that our MC-based options pricing on the latest GPU is 43-fold faster than the latest multi-core CPU for single precision computation (with Intel C++ Compiler 11.1); compared with GCC 4.2.4, the speedup is as high as 145.

[1]  Stanimire Tomov,et al.  Benchmarking and implementation of probability-based simulations on programmable graphics cards , 2003, Comput. Graph..

[2]  Bruce K. Grace Black-Scholes option pricing via genetic algorithms , 2000 .

[3]  Joel H. Saltz,et al.  Adaptive runtime support for direct simulation Monte Carlo methods on distributed memory architectures , 1994, Proceedings of IEEE Scalable High Performance Computing Conference.

[4]  P. Glasserman,et al.  A Comparison of Some Monte Carlo and Quasi Monte Carlo Techniques for Option Pricing , 1998 .

[5]  F. Black,et al.  The Pricing of Options and Corporate Liabilities , 1973, Journal of Political Economy.

[6]  S. Ikonen,et al.  Efficient numerical methods for pricing American options under stochastic volatility , 2008 .

[7]  William H. Press,et al.  Numerical recipes in C. The art of scientific computing , 1987 .

[8]  Michael D. McCool,et al.  Performance evaluation of GPUs using the RapidMind development platform , 2006, SC.

[9]  P. Boyle Options: A Monte Carlo approach , 1977 .

[10]  Naga K. Govindaraju,et al.  A Survey of General‐Purpose Computation on Graphics Hardware , 2007 .

[11]  Takuji Nishimura,et al.  Mersenne twister: a 623-dimensionally equidistributed uniform pseudo-random number generator , 1998, TOMC.

[12]  W. Press,et al.  Numerical Recipes: The Art of Scientific Computing , 1987 .

[13]  Muddun Bhuruth,et al.  Numerical pricing of options using high-order compact finite difference schemes , 2008 .