This book introduces the reader to the C++ programming language and how to use it to write applications in quantitative finance (QF) and related areas. No previous knowledge of C or C++ is required. - experience with VBA, Matlab or other programming language is sufficient. The book adopts an incremental approach; starting from basic principles then moving on to advanced complex techniques and then to real-life applications in financial engineering. There are five major parts in the book:
*C++ fundamentals and object-oriented thinking in QF
*Advanced object-oriented features such as inheritance and polymorphism
*Template programming and the Standard Template Library (STL)
*An introduction to GOF design patterns and their applications in QF Applications
The kinds of applications include binomial and trinomial methods, Monte Carlo simulation, advanced trees, partial differential equations and finite difference methods.
This book contains a CD with all source code and many useful C++ classes that you can use in your own applications. Examples, test cases and applications are directly relevant to QF.
This book is the perfect companion to Daniel J. Duffy's book Financial Instrument Pricing using C++ (Wiley 2004, 0470855096)
Part I C++ Essential Skills.
1 Introduction to C++ and Quantitative Finance.
2 The Mechanics of C++: from Source Code to a Running Program.
3 C++ Fundamentals and My First Option Class.
4 Creating Robust Classes.
5 Operator Overloading in C++.
6 Memory Management in C++.
7 Functions, Namespaces and Introduction to Inheritance.
8 Advanced Inheritance and Payoff Class Hierarchies.
9 Run-Time Behaviour in C++.
10 An Introduction to C++ Templates.
Part II Data Structures, Templates and Patterns.
11 Introduction to Generic Data Structures and Standard Template Library (STL).
12 Creating Simpler Interfaces to STL for QF Applications .
13 Data Structures for Financial Engineering Applications.
14 An Introduction to Design Patterns.
Part III QF Applications.
15 Programming the Binomial Method in C++.
16 Implementing One-Factor Black Scholes in C++: Finite Differences.
17 Two-Factor Option Pricing: Basket and Other multi-Asset Options.
18 Useful C++ Classes for Numerical Analysis Applications in Finance.
19 The Monte Carlo Method: Theory (with Dr. Joerg Kienitz).
20 C++ Frameworks and Monte Carlo (with Dr. Joerg Kienitz).
21 Student Projects: Lattice Methods, Volatility Surfaces and Skills Consolidation.
Part IV Background Information.
22 Basic C Survival Guide.
23 Advanced C Syntax.
24 Datasim Visualisation Package in Excel: Drivers and Mechanisms.
25 Motivating COM and Emulation in C++.
26 COM Fundamentals.
Index.