Skip to content
In academic affiliation with Carnegie Mellon University
Institute of Algorithmic Tradingand Applied Computational Finance

Practitioner course in programming

C++ for Quantitative Finance

Modern C++ for the code where speed matters: pricing libraries, simulation engines and trading components. Memory, ownership, templates, the standard library, testing and profiling, and exposing C++ to Python research code.

C++ for quantitative finance is the second language of the quant developer. Pricing libraries at banks, execution engines at trading firms and large Monte Carlo simulations are written in it, because it gives control of memory and speed that Python does not. This course takes a confident Python programmer to useful, tested modern C++.

What will I build?

A small but real pricing library: payoffs and instruments as classes, Black-Scholes, binomial and Monte Carlo pricers, unit tests for each, and Python bindings so that your research notebook can call the library. Along the way you profile it and make it faster, and learn why memory layout often matters more than clever arithmetic.

How is the course taught?

Audio lessons cover the ideas and the reasons behind them, explainer films walk through the code and the debugger, and the workbooks hold the labs, model solutions and cheat sheets of the language rules that cause most bugs. Your project receives written review from the faculty.

Who is this course for?

Python programmers heading for quant developer, pricing or trading-systems roles. It counts toward the Certificate in High-Frequency Trading and so toward the Professional Diploma in Algorithmic Trading.

What you will be able to do

  • Write modern C++ with clear ownership, using the standard library containers and algorithms.
  • Build a small option-pricing and Monte Carlo library with tests.
  • Profile and speed up numerical code, and explain the effect of memory layout and caches.
  • Expose a C++ library to Python and call it from a research notebook.

Syllabus, module by module

  1. From Python to C++

    Compilation, types, functions, references and the build tools a quant team uses.

  2. Memory and ownership

    Stack and heap, RAII, smart pointers and the errors that crash production code.

  3. Classes and templates

    Designing instruments and payoffs, virtual functions against templates, and the cost of each.

  4. The standard library

    Vectors, maps, algorithms and random-number generators for simulation.

  5. A pricing library

    Black-Scholes, binomial trees and Monte Carlo pricers, with unit tests.

  6. Speed and bindings

    Profiling, cache-friendly data, compiler flags, and pybind11 bindings for Python.

How the certificate is earned

Graded lab exercises and a final project: a tested C++ pricing library with Python bindings, reviewed by the faculty in writing. On a pass you receive the Course certificate in C++ for Quantitative Finance, issued by the Institute with a verification code. Read how certification works.

Before you start

Confident Python and the mathematics of the foundation courses. No C++ is assumed.

This course counts toward

Questions applicants ask

Why learn C++ if I already know Python?

Banks’ pricing libraries, most execution systems and many simulation engines are written in C++, and quant developer roles ask for it. Python is fast to write; C++ is what runs when speed or control of memory matters.

Does this course cover low-latency trading systems?

It lays the ground. Low-Latency C++ Trading Systems, at researcher level, builds on it with lock-free queues, kernel bypass and latency measurement.

$480 80 hours