FPGA acceleration using high-level languages of a Monte-Carlo method for pricing complex options

In this paper we present an FPGA implementation of a Monte-Carlo method for pricing Asian options using Impulse C and floating-point arithmetic. In an Altera Stratix-V FPGA, a 149x speedup factor was obtained against an OpenMP-based solution in a 4-core Intel Core i7 processor. This speedup is comparable to that reported in the literature using a classic HDL-based methodology, but the development time is significantly reduced. Additionally, the use of a HLL-based methodology allowed us to implement a high-quality Gaussian random number generator, which produces more precise results than those obtained with the simple generators usually present in HDL-based designs.

[1]  Tarek A. El-Ghazawi,et al.  Productivity of High-Level Languages on Reconfigurable Computers: An HPC Perspective , 2007, 2007 International Conference on Field-Programmable Technology.

[2]  Gustavo Sutter,et al.  An Euler solver accelerator in FPGA for computational fluid dynamics applications , 2011, 2011 VII Southern Conference on Programmable Logic (SPL).

[3]  A. Kemna,et al.  A pricing method for options based on average asset values , 1990 .

[4]  T. El-Ghazawi,et al.  Comparative Analysis of High Level Programming for Reconfigurable Computers: Methodology and Empirical Study , 2007, 2007 3rd Southern Conference on Programmable Logic.

[5]  David Pellerin,et al.  Practical FPGA programming in C , 2005 .

[6]  G. Campolieti,et al.  Path integral pricing of Asian options on state-dependent volatility models , 2008 .

[7]  Wayne Luk,et al.  Efficient reconfigurable design for pricing asian options , 2010, CARN.

[8]  David R. Butenhof Programming with POSIX threads , 1993 .

[9]  P. L’Ecuyer Random Number Generation , 2012 .

[10]  George Marsaglia,et al.  Seeds for random number generators , 2003, CACM.

[11]  Paul Bratley,et al.  Algorithm 659: Implementing Sobol's quasirandom sequence generator , 1988, TOMS.

[12]  Tarek A. El-Ghazawi,et al.  A Framework for Evaluating High-Level Design Methodologies for High-Performance Reconfigurable Computers , 2011, IEEE Transactions on Parallel and Distributed Systems.

[13]  L. Dagum,et al.  OpenMP: an industry standard API for shared-memory programming , 1998 .

[14]  Khaled Benkrid,et al.  High Performance Monte-Carlo Based Option Pricing on FPGAs , 2008, Eng. Lett..

[15]  Khaled Benkrid,et al.  Mersenne Twister Random Number Generation on FPGA, CPU and GPU , 2009, 2009 NASA/ESA Conference on Adaptive Hardware and Systems.

[16]  M. Lopez-Vallejo,et al.  FPGA Gaussian random number generator based on quintic hermite interpolation inversion , 2007, 2007 50th Midwest Symposium on Circuits and Systems.

[17]  Giray Ökten,et al.  Generating low-discrepancy sequences from the normal distribution: Box-Muller or inverse transform? , 2011, Math. Comput. Model..

[18]  Khaled Benkrid,et al.  Design and implementation of a high performance financial Monte-Carlo simulation engine on an FPGA supercomputer , 2008, 2008 International Conference on Field-Programmable Technology.

[19]  Wayne Luk,et al.  Non-Uniform Random Number Generation Through Piecewise Linear Approximations , 2006, 2006 International Conference on Field Programmable Logic and Applications.

[20]  Abdeluaab Lidouh,et al.  Parallel Monte Carlo Method for Pricing Asian Options Using Trapezium Scheme , 2011 .

[21]  M. Rader,et al.  A computer model , 1996, IEEE Conference Record - Abstracts. 1996 IEEE International Conference on Plasma Science.

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

[23]  Pierre L'Ecuyer,et al.  Maximally equidistributed combined Tausworthe generators , 1996, Math. Comput..

[24]  M. Fu,et al.  Pricing Continuous Asian Options: A Comparison of Monte Carlo and Laplace Transform Inversion Methods , 1998 .

[25]  Chris S. Wallace Fast pseudorandom generators for normal and exponential variates , 1996, TOMS.

[26]  Yue Kuen Kwok,et al.  ASIAN OPTIONS WITH THE AMERICAN EARLY EXERCISE FEATURE , 1999 .

[27]  Wayne Luk,et al.  High quality uniform random number generation through LUT optimised linear recurrences , 2005, Proceedings. 2005 IEEE International Conference on Field-Programmable Technology, 2005..

[28]  Jeroen P. A. Devreese,et al.  Path integral approach to Asian options in the Black-Scholes model , 2009, 0906.4456.

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

[30]  G. Marsaglia,et al.  Matrices and the structure of random number sequences , 1985 .

[31]  Stewart Robinson,et al.  General concepts of quality for discrete-event simulation , 2002, Eur. J. Oper. Res..

[32]  Michael B. Giles,et al.  Parallelization Techniques for Random Number Generators , 2011 .

[33]  I. Sobol On the distribution of points in a cube and the approximate evaluation of integrals , 1967 .

[34]  M. E. Muller,et al.  A Note on the Generation of Random Normal Deviates , 1958 .

[35]  Mark S. Joshi,et al.  Graphical Asian Options , 2009 .

[36]  Scott Hauck,et al.  Impulse C vs. VHDL for Accelerating Tomographic Reconstruction , 2010, 2010 18th IEEE Annual International Symposium on Field-Programmable Custom Computing Machines.