Keywords

1 Summary

Financial services is one of the fastest growing areas of applied scientific computing [1]. Computationally intensive problems solved by financial services require not only an extensive array of traditional x86 processors but have shown to benefit from other exotic and proprietary hardware such as GPU [2, 3], FPGA [4, 5] and even custom ASIC [6]. In addition to the heterogeneity of the infrastructure, different methods of computation have also been applied in financial services such machine learning, AI [7], various simulation methods [4, 5, 8,9,10], along with many different mathematical techniques from statistics, to numerical methods [11] to Stochastic Differential Equations [12]. This paper aims to provide a short survey of the top computationally intensive workloads in financial services, and the methods and techniques used to solve them. First, the top business questions that lead to computationally difficult problems will be outlined. This is followed by some methods used to solve these problems, albeit most use some form of heuristic method due to the difficulty entailed. We will then delve into the runtime aspect of these problems and what capabilities cloud, mainly Azure [13], provides vis-à-vis infrastructure capabilities to aide in solving said challenges.

2 Overview of Challenges in Financial Services

The majority of the complex problems in finance stem from one of the following three areas: (a) pricing, valuing and hedging of securities, (b) risk management [14] and (c) portfolio optimization [15].

Pricing of securities involved complex mathematical methods, most of which can only be solved using numerical methods or heuristically using methods like Monte Carlo simulations [3, 16,17,18]. The complexity arises from the fact that stock prices follow Brownian Motion (BM) in that they move in an irregular, non-differentiable, and non-smooth fashion [19]. To model stock prices, and as a result, the rest of the financial markets, the non-differentiability aspect of Brownian Motion requires the use of Stochastic Differential Equations (SDEs) [12]. SDEs discretize stock prices into infinitesimal pieces, model or simulate each component, and collect the result set.

The primary goal of risk management is to estimate the loss with a certain level of confidence ($11.55–$11.57 million with a confidence level of 99%, for example). The potential loss translates to capital requirement from a regulatory perspective, and to trading decision from a portfolio optimization perspective [14]. Risk management encompasses a number of different risk calculations, some of which are regulatory enforced [20,21,22,23]. The majority of risk calculations require vast computational power due to the complexity of the problem [9, 10, 24,25,26,27,28,29].

Portfolio optimization is affected by the preferences set by the investor, the constraints set by the investor, governmental bodies, regulations, taxes and many other decisions made to optimize the portfolio based on the aforementioned preferences and constraints [1]. Taxes and tax implications have particularly shown to have a great implication on portfolio optimization [30].

The aforementioned complexities are caused by mathematical challenges. Solving these problems using the set of tools and techniques at our disposal has received a great deal of attention over the years, and that research is still ongoing. Some of the details behind the mathematical problems will further be explored in the next section.

The ability to efficiently use the available technologies such as cloud, multi-core processors, FPGA’s, GPUs, and purpose-build hardware in order to adequately and cost effectively solve complex mathematical methods will be covered in the later section of this paper.

3 Computational Challenges in Pricing and Valuating Securities

Derivative securities have payoff functions that are dependent on other securities, known as the underlying [31]. The primary use of derivatives is to hedge own risk or transfer the risk to others [14]. Pricing and valuing European options, American options, Asian options, Mortgage Backed Securities (MBS), credit derivatives, credit default swaps, and collateral debt obligations [11, 16, 32,33,34,35] are examples of derivative securities which present a computational challenge in finance. They all depend on the value, price and performance of one or more underlying securities such as bonds or equities.

Monte Carlo (MC) method is used to simulate and determine options pricing. MC heavily depends of random numbers or pseudo-random numbers for pseudo-Monte Carlo [4] simulations. Generating truly random numbers at scale represents a computational challenge in financial services [36, 37]. The Computational complexity of the standard MC is O(n3) [38], with n representing the random number generated for the simulation. Reducing the computational complexity of MC to anything lower represents another challenge in financial services [39].

Pricing of exotic options [40] represent another computational challenge in finance [39]. Exotic options can be used in trading of different asset classes like commodities: coffee, corn, pork belly, and crude oil, along with equities, bonds and foreign exchange. All the aforementioned components need to be discretized individually. As different asset classes are added to the mix, discretizing will become a challenge, and prone to error [41]. As a result, the combinatorial of different choices of asset classes is explored, which itself introduces another computational challenge in financial services.

