Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
Course Outline
Module 1(C++ Phase 1)
- Intro + References
- Basics
- Workshop Basics
- Overloading
- What can we overload, and how.
- Extra C++ Types (bool & reference)
- Workshop overloading
- OOP
- Quick introduction to Oop
- Classes
- Structs
- Access Modifiers
- Constructor
- default/delete functions
- initializer syntax / constructor initialization list
- Workshop classes
- Memory
- Classical memory interaction
- Workshop 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
Module3 (C++ Phase2 & Quantitative final phase)
- Inheritance
- Construction
- Polymorphism
- Virtual, pure virtual, abstract, interface
- Access modifiers
- Workshop Inheritance (Shapes)
- Exceptions
- What are they
- How do they work
- What to throw and what to catch
- Workshop 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 SmartPointers
- Namespaces
- Workshop 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 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