Depending on the UnRisk solution different strategies working with data exist. For UnRisk Quant and UnRisk Pricing Engine no database is included in the product but a variety of supported interfaces allow the users to plug in their own data sources.

  • Excel workbooks
  • CSV files
  • User databases via database connectors
  • HDF5 files
  • XML files
  • ...

UnRisk Bank and UnRisk Capital Manager come with their own database and their own adaptors. These adaptors are repsonsible for the transformation of the external data into the internal data model. For some of the most widely used data providers UnRisk offers preimplemented solutions (for example Bloomberg).

The UnRisk FACTORY keeps all data in a database which can be accessed directly via SQL views or indirectly by means of a SOAP based web service. See the page on UnRisk Communication Service for examples.

The UnRisk Communication Services

The UnRisk WebService is part of the UnRisk FACTORY. It makes the data stored in the UnRisk database available via a SOAP web service. SOAP clients can be automatically generated for different programming languages through the SOAP WSDL interface description:

By the use of this UnRiskQ financial language the user may import UnRisk objects from the UnRisk FACTORY database into an interactive Mathematica sesssion.

The following code shows an example session which retrieves instruments from the UnRisk FACTORY database:

InstallWebService["http://factory.unrisk.com:8080/unriskwebservice/ws?wsdl", "user", "pwd"]

MyInstrumentNames = GetInstrumentNamesFromType["General Swap"]
{56545 Swap,56720 Swap,ao_Example5,ARC Gleitzins Test 3,ARC Gleitzins Test 3 with Call,ARC Gleitzins ZS-15B,ARC Plain Vanilla Swap Test 4,ARC Plain Vanilla Swap Test 5,ARC Plain Vanilla Swap Test 5_1,ARC Plain Vanilla Swap Test 5_2,ARC Plain Vanilla Swap Test 5_3,ARC Plain Vanilla Swap Test 5_4,ARC Plain Vanilla Swap Test 5_5,ARC Plain Vanilla Swap ZS-10,Callable Ratchet Swap B,callablegcmswap_w,for implied060613,genswapforset2103,Swap 12026,TEMPLATE: Average Rate Swap,TEMPLATE: Callable Digital Range Accrual Swap,TEMPLATE: Callable General CM Swap,TEMPLATE: Callable Quanto Swap,TEMPLATE: Callable Ratchet Swap,TEMPLATE: Callable Snowball Swap,TEMPLATE: Callable Spread Range Accrual Swap,TEMPLATE: Callable Steepener Swap,TEMPLATE: Callable Steepener Type 2 Swap,TEMPLATE: Callable Steepener Type 3 Swap,TEMPLATE: TAR Steepener Swap,TEMPLATE: Target Redemption Swap}

MyInst2=GetInstrument["TEMPLATE: Callable Digital Range Accrual Swap"  ,{2012,10,22},IRTimeQualifier->"Intraday",IRTypeQualifier->"Mid",VolTimeQualifier->"Intraday",VolTypeQualifier->"Mid",FXTimeQualifier->"Intraday",FXTypeQualifier->"Mid"]
{Instrument->---Callable / Putable Digital Range Accrual Swap---,Instrument Type->Callable / Putable Digital Range Accrual Swap,Instrument Construction Info->SUCCESS,Maturity Date->{2018,10,10},Reverse Sign->False,Settlement Delay->3,ISIN->Null,Creator Role->Admin,Issuer->Null,Foreign Key Text Part 1->Null,Foreign Key Text Part 2->Null,Foreign Key Integer Part->Null,UnRisk FACTORY Type->GeneralSwap,Mode->Private,Credit Default Swap Curve->Null,Credit Curve->Null}

The instruments can then be valuated within the interactive session:

ValuateWS["TEMPLATE: Target Redemption Swap", {2012, 10, 22}, 
 IRTimeQualifier -> "Intraday", IRTypeQualifier -> "Mid", 
 VolTimeQualifier -> "Intraday", VolTypeQualifier -> "Mid", 
 FXTimeQualifier -> "Intraday", FXTypeQualifier -> "Mid", 
 ValuationParameters -> MySingleCurveParams]

{Dirty Value->-2.4209,Clean Value->-2.41966,Accrued Interest->-0.00124385,Option Value->0.,Settlement Date->{2012,10,25}}

The backbone of all UnRisk products are the UnRisk Engines, all programmed in C++. 

Valuation Engine:

Covers the calibration of models and the valuation of financial instruments. Highly advanced numerical schemes are used to provide fast and robust solutions. A critical step in the valuation process is the parameter identification for the models used for the simulation of the underlying risk factors, as the inverse problem may be ill-posed. Our algorithms targeting and solving these inverse problems have been developed together with some of the leading mathematicians in this fields. For the solution of the forward problem (valuation) UnRisk chooses among different methods including the solution of PDEs with Finite Difference/Finite Element schemes, the solution of SDEs with (Quasi-) Monte-Carlo methods as well as direct integration methods like Adaptive Integration and Fourier based techniques. The UnRisk Valuation Engine covers many models and a vast variety of deal types.

