Two years after adopting its “cloud-first” strategy, Scotiabank has seen a significant performance improvement from the firm’s X-Value Adjustment trading desk, according to bank officials.
Before the desk deployed 60% of its risk calculations onto dedicated graphic processors units hosted in Microsoft’s Azure cloud in March, it relied on the firm’s internal computing infrastructure and legacy models that calculated a trade’s price overnight.
The XVA desk managed to reduce trade-calculation processing times for typical trades by medium-sized counterparties from 20 minutes to 20 seconds in the new environment, according to Karin Bergeron, managing director and head of the X-Value Adjustment trading desk at Scotiabank.
The increased performance, the elastic nature of processing resources, and the integration of algorithmic adjoint differentiation provided Bergeron’s team with a better way to hedge and mirror the risk on their books by running ten times the scenarios they ran previously.
Scotiabank has worked with Microsoft and the Numerical Algorithms Group, which provided its algorithmic differentiation software, in an iterative fashion to develop and deploy the existing environment and plans further incremental deployments for its XVA trading desk.
“Rather than knowing what happens if interest rates move by one basis point, now I can know what happens if rates move by a basis point and FX moves at the same time and credit
The current environment relies on Nvidia Tesla K82 GPUs, which is a somewhat older technology, but the bank plans to migrate to Nvidia Tesla V100 series of processors, according to Andrew Green, managing director and XVA Lead Quant at Scotiabank.
The decision to run the desk’s calculations on GPUs was not a difficult one given that GPUs are better adept at massive parallel computation and their CUDA programming language is not as complicated as the programming languages for other specialized processors like field-programmable gate arrays.
“In my experience, a strong C++ programmer can write easily in CUDA,” said Green. “It’s not that big of a leap for people who have experience with C++. You do need to find quants and quant developers that have the right kind of C++ experience to do this. The transition takes a little bit of time, but generally speaking, it is not that difficult.”