Get in Touch

Course Outline

Module 1 (C++ Phase 1)

  • Introduction and references.
  • Basics.
  • Workshop basics.
  • Overloading.
  • What can be overloaded and how.
  • Additional C++ types (bool and reference).
  • Workshop on overloading.
  • Object-Oriented Programming (OOP).
  • Quick introduction to OOP.
  • Classes.
  • Structs.
  • Access modifiers.
  • Constructors.
  • Default and deleted functions.
  • Initialiser syntax and constructor initialisation list.
  • Workshop on classes.
  • Memory.
  • Classical memory interaction.
  • Workshop on memory.

Module 2

  • Introduction to quantitative finance.
  • Discrete time models.
  • Continuous time models.
  • Interest rate models.
  • Options on bonds.
  • Short rate models.
  • Forward rate models.
  • Market models.

Module 3 (C++ Phase 2 and Quantitative final phase)

  • Inheritance.
  • Construction.
  • Polymorphism.
  • Virtual, pure virtual, abstract and interface.
  • Access modifiers.
  • Workshop on inheritance (shapes).
  • Exceptions.
  • What they are.
  • How they work.
  • What to throw and what to catch.
  • Workshop on exceptions.
  • Memory exhaustion.
  • How it is notified.
  • How to handle it.
  • Modern memory management.
  • RAII.
  • Templates applied to modern memory management (SmartPointers).
  • Standardised C++11 SmartPointers.
  • nullptr.
  • Workshop on SmartPointers.
  • Namespaces.
  • Workshop on namespaces.
  • Vasicek bond pricing in C++.
  • Black–Scholes modelling in C++: puts and calls.
  • Introduction to Monte Carlo simulation.
  • How to price options using simulation.
  • Monte Carlo simulation in C++.
  • Geometric Brownian motion.
  • American vs European options.
  • Slice-based valuation: lattice method.
  • Slice-based valuation: PDE method.
  • Slice-based valuation: PDE method.
  • Valuation of American (predetermined dates) Bermudan options.

Module 4 – C++ Final phase

  • auto.
  • The new auto keyword.
  • The new auto return syntax.
  • enum.
  • New-style enums.
  • constexpr.
  • New constant expressions.
  • About constness.
  • const and mutable explained.
  • Lambdas and function objects.
  • Classes that act like functions.
  • Introduction to lambda functions.
  • chrono.
  • An introduction to the new chrono library.

Module 5

  • Casting.
  • Standard library.
  • string.
  • Containers.
  • vector (vs).
  • list.
  • map.
  • array.
  • tuple.
  • Initialiser lists.
  • Iterators.
  • range-for syntax.
  • std algorithms.
  • Streams.
  • Miscellaneous keywords.
  • static.
  • explicit.

Module 6

  • Move semantics.
  • Introduction to l-values and r-values.
  • R-value references applied to move semantics.
  • Type traits.
  • Obtaining information at compile time.
  • Concurrency.
  • Introduction to C++11 threading, async/future and atomic types implementation.
  • Variadic templates – an introduction to C++11 variadic templates.

Requirements

General programming knowledge.

 49 Hours

Number of participants


Price per participant

Testimonials (3)

Provisional Upcoming Courses (Require 5+ participants)

Related Categories