Accelerated Financial Algorithms: Derivative Pricing and Risk Management Applications

Research output: Book/ReportPh.D. thesisResearch

This thesis concludes a Ph.D. research project in Accelerated Financial Algorithms, conducted in collaboration with DIKU and SimCorp. In it, we describe the design and implementation of common compute-intensive financial applications that combine state-of-the-art High-Performance Computing (HPC) code optimisation techniques to harness massive parallelism of modern parallel hardware architectures like Graphical Processing Units (GPU).

We target the acceleration of pricing and risk management of real investment portfolios that consist of complex derivative instruments. We demonstrate our findings through a detailed analysis and practical accelerated implementations of common numerical algorithms. Our research is supplemented with a feasibility study carried out using high-level data-parallel programming languages and frameworks.

We propose Futhark, which is a purely functional array programming language, as an example of a technology that enables efficient performance, while sustaining modularity, maintainability, and scalability of complex financial algorithms. We focus on high-level algorithmic specifications and code optimisations that extract enough parallelism from a given algorithm to efficiently map it to high-throughput Graphics Processing Units (GPUs).

In particular, we use flattening techniques for non-regular nested parallelism; target memory access patterns and size requirements through code optimisation such as data reordering, padding, and access coalescing; introduce inspector-executor approaches to dynamically analyse and adapt to any input dataset; and provide multiple kernel versions that together efficiently cover the entire spectrum of possible datasets.

The first contribution addresses an acceleration of a fixed-income derivatives pricing algorithm based on the Hull-White One-Factor Lattice Method (HW1F). We introduce a high-level algorithmic specification, which exhibits irregular-nested parallelism, and derive and optimise two hand tuned CUDA implementations: one of which utilises the only outer level of parallelism, while the other utilises both levels of parallelism.

The second contribution is an accelerated algorithm for equity derivatives pricing that uses a Least Squares Monte Carlo Simulation Model (LSMC) following a Longstaff-Schwartz model and is implemented in high-level Futhark language. We show how an auto-generated implementation beats a manually-optimised one for certain datasets.

The third contribution is a massive-scale Monte Carlo simulation to obtain Value at Risk (MCVaR) and other portfolio market risk measures. The simulations comprise multiple nested parallel levels executed on a diverse portfolio of vanilla and exotic derivatives.
Original languageEnglish
PublisherDepartment of Computer Science, Faculty of Science, University of Copenhagen
Number of pages184
Publication statusPublished - 2021

ID: 273012061