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 (CPUs), 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 CPU 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.
options pricing gpu stream architecture monte carlo simulation