Every day brings news of either more failures of the financial systems or out-right fraud, with the $50 billion Bernard Madoff Ponzi scheme being the latest, breaking all records.
Fraud such as this further deteriorates confidence in an already melting economy. Could this have been avoided? I’m sure crooks will always find a way to fool others, but we can certainly do a better job to reduce the impact of such fraud by applying better risk measurment and regulation.
HPCWire raised the possibility that the crisis could spark additional
investment in high performance computing (HPC), particularly for
number-crunching in risk management. ???Given the likelihood of
regulatory changes for the financial services market, along with the
obvious need for better risk assessment and management, higher
productivity, greater cost-efficiency and more advanced global economic
modeling, it seems all of the right drivers are there,??? writes Diane
Last week i took part in a cloud-related event in Singapore in which Francis Ng from Cluster Tech presented a solution for running risk management calculations using Microsoft Excel as the front-end and GigaSpaecs XAP.Net as the back-end platform. Quoting from the presentation abstract:
In the Financial Services industry, traders and risk analysts stress their
Excel spreadsheets by inputting large volumes of data from web services
and then process them in complicated simulations and pricing
algorithms. Utilizing GigaSpaces eXtreme Application Platform (XAP),
users are now able to run Monte Carlo Simulations, VaR calculations,
and other parallel applications on a cloud. They will no longer suffer
from overloading desktop CPUs, long processing times and frequent
crashes. The cloud can scale on demand and collaboration between
multiple Excel users becomes easier. Clustertech has helped one of the
largest banks in China transform their trading floor by speeding up
pricing and quotations, as well as enhancing risk control. In this
presentation, we will show how to port spreadsheet applications to a
Francis presented a live demonstration of the solution, which is being deployed at one of the largest banks in China. Here’s a brief video. Apologies for the poor quality, it was shot from my phone camera:
In the following section i’ll try to provide a technical overview of their solution
Technical overview of the solution:
The diagram below provides a general overview of components that comprised the solution as was implemented in one of the bank.
- End user client applications
- Excel viewer – This is the trader application that uses excel to view the market and make actions
- Risk management client – the risk management client is monitoring the risk of the deals that are being placed in the system. In this case it uses excel the UI for this type of calculation.
- Market data feeder – the market data feeder subscribes to market changed and submit those changes to the the in-memory GigaSpaces cloud.
- Computation result service – The computation result service listen for new deals and issue Risk measurment tasks that are later populated to the risk management client
- Computation Service – responsible for running the Monte Carlo
simulation for calculating the risk.
- Mirror Service – responsible for aggregating all the results into the a database in asynchronous fashion to avoid reduce the performance bottleneck. Other mid-office applications uses that data to directly from the database.
The diagram below show typical flow on how user submit quotation to the system using the calculation service.
As can be seen in the diagram above the viewer submit a quotation to the space. The calculation service waits for incoming quatoes and calculate that. The result is sent back to the space and retrieved presented in the relevant cell in the excel client.
Parallel Monte Carlo simulation service:
This service is responsible for taking risk calculation tasks and produce a risk result using a Map/Reduce pattern.
The risk calculation request is submitted by the trader through the excel User Defined Function (UDF) –
The UDF is responsible for breaking the request into sub-tasks that are then executed in parallel by the GigaSpaces calculation processing-units.
A reducer is responsible for aggregating all the results into a single package that is then delivered back to the excel client application. During this process the user can check the progress of its calculation by monitoring the amount of pending tasks and results in the space.
Event Driven risk calculation
The user first submit a deal to the space. All deals are monitored by the Computation Result service that issue a Risk calculation request to the space. The computations agents picks that request, calculate the risk and submit back a risk result object to the space. The Risk management user monitors all risk result through the excel client.
This solution is a good example that shows how one can take even a complex stand alone application and transform it into a SaaS model using XAP and get all the benefit that comes with it such as the ability to scale easily beyond the capacity of the trader machine. The fact that now most of the logic runs on the server makes it easier to regulate the way risk are being calculated in one central place. You can easily integrate other services without changing the client applications. Client can log-off and log-on without loosing their computation. In addition to that you can easily integrate between market/data and other middle-office applications and move them into a common environment.
XAP .Net enables you to easily interoperable between the .Net and Java world – for example the calculation engine can easily run on Linux boxes or even run calculation built on C++, all that interoperability happens on the server and is completely decoupled from the client desktop.
You can easily use that model to leverage our new cloud-tools and run the entire back-end services on one of the public or private cloud and leverage the pay-per use model to reduce the cost of running this type of calculation.
There has been many attempts in the past to address this challenge. Many of them failed from the simple reason that they tried to impose new server and client model at the same time. In reality it was almost impossible to force most traders to move from using excel.
The approach that was presented in this post enable you to move existing users to this type of distributed model while keeping the trader happy with his excel desktop. Since now our client and service are decoupled we can easily plug other type of client such as Google-spread-sheet or web client if we want to a zero installation.
I’m hoping that this type of approach will be our small contribution to reduce the chances for seeing this type of fraud from happening in the future.
Getting the Demo
The demo is not available online yet but those who are interested can send email to “info at gigaspaces dot com” and will let you know as soon as it becomes available.