VaR Engine

Covers parametric, historic and Monte Carlo Value at Risk calculations for a variety of risk factors. For a deeper understanding of the sources of risk, the VaR Engine allows the calculation of incremental, marginal and contribution VaR from single instruments up to the portfolio level. Besides the VaR other important key ratios, like the expected shortfall, are calculated. Routines for backtesting the results are included. Also scenario analysis and stress testing are part of the engine.

xVA Engine

Utilizing our most advanced numerical schemes, UnRisk xVA engine is capable of simulating expsoures and calculating derived quantities like CVA and DVA. All risk factors of a portfolio are simulated together to create market scenarios - all instruments of a portfolio are evaluated under these scenarios to obtain the exposures. In the aggregation process, netting can be applied and the xVA management ratios are calculated taken into account probabilities of default for the counterparty and the institution.

The following figure given an overwiew about the UnRisk FACTORY architecture:

Once the UnRisk FACTORY is deployed, it consists of the following components.

  • a database which stores all the data related to financial risk management (instrument data, market data, computed risk measures, accounting and meta data).
  • a web server which implements the web front end which can be accessed by users through a web browser.
  • an adapter process which allows for importing data from foreign systems.
  • a service process which controls the computational grid.
  • a computational grid which performs risk measure computations in parallel using a MapReduce based parallelization strategy.
  • a web-service which allows for accessing data stored in the UnRisk FACTORY database programmatically.
  • a monitor application to administer all UnRisk FACTORY related processes.

The UnRisk Financial Language (UFL) is a domain specific language giving the user the possibility to describe objects in the world of quantitative finance. As it is oriented on the terms and concepts quants and risk managers see in their daily work UFL is a high level interface. 

UFL provides classes for a large number of different objects:

  • Instruments and instrument groups
  • Portfolios
  • Financial models
  • Market data
  • Calculation control
  • Calculation results 

It is written in C++ and makes heavy use of template classes allowing the users to realise orthogonal concepts in free combination. The key benefits for the users are:

  • Consistent interfaces (for example across asset classes)
  • Large scope of operation by combining simple to understand building bricks 

 

As an example we show the template class hierachy for financial instruments. Additionally to the  basis instruments like InterestRateInstrument, FXInstrument, Equity and Commodity the hirachy Derivative<Tunderlying> allows the description of derivatives on the basis instruments as well as on derivative instruments. 

For example the user can describe a single barrier option on an equity (SingleBarrierOption<Equity>), on a commodity (SingleBarrierOption<Commodity>) or on a commodity future (SingleBarrierOption<Future<Commodity>>) in a consistent scheme and notation. The interface of the resulting class is build from the interface template of the SingleBarrierOption and the class interface of the underlying (for example Commodity).

 

News

UnRisk @ Spezialtag MiFID II

UnRisk @ Spezialtag MiFID II

UnRisk will speak at Spezialtag MiFID II am 06.12.2016: Anlageberatung 4.0...

Read more

UnRisk consortium and Multilateral AG teamed up to found UnRiskOmega AG

UnRisk consortium and Multilateral AG teamed up to found UnRiskOmega AG

UnRiskOmega is a cooperation of the three companies multilateral AG, uni softwar...

Read more

Mathematica & UnRisk Workshop in Paris

Mathematica & UnRisk Workshop in Paris

Wolfram Research and UnRisk have teamed up again to invite you to a free worksho...

Read more

UnRisk in Paris

UnRisk in Paris

We are deligthed that UnRisk has spoken at the Wolfram Finance Event "A Workout...

Read more

UnRisk Pricing Engine 8.1 Released

UnRisk Pricing Engine 8.1 Released

UnRisk today announced it has released UnRisk 8.1, an enhanced version of UnRisk...

Read more

UnRisk Factory 6 is here

UnRisk Factory 6 is here

UnRisk Factory 6 is realeased with new features in valuation, instruments, marke...

Read more

UnRisk 8 Released

UnRisk 8 Released

UnRisk today announced it has released UnRisk 8, an enhanced version of UnRisk-Q...

Read more

Success Stories

UnRisk and Solventis - Or How To Build Up a SaaS Solution with UnRisk Technologies

UnRisk and Solventis - Or How To Build Up a SaaS Solution with UnRisk Technologies

Solventis is an independent financial group established in 2002 by a team of pro...

Read more

UnRisk seals cooperation with multilateral AG

UnRisk seals cooperation with multilateral AG

multilateral AG is an innovative Swiss IT-Consulting and software engineering co...

Read more

Dupire - Robust Calibration of Local Volatility Models

Dupire - Robust Calibration of Local Volatility Models

For the so-called local volatility model, Bruno Dupire derived a closed form sol...

Read more

Workout in Computational Finance

Workout in Computational Finance

The intention of the book is to give a sound overview on numerical methods which...

Read more