4 Computational Challenges in Risk Management

The core of risk management is to measure risk in the context of [42]:

  • Market Risk as it relates to changes in prices of assets

  • Value-at-Risk (VaR) as it relates to determining with a level of confidence the maximum loss over a period of time

  • Credit Risk as it relates to the level of loss vis-à-vis probability of default of a payment of a loan or borrowing

  • Operational Risk as it relates to the loss due to operational processes or an event, internal or externally caused

  • Liquidity Risk as it relates to the inability of a financial institution to transform from one asset class to another

Monte Carlo (MC) or pseudo-Monte Carlo methods are generally used to calculate Value-at-Risk [9], and more generally speaking, to measure the risk posture in financial services. As mentioned in the prior section, the primary goal of risk management is to estimate the loss with a certain level of confidence. Calculating this loss function represents a challenge in financial services [39].

As is the case with heuristic approaches to solve complex problems, there is no single correct answer, so the simulations run many times with different parameters. Multi-level MC simulations are likely as the number of unknowns increase, and those unknowns need to be estimated as well, before final loss function estimation. Finding the balance between what is known as inner- and outer-Monte Carlo in terms of the number of unknowns and calculations represents another challenge in financial services. At the end, the results are collated and analyzed. This is a challenging problem by itself, although not computationally challenging but would fall under data challenges in financial services, as the correct result is not known, and further analysis is required to find the most likely result.

Computational challenges translate to longer running jobs. Even though tremendous amount of effort has gone into parallelizing these runs, there is still much more to be done. Risk calculations have normally been done overnight. Another computational challenge is to reduce the runtime of calculating risk, and moving towards what is known as intraday risk simulation and calculations [39, 43, 44].

5 Computational Challenges in Portfolio Optimization

Portfolio optimization involves a constraint-based allocation problem with an objective function that is based on the preferences set forth by the investor. As the number of investment options increase, so does the difficulty in the decision-making process. Computational finance has been used in portfolio optimization tasks [15], along with more advanced mathematical and optimization techniques [17]. Taxes and tax implication of portfolio optimization has added a level of difficulty to portfolio optimization as well [30]. The computational challenge with portfolio optimization is caused by the dynamicity aspect of the positions in a portfolio, and the quick response requirement that is elevated due to a vast pool of alternatives. Dynamic programming is used to model portfolio optimization [1, 15].

6 Data Challenges

Although the focus has been on computational challenges in finance, challenges in data are tied to the why and the how of the challenges presented.

Financial services has always been a data driven industry, but the conventional methods via which financial data has been managed have become a challenge for financial services. The telemetry generated by a financial transaction: seller information, buyer information, price, P&L, positions, along with industry-related telemetry such as interest rate, commodity prices, equity prices, bond rate, foreign exchange rate, have added to the level of interest coming from financial services. About 70% of US equity trades are machine-driven using High Frequency Trading (HFT) techniques. Due to advancement in technology, there is an exponential increase in data generated by recent HFT. This has translated to Ultrahigh Frequency Data (UHFD), and storing, accessing and making sense out of this data in a reasonable timeframe is a data challenge facing financial services [45]. The interest is shifting to UHFD as UHFD-based volatility models [46] have shown to have improved statistical efficiency, and be very useful in evaluation of daily volatility forecasts [47, 48]. With UHFD, financial services are now able to achieve accurate intraday volatility measures using machine learning techniques and statistical models [45, 49, 50].

However, computational challenges are now facing additional challenges brought upon by the increase in data volume.

7 Solutioning Options

Table 1 summarizes the different computational challenges outlined in this paper. These challenges are solved by financial institutions regularly, and the goal here is provide a survey of approaches to these challenges. This paper considers Microsoft Azure [13] as the cloud provider for this study. Azure offers a broad range of capabilities considered for this research including a range of Virtual machines [51], GPU’s and FPGA’s [52].

Table 1. Summary of challenges and solutioning options

