Skip to content
All library documents

Choosing C++ Learning Resources for Quantitative Finance

Article Quant Q&A · Author: user133100

Summary

The document gathers recommendations for teaching C++ to learners who want to apply it to financial mathematics and quantitative research. Contributors disagree on whether a finance-specific book is the best starting point. One instructor reports success pairing a concise general C++ text with a language reference, while other answers recommend books that connect C++ concepts directly to financial mathematics or computational finance.

The recommendations reflect different levels and priorities: some texts are presented as suitable for learners with programming experience, while others assume stronger familiarity with C++ or introduce topics such as object-oriented design, templates, parallel computing, and automatic differentiation. Several contributors caution that some finance-oriented books have confusing explanations or flawed code, and that advanced material may not be necessary for every application. These are personal teaching and reading recommendations, not a systematic comparison or tested curriculum. The document offers no assignments or detailed project sequence, so instructors would need to evaluate the materials against their students’ background and course goals.

Key ideas

  • General C++ instruction can provide a stronger foundation than learning the language only through finance examples.
  • A concise introductory text can be paired with a comprehensive language reference.
  • Finance-focused books vary in assumed programming experience and technical depth.
  • Readers should assess code quality, explanations, and prerequisites when selecting course materials.

Tags

Full text
# Online courses or C++ books combined with Finance (alternatives to Duffy and Joshi)


# Online courses or C++ books combined with Finance (alternatives to Duffy and Joshi)












I am trying to find a book for our study group that teaches the bare minimum C++ needed for financial applications. I am trying to teach it in a project based manner. In case, I don't settle on one book, I will have to mix different books and online resources eg. quantlib.

Any suggestions on books and online resources (eg. online course with assignments) of that spirit?

->Duffy's book "introduction to C++ for financial engineers" could have been a trully great book because in spirit it teaches and implements the bare minimum C++ material needed for financial applications.

However, as you may know already it is disappointing: a) code is full of bugs, b) the explanations are confusing for beginners and c)occasionaly the code is bad (eg. using goto).

->Joshi's OOP book, is very good with smart and neat code; however, one must be already mature in C++ before doing the problems.

->Schlogl's OOP book has very neat code and exercises and it is a good precursor to Joshi's. However, it requires knowledge up to C++ templates.

## Answer by MarkD (score 5)

https://quant.stackexchange.com/a/27735

I agree with Student T regarding a lack of texts that will teach C++ specifically geared towards finance, and I would also say that isn't the best way to learn the language anyway.

I taught a C++ course for graduate students for several years when I was doing a post-doc. The intent of the course was to quickly get engineering graduate students with some programming experience (basic Matlab, VBA, etc..) up and running with C++ for research work. Ultimately, the text I ended up using (quite successfully) was Accelerated C++: Practical Programming By Example by Koenig and Moo, alongside Stroustrup's The C++ programming language as a reference. Accelerated C++ is brief, concise, yet pretty comprehensive, and goes into a lot of why you want to do things the C++ way.

## Answer by Antoine Savine (score 4)

https://quant.stackexchange.com/a/42950

May I suggest you have a look at my book Modern Computational Finance with Wiley? It is written in the spirit of Duffy and Joshi but in modern C++ with a focus on parallel computing and automatic adjoint differentiation (AAD)?

https://medium.com/@antoine_savine/modern-computational-finance-aad-and-parallel-simulations-c8cd42e7ad6e

Antoine Savine

## Answer by SmallChess (score 3)

https://quant.stackexchange.com/a/25530

I don't think there is any good finance book for learning C++. The best C++ books are simply the generalist C++ books that you can see by searching "C++" on Amazon. There are many free C++ online courses, I'm sure you will find something on Coursea.

The best C++ book has to be `The C++ Programming Language`, by Bjarne Stroustrup. However, it's probably too hard for you learn for a course, although you will need to reach the level if you want to do anything with QuantLib.

Don't waste too much time on templates. Erik does it because he believes static binding would save some computation time (eg: no virtual function), and indeed this is how the high-frequency trading work. But you really don't need to know.

PS: You've left out `Modelling Derivatives in C++`. This is the most complete C++ finance book you'll find, however, the quality is not very good. I returned the book to the library the next day as there were too many coding errors. Try to borrow it from Library to see if you like it,

## Answer by siou0107 (score 1)

https://quant.stackexchange.com/a/70696

I recommend John Armstrong's `C++ for Financial Mathematics`, edited by CRC press. It just has the right balance between teaching C++ theory, including concepts that beginners can find annoying but are nonetheless necessary, and applying it to mathematical finance. Thus, it gives a solid base to read the books mentioned in the question.

Companion website with code examples.

Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.