Quantitative Finance: An Object-Oriented Approach in C++

The book Quantitative Finance: An Object-Oriented Approach in C++ provides readers with a foundation in the key methods and models of quantitative finance. Keeping the material as self-contained as possible, the author introduces computational finance with a focus on practical implementation in C++.

Through an approach based on C++ classes and templates, the text highlights the basic principles common to various methods and models while the algorithmic implementation guides readers to a more thorough, hands-on understanding. By moving beyond a purely theoretical treatment to the actual implementation of the models using C++, readers greatly enhance their career opportunities in the field.

The book also helps readers implement models in a trading or research environment. It presents recipes and extensible code building blocks for some of the most widespread methods in risk management and option pricing.

This website provides the fully functional C++ code discussed in the book, including additional C++ source files and examples. Although the code is used to illustrate concepts (not as a finished software product), it nevertheless compiles, runs, and deals with full, rather than toy, problems. Please note that the code is provided under a Modified BSD License.

You may proceed to download the C++ code here (login not required).

A suite of practical exercises for each chapter covering a range of difficulty levels and problem complexity is also available here.

You may also download a list of known errata.


"I recommend Erik Schlogl’s new book to all those interested in model implementation. From quasi-random sequences to HJM to the Excel interface, with full C++ code, there is something here for everyone."

—Jim Gatheral, Presidential Professor, Baruch College, CUNY

"While some view quantitative finance as just another playground for beautiful mathematical theories, it is ultimately a very practical discipline where one’s success is more often than not measured by the quality, speed, and accuracy of computer code written to solve real-world problems. Quantitative Finance: An Object-Oriented Approach in C++ embraces this pragmatic view wholeheartedly to great success. The three core competencies of a successful quant: firm grasp of theory, strong command of numerical methods, and software design and development skills are taught in parallel, inseparable in the book as they are in the real world. A fantastic resource for students looking to become quants, the book sets a standard on how practically relevant quantitative finance should be taught. Those already in the field will also no doubt learn a thing or two on how to represent common financial constructs as logical and reusable software components."

—Vladimir V. Piterbarg, Head of Quantitative Analytics, Barclays

"Students and practitioners of quantitative analysis have long wanted a detailed exposition of computational finance that includes implementation details and quality C++ code. Their desires are no longer unrequited—this book contains a clear and careful discussion of many of the key derivatives pricing models together with object-oriented C++ code. Substantial discussion of the design choices made is also included. I believe that this book is destined to be part of every financial engineer’s toolkit."

—Professor Mark Joshi, University of Melbourne

"If twenty five years ago I had started in finance using C instead of Visual Basic, perhaps now I might be approximating Prof Schlögl’s balanced and professional C++ framework for pricing financial derivatives. From interacting with quants writing production code I have learnt that several years’ experience with C++ can be dangerous as the possibility of writing incomprehensible (to others) abstract code becomes attractive. In this respect Prof Schlögl strikes just the right balance between using the full power of C++ to encapsulate, concentrate and abstract code, while remaining comprehensible. His book thoroughly outlines a framework, including procedures and libraries, for constructing the various building blocks of pricing systems for financial derivatives. Users implementing his sort of framework can be confident their code will be understood, and that it can be maintained and revised without dating. It is one of the dozen or so books that ought to be on every financial quants bookshelf; if only I had had it earlier!"

—Alan Brace, Senior Quant Analyst, National Australia Bank