A short story of being luckyIn 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. |