-   Forums
     -   Articles and Whitepapers
     -   Downloads
     -   Courses and Events
     -   Course Registration
     -   Distance learning
     -   Courses for Universities
     -   Books
     -   Audios and Demos
     -   Testimonials

Share this page:  Tweet


C++ for Computational Finance Applications - (code C++FA)

The goal of this self-contained hands-on course is to show how to learn and apply the most important (80/20 rule) features in C++ to a number of major topics in computational finance. The course discusses the full software cycle from financial models through to their numerical approximation and design in C++. In this course attendees can start programming quant models from day one and by the end of the course will be able to extend the code to more ambitious applications. One of the objectives of the course is to make it almost as easy to write application code in C++ as it is in VBA and Matlab, for example.
The course adopts a parallel two-stream approach; we present C++ material for novice developers and more advanced C++ for those students who already have some experience of C++. Each group will work independently on its own set of exercises.
 
What do you learn? The benefits
This special hands-on course has been designed so that Matlab, VBA and developers using other programming languages can understand and use C++ by first learning the essential syntax in C++ to understand baseline code and then to use and extend the code by implementing new models. In this case you learn in a step-by-step and incremental fashion. The advantage is that you always have a working program that can be extended as you gain more and more experience. Having completed the contents and exercises in this course you will be able to specialise and deepen your knowledge of C++.
A summary of the course benefits:
  • Understand the C++ computational finance design process A-Z.
  • Acquire hands-on C++ experience.
  • Just-in-time learning: learn the tools to get the job at hand done.
  • This course encompasses many of the issues in later applications.
  • To the point and relevant to practical needs.
  • Finance fundamentals (Black Scholes in a nutshell).
  • Parallel streams for student groups. This promotes the course effectiveness.
  • Your trainer is Dr. Daniel J. Duffy who has 25 years experience with C++.
 
What do you receive?
In addition to the full printed set of course slides the students receive all the corresponding source code and answers to exercises.
 
Course Form and Interaction
This is a hands-on course and we expect lots of interaction between students and trainer. Each day consists of a number of sessions following by hands-on programming exercises. The percentage theory/practice is 60/40.
We do not provide a laptop so you will need to bring your own laptop to the course having a modern C++ compiler that you feel comfortable with.
 

Course Contents

Day 1 C++ in a Nutshell: Essential Features and Survival Kit
Overview
  • What is a quant? What does a quant do?
  • Finance background of a quant
  • Mathematics
  • Programming skills 
Overview of a C++ compiler
  • Include files and linking
  • The build process
  • Creating projects
Functions and Data
  • Call by value and call by reference
  • The ‘const’ keyword
  • Pointers and memory management
  • Stack and free store memory
An Introduction to Generic Programming
  • Abstract Data Types (ADTs)
  • C++ Templates
  • Nested Templates
  • Applications to computational finance
STL Fundamentals
  • STL Components Overview
  • STL containers
  • STL iterators
  • std::vector<> in detail
  • Overview STL algorithm categories
Day 2 Initial Design Applications
Classes in C++
  • Data + functions
  • Private and public members
  • Class instantiation and objects
  • Objects and memory allocation
Basic Design in C++
  • Single Responsibility Principle (SRP)
  • Inheritance and Composition
  •  Combining classes to form applications
More STL
  • Algorithms in STL
  •  Numeric, modifying and nonmodifying algorithms
  • Function Objects and Lambda functions
  • Where to use STL algorithms in computational finance
Application: The Binomial and Trinomial Methods
  • Problem statement and design
  • System components and data structures
  • Forward and backward induction processes
  • European and American option pricing
Day 3 Extensions and Libraries
The Boost Libraries
  • Overview
  • Important libraries for computational finance
  • Smart pointers
  • Math Toolkit
  • Random number generation
  • Boost matrix classes
Numerical Building Blocks
  • LU and Cholesky decomposition
  • Numerical Quadrature
  • Basic finite differences
  • Interpolation and extrapolation
  • A Monte Carlo Engine
  • Problem statement and design
  • System components and data structures
  • Approximating stochastic differential equations (SDEs)
  • Generating uniformly distributed and Gaussian random numbers
Interest Rate Models
  • Vasicek and CIR affine models
  • Exact solutions
  • SDEs and their approximation
  • Using Boost statistical distribution
  • Chi-squared and non-central Chi-squared distributions
 
Day 4 Applications and Excel Integration
An Introduction to Excel
  • Excel Object Model
  • Automation
  • VBA and C++ interop
  • Excel Addins
Creating Excel Addins in C++
  • Visual Studio Wizards
  • Active Template Library (ATL)
  • Excel-C++ data transfer
  • Worksheet and COM Addins
An Introduction to PDE Methods
  • What is a PDE?
  • The one-dimensional heat equation
  • The Black Scholes PDE
  • Crank Nicolson and fully implicit methods
  • Alternating Direction Explicit (ADE) Method
  • European and American option pricing
  • Two-factor models
  • PDE methods in Excel

Prerequisites

It is assumed that you have some experience in a programming language. A reasonable knowledge of maths does no harm as well.

Who should attend?

This course is specifically aimed at students and others who wish to learn enough C++ and computational finance in a short period of time while at the same time coming away from the course with the ability to independently learn more in the future.
The course is suitable for undergraduate (first, second year) and graduate (MSc and Phd) university students. The course will be presented in such a way that each group can be trained in a way that is suitable to its current level of C++ knowledge.

Duration, price, date, locations and registration

Course duration: 4 days.
Course price: Free.
Dates and location: (click on dates to print registration form)


Date(s) Location Price Language
No dates yet.

This course can be organised on-demand. Call Datasim (+31-72-2204802) or for more information about the possibilities.


Attention
Date: 16 – 19 September 2013
Duration: 4 consecutive days (9.00 to 17.00, 45 minutes lunch break)
Price: GBP 250 for students (subject to valid NUS / University ID card) 
           GBP 900 for professionals.
Prices mentioned are including VAT.
You can register for this course at http://shop.bham.ac.uk/browse/extra_info.asp?compid=1&modid=2&deptid=31&catid=93&prodid=680&searchresults=1
 
 
 
"This is a unique course at a unique price, so now is the time to register".


Share this page:  Tweet