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

C++ in Quantitative Finance I

General data

Course ID: 2400-QFU2C1
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 I
Name in Polish: C++ in Quantitative Finance I
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 designed as a gentle introduction to C++ programming language and the world of object-oriented programming to students in Quantitative Finance. Special emphasis is put on the problem of derivatives valuation. No programming experience is required in order to follow this course. The course has been structured in a way that let students learn C++ from the ground up. The course deals with the essential topics that are needed before progressing to more advanced applications in quantitative finance

Full description:

1. Creating a Basic Program

Basic C++ Syntax. Compiling a C++ Program. Printing Text. Running a Compiled Program, Pausing Execution. Understanding White Space. Adding Comments to the Source Code. Using an IDE

2. Simple Variables and Data Types

Declaring Variables. Assigning Values to Variables. Printing Variables. Formatting Numbers. Understanding Type Conversion. Introduction to Characters. Introduction to Strings. Introduction to Constants.

3. Operators and Control Structures

Arithmetic Operators. If Conditionals. Using else and else if. The Ternary Operator. Logical and Comparison Operators. Increment and Decrement Operators. While Loop. For Loop

4. Input, Output, and Files

Taking Character Input. Discarding Input. Taking Numeric Input. Taking String Input. Taking Multiple Inputs. Reading in a Whole Line. Validating Input. Creating File Output. Using File Input

5. Defining Your Own Functions

Creating Simple Functions. Creating Functions that Take Arguments. Setting Default Argument Values. Creating Functions that Return a Value. Overloading Functions. Understanding Variable Scope

6. Complex Data Types

Working with Arrays. Working with Pointers. Structures. Revisiting User-Defined Functions

7. Introducing Objects

Creating a Simple Class. Adding Methods to a Class. Creating and Using Object. Defining Constructors. Defining Destructors. The this Pointer

8. Class Inheritance

Basic Inheritance. Inheriting Constructors and Destructors. Access Control. Overriding Methods. Overloading Methods. Making Friends

9. Namespaces & Modularization

Working with Included Files. The C Preprocessor. Understanding Namespaces. Linkage and Scope

10. Working with Templates

11. Simple application for pricing non-path dependent options.

12. Simple application for pricing path dependent options.

Bibliography:

1. Ullman, Signer "C++ Programming. Visual Quickstart Guide"

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

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

Learning outcomes:

After the course students will be able to write and compile their own basic C++ applications. They will be able to design and deploy simple Monte-Carlo simulations which can approximate the theoretical prices of both non-path dependent and path-dependent options.

KW01, KW02, KU01, KU02

Assessment methods and assessment criteria:

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

Classes in period "Winter semester 2023/24" (past)

Time span: 2023-10-01 - 2024-01-28
Selected timetable range:
Navigate to timetable
Type of class:
Classes, 30 hours more information
Coordinators: Paweł Sakowski
Group instructors: Radost Waszkiewicz
Students list: (inaccessible to you)
Examination: Course - Examination
Classes - Examination

Classes in period "Winter semester 2024/25" (future)

Time span: 2024-10-01 - 2025-01-26
Selected timetable range:
Navigate to timetable
Type of class:
Classes, 30 hours more information
Coordinators: Paweł Sakowski
Group instructors: Paweł Sakowski
Students list: (inaccessible to you)
Examination: Course - Examination
Classes - 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)