
Beyond Object‐Orientation: C++ Application Design for Computational Finance – A Defined Process from Problem to Parallel Code
Author(s) -
Duffy Daniel J.
Publication year - 2018
Publication title -
wilmott
Language(s) - English
Resource type - Journals
eISSN - 1541-8286
pISSN - 1540-6962
DOI - 10.1002/wilm.10647
Subject(s) - computer science , maintainability , programming style , programming language , leverage (statistics) , code refactoring , object oriented programming , computational finance , scope (computer science) , continuation , software engineering , software , programming paradigm , theoretical computer science , artificial intelligence , statistics , mathematics
In this article we introduce a defined and repeatable process to analyze, design, and implement software systems using a combination of techniques taken from Structured Analysis and the object‐oriented programming style. We use top‐down system decomposition and bottom‐up programming techniques to create software systems. We also show how to leverage the new multi‐paradigm features in C++ to promote maintainability and extendibility of the resulting code, and how to integrate C++ multi‐threading and multi‐tasking libraries with our model. As an example to reduce the scope, we introduce a model for Monte Carlo option pricing that we design and realize using several different language features in C++. The steps in the transformation from problem description to code are applicable to other kinds of system (for example, PDE and risk applications), as well as other programming languages (for example, C#). This article represents a continuation of the work in Duffy (2017), Duffy and Palley (2017), and Wilmott, Lewis, and Duffy (2014).