University of Warsaw - Central Authentication System
Strona główna

C++ in Quantitative Finance II

General data

Course ID: 2400-QFU2C2
Erasmus code / ISCED: 14.3 Kod klasyfikacyjny przedmiotu składa się z trzech do pięciu cyfr, przy czym trzy pierwsze oznaczają klasyfikację dziedziny wg. Listy kodów dziedzin obowiązującej w programie Socrates/Erasmus, czwarta (dotąd na ogół 0) – ewentualne uszczegółowienie informacji o dyscyplinie, piąta – stopień zaawansowania przedmiotu ustalony na podstawie roku studiów, dla którego przedmiot jest przeznaczony. / (0311) Economics The ISCED (International Standard Classification of Education) code has been designed by UNESCO.
Course title: C++ in Quantitative Finance II
Name in Polish: C++ in Quantitative Finance II
Organizational unit: Faculty of Economic Sciences
Course groups: (in Polish) Przedmioty obowiązkowe dla II roku Quantitative Finance
English-language course offering of the Faculty of Economics
ECTS credit allocation (and other scores): 4.00 Basic information on ECTS credits allocation principles:
  • the annual hourly workload of the student’s work required to achieve the expected learning outcomes for a given stage is 1500-1800h, corresponding to 60 ECTS;
  • the student’s weekly hourly workload is 45 h;
  • 1 ECTS point corresponds to 25-30 hours of student work needed to achieve the assumed learning outcomes;
  • weekly student workload necessary to achieve the assumed learning outcomes allows to obtain 1.5 ECTS;
  • work required to pass the course, which has been assigned 3 ECTS, constitutes 10% of the semester student load.

view allocation of credits
Language: English
Type of course:

obligatory courses

Short description:

The course is a continuation of its 1st part. It provides more advanced elements of object-oriented programming. Practical examples of using Monte-Carlo simulations in valuations of exotic derivatives are presented. Also students will learn how to integrate C++ with MS Excel and R language.

Full description:

1. Advanced OPP

Static Attributes and Methods. Virtual Methods. Abstract Methods. Operator Overloading. The << Operator. Multiple Inheritance. Virtual Inheritance

2. Inheritance

Class inheritance: basic inheritance, inheriting constructors and destructors, access control, overriding and overloading methods. Virtual functions. Passing of arguments. Using overloading operators. Private and public data. Defining constructors and destructors.

3. Error Handling and Debugging

Debugging Techniques. Returning Error Codes. Using assert(). Catching Exceptions

4. Dynamic Memory Management

Static and Dynamic Memory. Allocating Objects. Allocating Arrays of Dynamic Size. Returning Memory from a Function or Method. The Copy Constructor and the Assignment Operator. Static Object Type Casts. Performing Dynamic Object Type Casts. Avoiding Memory Leaks

5. More advanced methods of OPP

Virtual constructors and bridge pattern. Separating interface and implementation. More complicated design patterns. Using of templates. Advanced OOP: static/virtual/abstract methods, multiple and virtual inheritance.

6. Random number class

Developing random number class with reusable interface and adequate random number generator. Implementation of antithetic sampling.

7. Pricing of exotic derivatives.

Monte-Carlo for path dependent exotic derivatives. Template pattern. Pricing of Asian options.

8. Trees

Pricing based on trees. Discretization of a Brownian motion. Pricing of American options. The idea of discounted future values. Templates as an alternative to inheritance methods. Numerical methods for computing implied volatility.

9. Interfacing C++ and Excel

The object model in Excel. Accessing Excel objects from C++. Getting data into C++ from Excel. Display vector and matrix data in Excel. Displaying functions in Excel

10. Integration of C++ with R

Rcpp package, Inline package, core data types, plotting from C++ via R, RcppArmadillo,

Bibliography:

1. Joshi "C++ Design Patterns and Derivatives Pricing"

2. Duffy "Introduction to C++ for Financial Engineers"

3. Duffy "Financial Instrument Pricing Using C++"

4. Prata "C++ Primer Plus 6 ed."

Learning outcomes:

After the course students will be able to created more advanced C++ applications, using the idea of object inheritance. They will be also able to integrate their efficient C++ option pricers with MS Excel and R language environment.

Assessment methods and assessment criteria:

Exam with computers, home taken project and activity in the class.

Classes in period "Summer semester 2023/24" (in progress)

Time span: 2024-02-19 - 2024-06-16
Selected timetable range:
Navigate to timetable
Type of class:
Seminar, 30 hours more information
Coordinators: Paweł Sakowski
Group instructors: Paweł Sakowski
Students list: (inaccessible to you)
Examination: Course - Examination
Seminar - Examination
Course descriptions are protected by copyright.
Copyright by University of Warsaw.
Krakowskie Przedmieście 26/28
00-927 Warszawa
tel: +48 22 55 20 000 https://uw.edu.pl/
contact accessibility statement USOSweb 7.0.3.0 (2024-03-22)