
QDC Syllabus
The objective of the course is to develop and enhance fundamental skills within the role of quantitative developer.
Module 1: Python for Finance
In this module, we’ll introduce the Python programming language from the basics. We’ll introduce some of the key libraries for data science such as NumPy and Pandas, as well as Matplotlib and Plotly for visualisations. Later, we’ll discuss how to download market data into Python from sources including Bloomberg and Quandl. We’ll go through many use cases for Python in finance, including developing trading strategies, calculating volatility.
Module 2: Databases in Finance – KDB
Data science would not exist without the databases. In finance the data usually comes in the form of time series. The favourite of many trading houses and high-frequency trading firms, kdb+/q, is a leader among solutions for storing time series data. In this module we shall go from foundations to fluency in kdb+/q and demonstrate how this module interacts with Python and the pandas library.
Module 3: C++ Fundamentals and Use cases from Quantitative Finance
The objective of the module is to teach students fundamentals of C++. The module does not assume any previous knowledge of C++. After completing of the module, the students will be able to code simple applications in C++ understand the reasons for the errors and understand the concepts of C++ language. The course introduces the student to the Standard Library in C++ where the algorithms and data structures are implemented.
Module 4: Data Structures and Algorithms in C++
The objective of the module is to teach students fundamentals of any programming language: data structures and algorithms. After completion of the module the students will know the main data structures, algorithms and will be able to understand what happens “under the hood”. The students will be able to assess the complexity of different algorithms and pick the most efficient one. The students will learn what are the pros and cons of using a particular data structure. Even though the module is implemented in C++ it does not focuses on specific features of C++ rather the generic features that are relevant for any other programming language.
Module 5: Designing Algo-Trading Applications
The construction of trading platform constitutes a multidisciplinary craft and science. The developer needs to be aware of the hardware, whether or not it is his or her speciality, at least for the sake of having mechanical sympathy. Special disciplines in programming have arisen that are favoured by high- and medium-frequency trading platform developers: low-latency programming and functional reactive programming. We will cover these specialised disciplines in this module.
Module 1 | 1 | Python for Finance | Introduction to Python |
Module 1 | 2 | Python for Finance | Data Analysis in Python |
Module 1 | 3 | Python for Finance | Analysis of financial data using Python |
Module 1 | 4 | Python for Finance | Financial market case studies using Python |
Module 1 Test
|
|||
Module 2 | 5 | Databases in finance – KDB | Overview of kdb+/q |
Module 2 | 6 | Databases in finance – KDB | Foundation of the q programming language |
Module 2 | 7 | Databases in finance – KDB | Working with tables |
Module 2 | 8 | Databases in finance – KDB | Kdb+/q for big data and machine learning |
Module 2 | 9 | Databases in finance – KDB | Kdb+/q in practice |
Module 2 Test
|
|||
Module 3 | 10 | C++ fundamentals with use cases from finance | C++ introduction |
Module 3 | 11 | C++ fundamentals with use cases from finance | Introduction to OOP in C++ |
Module 3 | 12 | C++ fundamentals with use cases from finance | Defining your own structures in C++ |
Module 3 | 13 | C++ fundamentals with use cases from finance | Introduction to Standard Library |
Module 3 Test
|
|||
Module 4 | 14 | Data Structures and Algorithms in C++ | Analysis Tools, Recursion and Sorting |
Module 4 | 15 | Data Structures and Algorithms in C++ | Arrays, Linked Lists, Stacks and Queues |
Module 4 | 16 | Data Structures and Algorithms in C++ | Trees and Graphs |
Module 4 | 17 | Data Structures and Algorithms in C++ | Git and Git Hub Trees and Graphs |
Module 4 Test
|
|||
Module 5 | 18 | Designing algo-trading applications | The hardware of electronic trading |
Module 5 | 19 | Designing algo-trading applications | The networking of electronic trading |
Module 5 | 20 | Designing algo-trading applications | Low-latency programming |
Module 5 | 21 | Designing algo-trading applications | Event-driven architectures |
Module 5 | 22 | Designing algo-trading applications | The workflow of a trading platform |
Module 5 Test
EXAM PREP SESSION: | 3rd October 2024 |
FINAL EXAMINATION: | 17th October 2024 |
Final Examination:
Examination Preparation Week: Thursday 3rd October 2024
Examination Date: Thursday 17th October 2024
- Candidates will sit a formal examination on a computer. The exam is taken online by students globally.
Marking Classifications:
Students achieving an overall mark of 70% or higher will be awarded the Certificate with Distinction. The total mark is calculated as equally weighted marks for module tests and final exam.
- Distinction: 70-100%; US equivalent: A/A+
- Merit: 60-69%; US equivalent: B+/A
- Pass: 50-59%; US equivalent: B-/B