Apply modern C++ to applications in computational finance
Introduction to C++ for Financial Engineers, Second Edition uses the new and improved language features and multi-paradigm programming styles to create robust and flexible code for a number of important areas in finance. Each chapter has been written to be as self-contained as possible, while taking account of the most recent developments in software design, programming styles and advances in desktop hardware.
This resource is written for Quant developers versed in creating applications using C++98. It shows how to define, design and implement flexible applications using modern software design methods in C++. Developers will learn how to:
Adopt a standardised design methodology (based on domain architectures) for applications
Write clear and maintainable code in the `gold standard' C++ language
Move from C++98 to next-generation C++11, C++ 14 and later
Use C++ and Boost libraries instead of home-grown code
Create multi-threaded and parallel applications
Utilise applications to lattices, PDE and Monte Carlo models
The chapters in this book begin with simple examples, transitioning to more extensive models and finance-related applications. Each chapter concludes with exercises and projects, allowing the reader to monitor progress by reviewing what has been discussed and writing code based on those concepts.
New C++ syntax, language features and libraries
Building flexible lattice models using the domain architecture approach
Detailed discussion of PDE/Finite Difference Method for European and American option pricing
C++ Concurrency, multithreading and parallel libraries for multi-core CPUs and GPUs
Numerical solution of stochastic differential equations and Monte Carlo option pricing
Optimal use of the combined object-oriented, template and functional programming styles
Introduction to C++ for Financial Engineers, Second Edition assembles many of the design and language features to help you create flexible and maintainable applications.