Home > Technical Reference > System Architecture

System Architecture

Cloud Architecture




The Vector Risk service consists of two main services; the risk engine and workflow, each accessible via a set of web services. The risk engine also has a very clear API between the simulation processes and pricing libraries. The Vector Risk GUI allows users to monitor progress of load and calculation tasks, drilldown results and explore configuration settings.

Typically an organisation will schedule a daily load of trades and rates to the workflow server’s web services. Reports can be viewed in the GUI or automatically accessed from a secure URL.

As highlighted in the diagram, Vector Risk has two key partnerships that provide optional functionality - ICE Data services rate histories, and Finastra Fusion Fabric.cloud for instant mapping out of Finastra trading systems.


Risk Engine Architecture




With the Microsoft HPC architecture workload is distributed across multiple CPUs on multiple computers. Multi-threading within the risk engine also allows a single calculation to be spread across multiple processor cores. However this is only part of the story. The most important technical feature is vectorisation.

Vectorisation gives an 80 times speed-up over normal code.

Simulations involve valuing the same trade across hundreds or thousands of potential future rate scenarios. Normal code would do this by performing the valuation one scenario at a time, continuously swapping bits of the pricing code in and out of the CPU. Vectorised code treats the rates across all the scenarios as an array so each piece of the valuation code stays in the CPU while a “pipeline” of rates gets passed through it. The upshot of this is that there is much less swapping of code in the CPU leading to much more useful throughput.

Vector Risk has developed a set of vector template functions that underpins its pricing library and risk engine. The unique feature of these template functions is that they are non-invasive. The pricing code looks like normal well organised c++ code that can be supported or built on without the need to attain esoteric coding skills, however these templates allow thousands of scenarios in a Monte Carlo or historic simulation to be processed in one pass of the pricing code, instead of looping through the scenarios one at a time.


Product Architecture

The library is written in C++. Details of the structure of the library can be found in the section Pricing Functions in the Analytic Reference.

Each product is built on a base class that enforces certain standards with the critical outcome that they can be "inspected" from the GUI. This means the product inputs are self-documenting. The code that describes the inputs in the "Product Inspect" screen is the same code that interprets the supplied trade data and alerts the user to any mismatches between the data and the product definition.

The product function standards are as follows:

 



See also
Security
Workflow Automation
Risk Engine Web Services