Wittgenstein's Ladder

I like Wittgenstein's Ladder in Tractatus Logico-Philosophicus: to go beyond you must throw away the ladder you climbed up (but you must have climbed up).

We are working on the All-New UnRisk.

Our UnRiskverse is fruit of an evolutionary approach.

First layer - grid supporting
For our numerically optimized pricing and calibration engines in C++ we have transferred the most advanced solvers from complex technical problem solving (chemical reactors, combustion engines, ..) to finance. Instead of the widely used tree-based or finite difference methods, we use Adaptive Integration, Finite Elements with Streamline Diffusion to solve the most sophisticated financial PDEs backwards in time for accuracy at speed, stability and robustness. Extended by (Quasi)Montecarlo with Longstaff Schwartz for models that can only be solved forwards. If possible FFT and wavelet techniques for in-milliseconds solving.
To avoid traps that are intrinsic in inverse problems we apply tricky regularization techniques in our calibration engine.
Adapting to the multi-core revolution we apply coarse grain parallelization.

All-New first layer - driving OpenCL over the grid
With the new computing muscles built by hybrid CPU/GPU architectures we can apply simpler general purpose algorithms.
As early adopters of this future technologies we are able to re-implement our code base optimized and platform-agnostisc - massively parallelized in OpenCL.
We can verify the new solvers by checking their I/O relations with those of the bank-proof solvers in C++.

Second layer - declarative programming
We integrated our number crunches into Mathematica and extended Mathematica into the universe of derivatives, portfolios, scenarios, models, methods, schedules, events, ... creating a domain specific language in the functional paradigm. From Mathematica, not common in financial circle at that time, we exploited two major principles: declarative programming and link technologies.
In not so rare cases, we develop UnRisk in UnRisk.

All-New second underlying layer - a unified description layer in C++
Having gained deep insight into the structure of a clean generic design by using Mathematica, we were able to decide to come closer to it by introducing new layer with a unified description of the financial objects and operations - in C++.

This layer will empower us to exploit the new support of C++ in Mathematica 8 in a generic sense and it will make the UnRisk Core even more open to multi-programming language integration.
For those who want to rely on bank-proof, blazingly fast pricing and calibration engines with a unified access from Mathematica in combination with other languages.

Us and creative copiers.