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.