A variety of applications in quantitative finance are computationally extremely demanding. For instance VaR or CVA calculations, even hundreds of millions of single instrument valuations need to be performed. newUnRisk will meet these demands by utilizing a two-fold strategy, coarse and fine parallelization. At the coarse parallelization level, each valuation in newUnRisk is represented by an object (ValuationObject) that holds all necessary information for the calculation task. These objects can be collected in a so called valuation pool, which is responsible for distributing the different valuations throughout the parallel hardware environment. The standard and portable Message Passing Interface (MPI) is used to set up the communication, ensuring support for a large variety of parallel system architectures.

Schematic display of the Valuation pool distributing the Valuation Objects to cluster nodes.

coarse parallelization

The fine grain parallelization aims at the efficient valuation of single instruments. newUnRisk will provide inherently parallel algorithms based on OpenCL technology, which is chosen for two reasons: First, it allows the parallelization of code on both multicore architectures and as on GPUs. Second use of this technology is not restricted to a specific hardware vendor.

Schematic display of the parallelization of a single instrument valuation on a node. Either multicore CPUs or GPUs can be used to speed up the calculations.

fine parallelization

The following code snippet shows OpenCL code used for path generation for a 1F Hull White Model.

#ifndef Real_t

#define Real_t float

#endif

 

#ifndef mint

#define mint int

#endif

 

#ifndef THREADS_PER_BLOCK

#define THREADS_PER_BLOCK 32

#endif

 

 

__kernel void simulateHullWhiteRatesGPU_kernel(mint nop, mint tgmcs, Real_t shortRate,  const __global Real_t* cd_drift,

const __global Real_t* cd_speed, const __global Real_t* cd_volatility,

const __global Real_t* cd_tgmcdb, __global Real_t* d_rn)  {

// one thread per path

unsigned mint pid = get_global_id(0);

mint size = tgmcs-1;

if (pid < nop) {

d_rn[pid] = shortRate + (cd_drift[0] - cd_speed[0]*shortRate)*cd_tgmcdb[0] + cd_volatility[0]*d_rn[pid];

for (mint j=1; j

d_rn[pid+j*nop] = d_rn[pid+(j-1)*nop] + (cd_drift[j] - cd_speed[j]*d_rn[pid+(j-1)*nop])*cd_tgmcdb[j] + cd_volatility[j]*d_rn[pid+j*nop];

}

}

}

 

Our OpenCL codes are tested in Mathematica - the programs support of OpenCL makes Mathematica an efficient testing platforms for algorithms and their execution on either GPU or CPU.

MathematicaOpenCL

Employing this two-fold strategy - spreading different instrument valuations on cluster nodes and speeding up the single instrument valuation locally by applying OpenCL based highly efficient algorithms - newUnrisk is not only capable to meet current demands in quantitative finance but is also fit for future trends.


 

News

UnRisk @ Quant Insights Conference

UnRisk @ Quant Insights Conference

UnRisk sponsors two talks at this years QI conference: The Different Truths of I...

Read more

UnRisk @ Phygitale Bankfiliale & Phygitale Bankberatung

UnRisk @ Phygitale Bankfiliale & Phygitale Bankberatung

UnRisk will speak at the event at 7th and 8th of Nov. 2017 at Renaissance Hotel...

Read more

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

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 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