| Engine | Home

Risksvr™ Technology

Technical Overview
 
Description: Risksvr™ synthesizes numerous years of leading edge quantitative development in C/ modeling Market, Credit and Liquidity Risks into one very powerful and yet extremely compact Calculation Server.  

Risksvr™ is based on the multi-tiered paradigm. This means you can download the exact same engine used on our servers to run locally on your desktop or you can scale across client, servers and one or multiple database[s]. 

Thanks to its distributed components pattern, Risksvr™ can be configured to deliver optimal granularity and performance according to your own analytical needs. 

Hence you set your own targets in terms of analytical power, speed, scalability, setup complexity and usability.

 

To Thread or Not to Thread ?
Threads have become mandatory in most professional applications. 

However there seems to be much abuse about what proper threading should be or do.

It is important to note the engine is capable of sharing data amongst processes and thus uses threaded local storage and other multithreaded singleton processes, but the engine is not multi-threaded per-se. 

This is actually very important and often creates heated debates amongst specialists who haven't yet been there.  

Multi-Threading is actually not a desirable property when computing risk, since it degrades performances and creates bottlenecks. 

The initial 1996 architecture was based upon multithreading, but most of the threading features have since then been disabled since they offer NO advantage in terms of performance. 

In the case of large portfolios, such as the standard 300.000 + trades for ERM, all computations need to share the same data during the run within each time step, so a multithreaded processes will create unnecessary complexities, whereas multiple processes can solve this elegantly. 

After all, who needs to process 300000+ trades in the background while running Excel(R) Concurently!

Considering the industry's current move towards multi-processor architectures, this design makes even more sense!

On the other hand, if numerous small portfolios are processed, then running multiple threads is unjustified, since they can all be run in their own independent process.
Risksvr™ is deliberately conceived to grab all the resources you have allowed it to take during the shortest time-frame possible. 

When properly configured, Risksvr™ will use 98-99% percent of CPU.

Risksvr™ is designed to accept multiple formats coming from different source systems. The engine can thus be run directly from a third party application or on a standalone basis with its own interfaces. 

Risksvr™ has been successfully integrated into numerous operating systems and languages, from shared libraries, JNI for Java development,  ISAPI dlls (for IIS asp integration) , Excel dlls (XLL), Active X & Win32 dlls,  http web server and standalone executables on supercomputers, mainframes, or personal computers. 

Risksvr™ comes with an n-tier database plug-in module. Trades, Market Data, Credit Data, Reports and Setup can be sourced from the same database or split across repositories.

Internal Core Component Architecture

Risksvr™ is built from the following components.

1 An Inherited Object Oriented Trade Structure promoting reuse across trade input & output, validation and valuation. This hierarchy is built on top of a state space instrument definition designed around event driven contingent cash-flow handlers with or without compounding and or averaging.

2- A Generic Term Structure/Curve generator to strip and bootstrap mm spot, forwards, futures (with convexity adjustments), swaps and bonds to generate either pure zero coupon prices or rates or YTM rates. Curves driving the engine can thus be injected either as instruments, a few zero coupon vertices or a continuous stream of zero coupon prices or rates. 

Spread Curves can be defined either in terms of full rates or prices, multiplicative spreads (percentage from Risk-less curve) or absolute (Basis points or %) spreads. 
Currencies are coupled to Risk-less Base curves to improve speed. The module is designed to identify negative Forward Rates. An applicable "Negative Forward Rate Policy" can be applied (Redraw, Remove, Ignore, Antithetic Draw, Mirror)  when the Term structure generator runs into  negative forward rates.

3- A Volatility surface engine to simulate forward smiles across strikes,  prices and maturities.

4- A rank order Time Series Manager for historical or virtual movements. The time series manager can created synthetic absolute or relative series for missing time series data and accelerates quantile computations.

5- An object Oriented position accumulator for absolute and relative computations.

6 - A Simulation Horizon tracker to age positions as they mature through
time. This component links into a policy repository that defines how matured positions are to be re-invested: cash, other positions, the underlying, new options, optimal stopping time (American Options), external.

7.a. A Base Scenario Handler to manipulate sensitivities and scenarios across risk factors.  

7.b. An advanced Scenario Handler to perform predictive stress testing either through fully fledged correlation across all factors or through selected correlation factors from spectral decomposition across or within asset classes. A new module including Credit Curves and advanced Yield Curve shifts (curve twists) as well as implied shifts from other curves is currently under testing and should be released soon).

8.a- A multi-step Counterparty default probability generator. This module includes migration via transition matrices and a conversion engine to derive default probabilities either from survival, hazard rates, obligor correlation, transition matrices,  spreads or growth rates.  

8.b. A stochastic recovery rate generator.
Since recovery rates diminish the loss incurred (and thus the credit risk measurement), stochastic recovery rates are not active by default.

8.c. A Counterparty Risk Factor Singular Value Decomposition  Weighting Scheme to Map Normalized Asset Probabilities (Country / Industry / Index or any other user defined mapping scheme) to Counterparty specific risks (OSR).

9- A multi-step migration to marginal default probability converter.

10-The accelerated P-Lab PRNG (Portable Random Number Generator)Random Generator with multiple random sequence capabilities.

11-A Generic Copula (Gaussian / Multivariate T Distribution) engine to Map Multivariate Normal Distributions to Univariate Distributions to compute Time-to-Default.

12-A Hyperbolic Multidimensional Mean Variance & Variance Sensitivity Newton Optimizer (Risk Radar) 
Module to Compute and Chart Optimal Portfolio Weights according to Moments. 

13-A Multinomial-Cross Referenced Hash-Map-Atomic Object Tree Bucket Controller to accumulate results according to user defined tag.  

14-A Smart Value Pair Parser to capture multiple IO formats (CSV,NVP,XML,HTTP,XHML,ASCII).

15-A Multivariate Multi-Format Generic Matrix Handler to Isolate Correlations within or Across asset Categories, Classes and Maturity  Curves.

16-A Unitized Asset Return Analyzer to circumvent semi-positive. market data.

17-A Credit-Curve Manager to Generate & Convert discrete or continuous credit curves from Hazard Rates, Marginal Conditional Probabilities, Survival Rates, Default Probabilities and Transition Matrices. 

18 - Rating Rank System Converter to adapt one or multiple Transition Matrices from one Rating System to Another Rating System.

19 - A Dynamic Collateral engine for AAA credit enhancement and margin calculations. The Collateral held for each Counterparty Account (Master Agreement / Country of Origin / Rating) is consolidated with the Counterparty's Home office, the Country Exposure and the Netting Agreement policies applicable) and user defined Risk Weights per Rating and Per receivable or Payable Time Bucket. These values can then be aggregated according to rating system rule based weights and factors (liquidity risk, operational risks, gaps and penalties in order to compute individual margin requirements or overall equity buffer capital requirements.

20 - A stream-able architecture to control input and output redirection of every calculation sequence.

 

Try Risksvr Engine™
Online
 


Risksvr™ is a registered Trademark of RiskServers SA.

By accessing and using this page you agree to our Terms of Service..

 

Top of Page