-   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++ and its Application to Finance - (code SCPP)

C++ for Universities and Banking


Overview of the course “C++ and its Application in Finance”

This intensive and modern C++ course is intended for full-time students and professionals who wish to learn C++ and apply it to computational finance. It will help to bring your skills up to a level that industry expects and it will help in job interviews. Rachet up your C++!

This is one of the few  C++ courses that takes you all the way from basic C++ through to object-oriented programming and creating applications in combination with the Standard Template Library (STL) and boost library. The course consists of six dedicated modules each of which dealing with one particular aspect of the language.

Your trainer  and course coordinator is Dr. Daniel J. Duffy who has 20 years experience of C++ application development, design and training of professionals. He is the author of several books on C++ with applications to financial engineering and computational finance.

This course is suitable for those who wish to learn C++ step-by-step and applying it to the creation of small and medium-size applications in finance. The emphasis is on a rigorous approach to learning C++ so that you do not miss any important language issues that help your code to be efficient, robust and extendible.

Detailed Course Contents

Module I: Object-Oriented Programming in C++

The goal of this module is to gain hands-on programming experience in creating C++ classes and code. We focus on fundamental (and appropriate) application of C++ syntax to help us create robust and efficient code. In this module we apply the 20-80 rule; 20% of the C++ syntax accounts for 80% of developer productivity. In particular, we discuss creating C++ classes and their members as well as a thorough treatment of stack, heap and static memory.
After having completed this module you will understand the most important C++ syntax in order to create stable code upon which you can build in later modules: get it working, then get it right.
  1. Objects and Classes in C++
  2. Implementing class members
  3. Arguments, data and return types
  4. Function and operator overloading
  5. Call by value, call by reference: const
  6. Memory management in C++

Module II: Inheritance and Polymorphism

This module discusses how to implement the object-oriented principles from Module II in C++, with particular emphasis on how to realise inheritance, aggregation and composition relationships in C++. In this way we ensure that out C++ code is a good representation of the corresponding UML. We also pay attention to ensuring that the code is reliable by discussing memory management and object lifetime as well as dealing with run-time exceptions and errors.
After having completed this module you will have a good appreciation of advanced C++ syntax to help you code robust applications and which use powerful object-oriented principles that promote code reusability and extendibility.
  1. Polymorphic and non-polymorphism inheritance
  2. Base class pointers: combining inheritance and aggregation
  3. Abstract and concrete classes: class hierarchies
  4. Exception handling in C++
  5. Run-time type identification (RTTI)

Module III: Template Programming, STL and boost

This module discusses how to implement the Generic Programming (GP) model in C++. Template programming in C++ has received relatively less attention in the past when compared with the OOP model. We show how to create templated C++ classes and functions as well as showing how to achieve high levels of genericity using template inheritance and composition. We also discuss major data structures and algorithms in the Standard Template Library (STL) and we give an overview of some important libraries in boost (especially for memory management, statistics, matrix algebra and data structures).
After having completed this module you will have gained hands-on experience in the creation of template classes on the one hand and using STL and boost libraries on the other hand.
  1. The template mechanism in C++: Overview
  2. Template classes and template functions
  3. Inheritance and aggregation: partial specialization
  4. Nested templates, multiple template parameters
  5. An Introduction to Standard Template Library (STL)
  6. Overview of the boost library

Module IV: Applications in Finance

The goal of this – the final – module of the course is to use the C++ syntax and modelling techniques of the first five modules and apply then to the creation of tractable applications in finance. We discuss several kinds of applications that are common in this field: one-factor European and American option pricing using Monte Carlo and PDE/FDM methods, creating and using numerical libraries (for example, boost) and optimization.
After having completed this module you will have learned how to create small and medium-sized applications in C++. This is a good basis for more advanced applications.
  1. The applicability of C++ in Computational Finance
  2. The Monte Carlo method
    - Extending the one-factor Monte Carlo framework
    - Barriers, CEV model
    - Heston model
  3. PDE and Finite Difference Method (FDM)
    - One-factor C++ framework
    - Crank-Nicolson, Euler and ADE methods
    - Early exercise
  4. Numerical libraries
    - Solving matrix systems
    - Nonlinear equations
    - Interpolation
  5. Lattice Model
    - The binomial and trinomial methods
    - Lattices for European options
    - Two-factor binomial method
  6. Interest Rate Modelling
    - Affine models
    - Vasicek, CIR and Hull-White
    - Term-structure consistent models
    - Finite difference method for interest rate models

Prerequisites

Some previous knowledge of C++ (or C or another high level language) is assumed.
Ideally, you should be studying finance or are working in finance as the later examples in the course are finance-related.

Pricing and Registration Information

This course has been specially designed for students of finance and professionals working in finance who wish to learn C++ and use it to solve problems in computational/quantitative finance. This is a good way to learn what is essential and kick-start your C++.

The price is depending on the location of the course and if you are a student or not.

London, United Kingdom:
  • Full time students: £500 (including VAT)
  • For those working in finance/industry: £1200 (excluding VAT)

New York City, United States:
  • Full time students: $900 (including VAT)
  • For those working in finance/industry: $1900 (excluding VAT)

Payment is by means of (electronic) bank transfer. We do not accept checks or credit-cards.
Because of the special student price, students must supply evidence that shows you are a full-time student and will need to supply a university email address.
Also because of the special price, lunch is not included.

You can register by clicking the registration link in the course planning list below ("Duration, price, date, locations and registration" section). This will bring up the registration form which you need to fill in. After submitting the registration form, you will receive a reservation e-mail. You will need to print the reservation e-mail, sign it and send it back to us. This because we need a signature.

Contact

For more information, please e-mail or call at: +31-20-6240055.


Discussion Forum

General discussions about C++/C# programming and finance can be found on our forum.

Duration, price, date, locations and registration

Course duration: 3 days.
Course price: See below.
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
The price is depending on the location of the course and if you are a student or not.

London, United Kingdom:
  • Full time students: £500 (including VAT)
  • For those working in finance/industry: £1200 (excluding VAT)

New York City, United States:
  • Full time students: $900 (including VAT)
  • For those working in finance/industry: $1900 (excluding VAT)

Payment is by means of (electronic) bank transfer. We do not accept checks or credit-cards.
Because of the special student price, students must supply evidence that shows you are a full-time student and will need to supply a university email address.
Also because of the special price, lunch is not included.

To make the exercises, you need to bring your own laptop with a C++ compiler e.g. Microsoft Visual Studio. Also the freely available Microsoft Visual C++ Express Edition can be used with this course.


Share this page:  Tweet