C++ in Quantitative Finance II
General data
Course ID: | 2400-QFU2C2 |
Erasmus code / ISCED: |
14.3
|
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
|
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 |
Navigate to timetable
MO TU KON
KON
W TH FR |
Type of class: |
Seminar, 30 hours
|
|
Coordinators: | Paweł Sakowski | |
Group instructors: | Paweł Sakowski | |
Students list: | (inaccessible to you) | |
Examination: |
Course -
Examination
Seminar - Examination |
Copyright by University of Warsaw.