Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3460944.3464309acmconferencesArticle/Chapter ViewAbstractPublication PagespldiConference Proceedingsconference-collections
research-article

Acceleration of lattice models for pricing portfolios of fixed-income derivatives

Published: 18 June 2021 Publication History

Abstract

This paper reports on the acceleration of a standard, lattice-based numerical algorithm that is widely used in finance for pricing a class of fixed-income vanilla derivatives.
We start with a high-level algorithmic specification, exhibiting irregular nested parallelism, which is challenging to map efficiently to GPU hardware. From it we systematically derive and optimize two CUDA implementations, which utilize only the outer or all levels of parallelism, respectively. A detailed evaluation demonstrates (i) the high impact of the proposed optimizations, (ii) the complementary strength and weaknesses of the two GPU versions, and that (iii) they are on average 2.4× faster than our well-tuned CPU-parallel implementation (OpenMP+AVX2) running on 104 hardware threads, and by 3-to-4 order of magnitude faster than an OpenMP-parallel implementation using the popular QuantLib library.

References

[1]
Christian Andreetta, Vivien Bégot, Jost Berthold, Martin Elsman, Fritz Henglein, Troels Henriksen, Maj-Britt Nordfang, and Cosmin E. Oancea. 2016. FinPar: A Parallel Financial Benchmark. ACM Trans. Archit. Code Optim., 13, 2 (2016), Article 18, issn:1544-3566 https://doi.org/10.1145/2898354
[2]
Luigi Ballabio. 2020. QuantLib, A free/open-source library for quantitative finance. https://www.quantlib.org/
[3]
Lars Bergstrom and John Reppy. 2012. Nested Data-parallelism on the GPU. ICFP ’12: Proceedings of the 17th ACM SIGPLAN International Conference on Functional Programming, 47, 9 (2012), 247–258. issn:0362-1340 https://doi.org/10.1145/2398856.2364563
[4]
André Bernemann, Ralph Schreyer, and Klaus Spanderen. 2010. Pricing structured equity products on GPUs. In 2010 IEEE Workshop on High Performance Computational Finance. IEEE, 1–7. https://doi.org/10.1109/WHPCF.2010.5671821
[5]
Guy E. Blelloch. 1989. Scans as Primitive Parallel Operations. Computers, IEEE Trans., 38, 11 (1989), 1526–1538. https://doi.org/10.1109/12.42122
[6]
Guy E. Blelloch. 1990. Vector models for data-parallel computing. 75, MIT Press.
[7]
Guy E. Blelloch and John Greiner. 1996. A Provable Time and Space Efficient Implementation of NESL. In Procs. of ACM SIGPLAN International Conference on Functional Programming (ICFP ’96). ACM, 213–225. https://doi.org/10.1145/232627.232650
[8]
Guy E Blelloch, Jonathan C Hardwick, Jay Sipelstein, Marco Zagha, and Siddhartha Chatterjee. 1994. Implementation of a Portable Nested Data-Parallel Language. Journal of parallel and distributed computing, 21, 1 (1994), 4–14. https://doi.org/10.1145/155332.155343
[9]
Phelim P. Boyle. 1986. Option Valuation Using a Three-Jump Process. International Options Journal, 3 (1986), 7–12.
[10]
Damiano Brigo and Fabio Mercurio. 2006. Interest Rate Models - Theory and Practice. Springer. isbn:978-3-540-22149-4
[11]
Duy Minh Dang, Christina C. Christara, and Kenneth R. Jackson. 2014. Graphics processing unit pricing of exotic cross-currency interest rate derivatives with a foreign exchange volatility skew model. Concurrency and Computation: Practice and Experience, 26, 9 (2014), 1609–1625. issn:1532-0626 https://doi.org/10.1002/cpe.2824
[12]
Chen Ding and Ken Kennedy. 1999. Improving Cache Performance in Dynamic Applications Through Data and Computation Reorganization at Run Time. In Procs. of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI ’99). ACM, 229–241. https://doi.org/10.1145/301618.301670
[13]
Matthew Dixon, Jike Chong, and Kurt Keutzer. 2009. Acceleration of Market Value-at-risk Estimation. In Procs. of Workshop on High Performance Computational Finance (WHPCF ’09). ACM, 5:1–5:8. isbn:978-1-60558-716-5 https://doi.org/10.1145/1645413.1645418
[14]
Alexandros V. Gerbessiotis. 2003. Trinomial-tree Based Parallel Option Price Valuations. Parrallel Algorithms and Applications, 18, 4 (2003), issn:1063-7192 https://doi.org/10.1080/10637190310001633655
[15]
Alexandros V. Gerbessiotis. 2004. Architecture independent parallel binomial tree option price valuations. Parallel Comput., 30, 2 (2004), issn:0167-8191 https://doi.org/10.1016/j.parco.2003.09.003
[16]
Fabian Gieseke, Sabina Rosca, Troels Henriksen, Jan Verbesselt, and Cosmin E. Oancea. 2020. Massively-Parallel Change Detection for Satellite Time Series Data with Missing Values. In 2020 IEEE 36th International Conference on Data Engineering (ICDE). 385–396. https://doi.org/10.1109/ICDE48307.2020.00040
[17]
Scott Grauer-Gray, William Killian, Robert Searles, and John Cavazos. 2013. Accelerating financial applications on the GPU. In Procs. of GPGPU-6. ACM, 127–136. isbn:978-1-4503-2017-7 https://doi.org/10.1145/2458523.2458536
[18]
Yechen Gui, Shenzhong Feng, Gaojin Wen, Guijuan Zhang, Yanyi Wan, and Tao Liu. 2013. High Performance Implementation of Binomial Option Pricing Using CUDA. In GPU Solutions to Multi-scale Problems in Science and Engineering. Lecture Notes in Earth System Sciences. Springer, 201–214. https://doi.org/10.1007/978-3-642-16405-7_12
[19]
Troels Henriksen, Frederik Thorœ, Martin Elsman, and Cosmin E. Oancea. 2019. Incremental Flattening for Nested Data Parallelism. In Procs. Symposium on Principles and Practice of Parallel Programming (PPoPP ’19). ACM, 53–67. https://doi.org/10.1145/3293883.3295707
[20]
Kai Huang and Ruppa K. Thulasiram. 2005. Parallel algorithm for pricing American Asian options with multi-dimensional assets. In 19th Int. Symp. on High Performance Computing Systems and Applications (HPCS’05). IEEE, 177–185. https://doi.org/10.1109/HPCS.2005.38
[21]
John Hull. 2017. Options, Futures, and Other Derivatives (10th ed.). Pearson Education.
[22]
John Hull and Alan White. 1990. Valuing Derivative Securities Using the Explicit Finite Difference Method. The Journal of Financial and Quant. Analysis, 25, 1 (1990), 87–100. issn:00221090 https://doi.org/10.2307/2330889
[23]
John Hull and Alan White. 1994. Numerical Procedures for Implementing Term Structure Models I: Single-Factor Models. The Journal of Derivatives, 2, 1 (1994), 7–16. issn:1074-1240, 2168-8524 https://doi.org/10.3905/jod.1994.407902
[24]
John Hull and Alan White. 1996. Using Hull-White Interest Rate Trees. The Journal of Derivatives, 3, 3 (1996), 26–36. issn:1074-1240, 2168-8524 https://doi.org/10.3905/jod.1996.407949
[25]
Fredrik Nord and Erwin Laure. 2011. Monte Carlo Option Pricing with Graphics Processing Units. In Advances in Parallel Computing. IOS Press, 143–150. https://doi.org/10.3233/978-1-61499-041-3-143
[26]
NVIDIA. 2017. NVIDIA Tesla V100 GPU Architecture. NVIDIA Corporation. https://images.nvidia.com/content/volta-architecture/pdf/volta-architecture-whitepaper.pdf
[27]
Cosmin E. Oancea, Christian Andreetta, Jost Berthold, Alain Frisch, and Fritz Henglein. 2012. Financial Software on GPUs: Between Haskell and Fortran. In Procs. of Work. on Functional High-Performance Computing (FHPC ’12). ACM, 61–72. https://doi.org/10.1145/2364474.2364484
[28]
Cosmin E. Oancea and Alan Mycroft. 2008. Set-Congruence Dynamic Analysis for Thread-Level Speculation (TLS). In Languages and Compilers for Parallel Computing, José Nelson Amaral (Ed.). Springer, 156–171. isbn:978-3-540-89739-2 https://doi.org/10.1007/978-3-540-89740-8_11
[29]
Cosmin E. Oancea and Lawrence Rauchwerger. 2013. A Hybrid Approach to Proving Memory Reference Monotonicity. In Languages and Compilers for Parallel Computing (LCPC’11) (LNCS, Vol. 7146). Springer, 61–75. https://doi.org/10.1007/978-3-642-36036-7_5
[30]
Cosmin E. Oancea, Jason W. A. Selby, Mark Giesbrecht, and Stephen M. Watt. 2005. Distributed Models of Thread-Level Speculation. In Procs. of Int. Conf. on Parallel and Distributed Processing Techniques and Applications (PDPTA’05). 920–927. https://doi.org/10.1145/1370082.1370090
[31]
Lawrence Rauchwerger, Nancy Amato, and David Padua. 1995. A Scalable Method for Run Time Loop Parallelization. Int. Journal of Par. Prog, 26 (1995), 26–6. https://doi.org/10.1007/BF02577866
[32]
Hannes Schabauer, Ronald Hochreiter, and Georg Ch Pflug. 2008. Parallelization of Pricing Path-Dependent Financial Instruments on Bounded Trinomial Lattices. In Computational Science - ICCS. Springer, 408–415. https://doi.org/10.1007/978-3-540-69387-1_46
[33]
Michelle Mills Strout, Larry Carter, and Jeanne Ferrante. 2003. Compile-time Composition of Run-time Data and Iteration Reorderings. In Procs. Conference on Programming Language Design and Implementation (PLDI ’03). ACM, 91–102. isbn:1-58113-662-5 https://doi.org/10.1145/781131.781142
[34]
Michelle Mills Strout, Mary Hall, and Catherine Olschanowsky. 2018. The Sparse Polyhedral Framework: Composing Compiler-Generated Inspector-Executor Code. Proc. IEEE, 106, 11 (2018), 1921–1934. https://doi.org/10.1109/JPROC.2018.2857721
[35]
Simon Suo, Ruiming Zhu, Ryan Attridge, and Justin Wan. 2015. GPU option pricing. In WHPCF ’15: Proceedings of the 8th Workshop on High Performance Computational Finance. ACM, 1–6. https://doi.org/10.1145/2830556.2830564
[36]
Alexios Theiakos, Jurgen Tas, Han van der Lem, and Drona Kandhai. 2015. Ultra-Fast Scenario Analysis of Mortgage Prepayment Risk. SSRN. https://doi.org/10.21314/JOR.2015.323
[37]
Nan Zhang, Chi-Un Lei, and Ka Lok Man. 2012. Binomial American Option Pricing on CPU-GPU Hetergenous System. Engineering Letters, 20, 3 (2012), 279–285. issn:1816093X

Cited By

View all
  • (2023)Seasonal-Trend Time Series Decomposition on Graphics Processing Units2023 IEEE International Conference on Big Data (BigData)10.1109/BigData59044.2023.10386208(5914-5923)Online publication date: 15-Dec-2023

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ARRAY 2021: Proceedings of the 7th ACM SIGPLAN International Workshop on Libraries, Languages and Compilers for Array Programming
June 2021
50 pages
ISBN:9781450384667
DOI:10.1145/3460944
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 18 June 2021

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Compilers
  2. Computational Finance
  3. Derivative Pricing
  4. GPGPU (Parallel) Programming

Qualifiers

  • Research-article

Conference

PLDI '21
Sponsor:

Acceptance Rates

Overall Acceptance Rate 17 of 25 submissions, 68%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)5
  • Downloads (Last 6 weeks)0
Reflects downloads up to 15 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2023)Seasonal-Trend Time Series Decomposition on Graphics Processing Units2023 IEEE International Conference on Big Data (BigData)10.1109/BigData59044.2023.10386208(5914-5923)Online publication date: 15-Dec-2023

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media