Get in Touch

Course Outline

Module 1 (C++ Phase 1)

  • Introduction + References
  • Basics
  • Workshop Basics
  • Overloading
  • What can be overloaded and how.
  • Additional C++ Types (bool & reference)
  • Workshop on Overloading
  • OOP
  • Quick introduction to OOP
  • Classes
  • Structs
  • Access Modifiers
  • Constructor
  • default/delete functions
  • Initializer syntax / constructor initialization 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 & Quantitative Final Phase)

  • Inheritance
  • Construction
  • Polymorphism
  • Virtual, pure virtual, abstract, interface
  • Access modifiers
  • Workshop on Inheritance (Shapes)
  • Exceptions
  • What are they
  • How do they work
  • What to throw and what to catch
  • Workshop on Exceptions
  • Memory exhaustion
  • How it’s notified
  • How to handle
  • Modern Memory Management
  • RAII
  • Templates applied to Modern Memory Management (SmartPointer)
  • Standardized C++11 SmartPointers
  • Nullptr
  • Workshop on SmartPointers
  • Namespaces
  • Workshop on Namespaces
  • Vasicek Bond Prices in C++
  • Black-Scholes Modeling in C++ put & call
  • 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 (dates Predetermined) Bermudan Option

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 & 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
  • Initializer lists
  • Iterators
  • range-for syntax
  • Std Algorithms
  • Streams
  • Miscellaneous Keywords
  • static
  • explicit

Module 6

  • Move semantics
  • Introduction to L/R values
  • R-value-references applied to move semantics
  • Type Traits
  • Obtaining information on compile time
  • Concurrency
  • Introduction to C++11’s Threading, async/future and atomic types implementation
  • Variadic templates - An introduction to C++11’s variadic templates

Requirements

General Programming Knowledge

 49 Hours

Number of participants


Price per participant

Testimonials (3)

Upcoming Courses

Related Categories