Properties of cloud [53,54,55] have shown to benefit the large-scale needs of financial services. General Purpose GPU (GPGPU) computation can aide in solving problems with high parallelization needs. Field Programmable Gate Arrays (FPGA) based computing has the capability to be customized to a specific problem, and as such to dramatically increase performance.

The overall goal for any option presented is to allow for intra-day risk calculation to occur. Intra-day risk calculation is hindered by strict time requirement. If calculation needs to occur to measure risk across the entire portfolio before the decision on the next transaction to take place, then the timing allotted to do such calculation is bound by the speed of business. In other words, there is no limit on the need to speed up these calculations. This requirement sets the basis for much of the large-scale deployments of compute in financial services.

7.1 Cloud

The properties of cloud such as metered usage, and dynamic provisioning is useful in most cases, specially more so in cases where quick response is needed that would require a dynamic buildout of a new environment [56]. The dynamic provisioning of resources can reduce computation time as it allows virtually unlimited scalability. The dynamicity of cloud to rapidly scale up to 1000’s of VM’s [57, 58] can reduce the need to spent time creating complex models and allow for rapid testing. This can potentially reduce the overall runtime of the calculations and allow for intra-day risk models [59] to run. Fast VMs coupled with the availability of high-speed networking and technology like Infiniband [57, 58] can reduce the interprocess communication delays, which in turn can assist with the task of random number distribution. To tackle the storage bottleneck introduced by UHFD on the cloud, a cloud-based high-speed storage environment would be desirable [60].

Machine learning and optimization techniques are often used for portfolio optimization [15, 61, 62]. A new approach that can potentially replace traditional Monte Carlo simulations with Neural Networks has shown to reduce calculation times exponentially [63].

In additions to the traditional VM-based machine learning deployments, machine learning and optimization models are now finding their way on both Cloud-based FPGAs [62], and GPUs [63, 64].

7.2 GPU

GPU-based infrastructure has been used to speed up risk and pricing calculation in financial services [2, 3, 70]. The many-core capability of GPU’s have the ability to run potentially 1000’s of tasks in parallel, thus reducing the overall runtime. Some cloud-based GPU’s are capable of ~3 Teraflops of double-precision operation across ~5000 cores [71].

As mentioned before, one of the main challenges of financial services is options pricing, and more specifically, exotic options pricing. GPU’s have been used to be able to do both very efficiently [72,73,74]. GPUs have been used develop a Neural Network-based approach to replace Monte Carlo simulations in pricing derivatives [63]. GPUs have the capability to provide raw computational power, with little to change to the method by which these models are solved. FPGA’s, however, have the capability to introduce a new paradigm in solving computational challenges in financial services.

7.3 FPGA

FPGA’s allow for an alternate method of solving computationally challenging problems. Random number generation is inherent in FPGA’s and thus easier to compute as demonstrated in [66]. Quasi-random numbers have also been tested and proven to function at great speeds on FPGA’s [4]. Putting an entire Monte Carlo simulation on an FPGA has also been demonstrated in [5, 75] with a good degree of success.

Azure has demonstrated the performance gain achievable with their FPGA-based SmartNIC [76] network cards. The authors demonstrate a <15 ms VM-VM TCP latencies and 40+ Gbps throughput. The reconfigurability of the FPGA-based network cards proved to be a valuable feature as changes and bugs could simply be deployed in real-time. FPGA’s [and GPU’s] are used as CPU offloads, in that tasks are off-loaded to the FPGA in order to reduce the load on the CPU cores. This does require code change, as the process needs to be FPGA aware to utilize its capabilities. Even though the development costs are higher, cloud providers are still providing FPGA computing -as-a-Service as part of their service portfolio.

8 Conclusion

Financial services need to respond to both governmental regulatory bodies as well as deal with fast paced business environments. The combination of the two has made the financial services sector a hotbed for challenging problems and innovation. Pricing, portfolio optimization, and risk management are the main three areas from which challenges are derived. Computation and data challenges outlined in this paper have received a great deal of attention from the research community. Computational challenges can benefit from the dynamicity and metered pricing of Cloud computing, plus being virtually limitless in scale. FPGA- and GPU-as-a-Service are also becoming available as they are showing a great deal of benefit in solving such problems. The next step for this research is to evaluate specific benefits that stems from using Cloud, FPGA and GPU in solving these challenges.