C++ in Quantitative Finance II 2400-QFU2C2
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,
Type of course
Course coordinators
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 criteria
Exam with computers, home taken project and activity in the class.
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."
Additional information
Additional information (registration calendar, class conductors, localization and schedules of classes), might be available in the USOSweb system: