
C++11, C++14, and C++17 for the Impatient: Opportunities in Computational Finance
Author(s) -
Duffy Daniel J.,
Palley Avi R.
Publication year - 2017
Publication title -
wilmott
Language(s) - English
Resource type - Journals
eISSN - 1541-8286
pISSN - 1540-6962
DOI - 10.1002/wilm.10606
Subject(s) - computer science , blueprint , domain (mathematical analysis) , computational finance , programming language , usability , software engineering , porting , focus (optics) , process (computing) , software , theoretical computer science , operating system , finance , mechanical engineering , mathematical analysis , physics , mathematics , optics , engineering , economics
This is the first article in a mini series of two articles on applying C++11 to computational finance. Here we focus on the new syntax and features that improve and enhance the efficiency, reliability, and usability of C++ as a language for application development. We introduce the C++ building blocks in the form of data types, containers, and polymorphic function types that allow developers to design applications based on a combination of the object (‐oriented), generic, and functional programming styles. In the second article we will introduce a language‐independent defined process based on domain architectures (Duffy, 2004) to decompose a software system into loosely coupled subsystems, each of which has a single responsibility and having well‐defined interfaces to and from other subsystems. Having created a design blueprint (similar to an architectural drawing), we then implement the subsystems using the multiparadigm programming features in C++. We then design and implement a Monte Carlo option pricing framework in C++11 by mapping a specific domain architecture to C++11. We also show how the same design blueprint can be implemented in C#.