A short story of being lucky
In the mid-1990ies time was ripe for developing PC- based software for quantitative finance, and, being lucky, we were asked to develop some convertible bond tools for a London based trading desk. From that point we built the UnRiskVerse.
ACT 1. Set up and update the foundation: advanced numerical schemes - Pricing and calibration engines will be optimized in OpenCL.
ACT 2. Integration into a mathematical-programming environment - Derivatives, portfolios, scenarios can be described in functional language. We integrated our C++ kernels into Mathematica. More generalized in newUnRisk.
ACT 3. Set a distributed computing environment to work - We multiplied performance by applying coarse grain symbolic parallelisation techniques. A few lines of code transformed UnRisk into gridUnRisk. We will drive OpenCL over the Grid
ACT 4. Set up application data base management - UnRisk’s I/O relations, and control objects are represented in MS SQL Server. To access the database programmatically we have enhanced UnRisk engines with the corresponding tools.
ACT 5. Build a web connection layer - The UnRisk interaction patterns, implemented as a set of Java Server Pages, are part of a Java implementation wrapped up as a Servelet web application. newUnRisk Services will also provide multi-language support.
ACT 6. Tie everything together - Web browser + UnRisk Servelet + database - UnRisk Adapter + UnRisk Service + gridUnRisk + numerical engines interact, using a mix of communication protocols.
ACT 7. Make it scalable - Scalability is outsourced to license management and business modelling.