Next Start Date: 28th January 2021
The objective of the course is to develop fundamental skills of quantitative developer role. The course is of an introductory level and does not require programming experience. The course is designed by practitioners from quantitative finance with experience in model development for derivative pricing and systematic trading. The primary coding languages of the course are Python and C++. As it is essential in finance to work with time series data we introduce database KDB and the language q, which are the leading solutions for storing the timeseries.
The course consists of 5 Modules: Python for Finance, C++ fundamentals and use cases from quantitative finance, Data Structures and Algorithms in C++, Databases in finance – KDB and Design of systematic trading platforms. Throughout the course sample test questions from quant interviews will be provided. One should also expect the final test exam at the end of the course.
SIX MONTH QUALIFICATION
22 lecture weeks live in London or globally online.
10-12 hours per week. 2 – 3 hours lectures.
Module Assignments and Final Examination
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: 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 3: 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 4: 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 favorite 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 5: Design of systematic trading platforms
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.