Financial Instrument Pricing Using C++, 2nd Edition

  • 16h 36m
  • Daniel J. Duffy
  • John Wiley & Sons (UK)
  • 2018

An integrated guide to C++ and computational finance

This complete guide to C++ and computational finance is a follow-up and major extension to Daniel J. Duffy's 2004 edition of Financial Instrument Pricing Using C++. Both C++ and computational finance have evolved and changed dramatically in the last ten years and this book documents these improvements. Duffy focuses on these developments and the advantages for the quant developer by:

  • Delving into a detailed account of the new C++11 standard and its applicability to computational finance.
  • Using de-facto standard libraries, such as Boost and Eigen to improve developer productivity.
  • Developing multiparadigm software using the object-oriented, generic, and functional programming styles.
  • Designing flexible numerical algorithms: modern numerical methods and multiparadigm design patterns.
  • Providing a detailed explanation of the Finite Difference Methods through six chapters, including new developments such as ADE, Method of Lines (MOL), and Uncertain Volatility Models.
  • Developing applications, from financial model to algorithmic design and code, through a coherent approach.
  • Generating interoperability with Excel add-ins, C#, and C++/CLI.
  • Using random number generation in C++11 and Monte Carlo simulation.

Duffy adopted a spiral model approach while writing each chapter of Financial Instrument Pricing Using C++ 2e: analyse a little, design a little, and code a little. Each cycle ends with a working prototype in C++ and shows how a given algorithm or numerical method works. Additionally, each chapter contains non-trivial exercises and projects that discuss improvements and extensions to the material.

This book is for designers and application developers in computational finance, and assumes the reader has some fundamental experience of C++ and derivatives pricing.

About the Author

DANIEL J. DUFFY started the company Datasim in 1987 to promote C++ as a new object-oriented language for developing applications in the roles of developer, architect and requirements analyst to help clients design and analyse software systems for Computer Aided Design (CAD), process control and hardware- software systems, logistics, holography (optical technology) and computational finance. He used a combination of top-down functional decomposition and bottom-up object-oriented programming techniques to create stable and extendible applications. Prior to Datasim, he worked on engineering and financial applications in oil and gas and semiconductor industries using a range of numerical methods (for example, the finite element method [FEM]) on mainframe and mini-computers.

Duffy has BA (Mod), MSc and PhD degrees in pure, numerical and applied mathematics and has been active in promoting partial differential equation (PDE) and finite difference methods (FDM) to applications in computational finance. He was responsible for the introduction of the Fractional Step ("Soviet Splitting") method and the Alternating Direction Explicit (ADE) method in computational finance.

He is the originator of two very popular and leading C++ online courses (both C++98 and C++11/14/17) on in cooperation with Quantnet LLC and Baruch College (CUNY), NYC. He also trains quants, developers and designers around the world. Duffy can be contacted at In his spare time, he tries to keep in shape by workouts in the dojo.

In this Book

  • A Tour of C++ and Environs
  • New and Improved C++ Fundamentals
  • Modelling Functions in C++
  • Advanced C++ Template Programming
  • Tuples in C++ and Their Applications
  • Type Traits, Advanced Lambdas and Multiparadigm Design in C++
  • Multiparadigm Design in C++
  • C++ Numerics, IEEE 754 and Boost C++ Multiprecision
  • An Introduction to Unified Software Design
  • New Data Types, Containers and Algorithms in C++ and Boost C++ Libraries
  • Lattice Models Fundamental Data Structures and Algorithms
  • Lattice Models Applications to Computational Finance
  • Numerical Linear Algebra—Tridiagonal Systems and Applications
  • Data Visualisation in Excel
  • Univariate Statistical Distributions
  • Bivariate Statistical Distributions and Two-Asset Option Pricing
  • STL Algorithms in Detail
  • STL Algorithms Part II
  • An Introduction to Optimisation and the Solution of Nonlinear Equations
  • The Finite Difference Method for PDEs—Mathematical Background
  • Software Framework for One-Factor Option Models
  • Extending the Software Framework
  • A PDE Software Framework in C++11 for a Class of Path-Dependent Options
  • Ordinary Differential Equations and Their Numerical Approximation
  • Advanced Ordinary Differential Equations and Method of Lines
  • Random Number Generation and Distributions
  • Microsoft .Net, C# and C++11 Interoperability
  • C++ Concurrency, Part I Threads
  • C++ Concurrency, Part II Tasks
  • Parallel Patterns Language (PPL)
  • Monte Carlo Simulation, Part I
  • Monte Carlo Simulation, Part II
  • References