Pricing and risk calculation for complex financial products is one of today's most common, commercial high performance computing (HPC) applications, with banks typically employing thousands of CPU cores for overnight calculations.
Perceived wisdom is to use low level languages such as C or CUDA to encode HPC calculations, allowing fine tuning of algorithms and optimisation to specific machine architecture. The FPF team at Barclays have taken a very different route, defining payoffs in a high-level DSL, enabling the generation of pricing instructions for multiple platforms and performing a variety of analysis.
Talk objectives: In this talk, the speakers will argue that the key to success in this approach is to restrict the power of the DSL. They will introduce the problem domain; present examples of payoffs in the DSL, FPF Lucid; explain what power in languages means; describe how Lucid is restricted; and quantify some of the benefits achieved from the project.
Target audience: An experience report Software developers