If you know a little bit about financial mathematics but don’t yet know a lot about programming, then C++ for Financial Mathematics is for you.
C++ is an essential skill for many jobs in quantitative finance, but learning it can be a daunting prospect. This book gathers together everything you need to know to price derivatives in C++ without unnecessary complexities or technicalities. It leads the reader step-by-step from programming novice to writing a sophisticated and flexible financial mathematics library. At every step, each new idea is motivated and illustrated with concrete financial examples.
As employers understand, there is more to programming than knowing a computer language. As well as covering the core language features of C++, this book teaches the skills needed to write truly high quality software. These include topics such as unit tests, debugging, design patterns and data structures.
The book teaches everything you need to know to solve realistic financial problems in C++. It can be used for self-study or as a textbook for an advanced undergraduate or master’s level course.
"OOP in C++ remains a difficult programming language and paradigm to learn and develop. There remains a shortage of high-quality, easy to follow texts in C++ for mathematical finance. Dr Armstrong has successfully produced a self-contained publication that begins with the basics and patiently guides the student to advanced object-oriented C++ programming in a quant finance setting. The writing style is very user-friendly and immediately reassures the reader, while numerous exercises allow solid progression. The author’s extensive background in academia and as a practitioner is apparent throughout; the latter being a key accomplishment in setting the book apart from others. As a teacher of mathematical and computational finance, Armstrong’s book will feature at the top of my list of recommended textbooks."
— Dr. Riaz Ahmad, The Fitch Group and University College London (Departments of Mathematics and Computer Science)
Introduction. Getting Started. Basic Data Types and Operators. Functions. Flow of Control. Working with Multiple Files. Unit Testing. Using C++ Classes. User-Defined Types. Monte Carlo Pricing in C++. Interfaces. Arrays, Strings, and Pointers. More Sophisticated Classes. The Portfolio Class. Delta Hedging. Debugging and Development ToolsA Matrix Class. An Overview of Templates. The Standard Template Library. Function Objects and Lambda Functions. Threads. Next Steps. Appendix: Risk-Neutral Pricing