Resources

Algorithmic Trading with Python

This comprehensive, hands-on course provides a thorough exploration into the world of algorithmic trading, aimed at students, professionals, and enthusiasts with a basic understanding of Python programming and financial markets. We will dissect the vast landscape of trading from an algorithmic perspective, starting with the foundations and gradually progressing to more complex, cutting-edge techniques used by professionals in the trading industry.

Course syllabus:

  1. Introduction to Trading and Algorithmic Trading
    • Overview of Trading
    • Fundamental Trading Concepts
    • Order Types and Order Management
    • Introduction to Algorithmic Trading Systems and Automated Trading
    • Day Trading, Market Microstructure and High-Frequency Trading (HFT)
    • Spot Trading vs. Derivatives Trading
  2. Python Programming for Algorithmic Trading
    • Essential Python Libraries
    • Popular Python Trading Platforms for Algorithmic Trading
  3. Data Handling and Preparation
    • Acquiring Financial Data from Open Data Sources & Broker APIs
    • Retrieving and Visualizing Historical and Streaming Data via APIs
    • Web Scraping for Financial Data
    • Data Preprocessing Techniques
    • Limit Order Book Data
  4. Algorithmic Trading Strategies and Paradigms
    • Algorithmic Trading System Development Process
    • Trend- and Momentum-Based Strategies
    • Technical Analysis-Based Strategies
    • Reversion and Change-Point-Based Strategies
    • Statistical Arbitrage Trading Strategies
    • High-Frequency Trading Strategies
    • Machine Learning-Based Strategies
    • Deep Learning for Algorithmic Trading Strategies
    • Sentiment Analysis and Natural Language Processing
    • Advanced Quantitative Trading Techniques
  5. Strategy Testing and Evaluation
    • Backtest- Historical Test
    • Object Oriented Programming for the Backtesting
    • Walk Forward Testing
    • Paper Trading (Forward Testing)
    • Live Testing
  6. Order Execution and Management via APIs
    • Execution Technologies and Advanced Order Handling Techniques
    • Evaluating and Improving Trading Strategies
    • Running Algorithms in the Cloud and High Performance Computing (HPC)
  7. Algorithmic Trading Platforms and APIs
    • Example 1: Stock Trading with Thinkorswim
    • Example 2: Crypto Trading with Binance
    • Example 3: Forex Trading with IG

Download Course Material

Machine Learning from Theory to Practice

Objectives:

This applied data science module aims to covers the theoretical, computational and statistical underpinnings of the machine & deep learning techniques. Applications of different algorithms with an emphasise on economics and finance will be discussed. Statistical techniques and learning methods that can lend itself to patterns and relationships in data will be introduced in this module. The size, complexity, and diversity of data increase every day. This means we need new solutions for analyzing data. Big data and statistical learning methods provide a vehicle for modeling and analyzing complex phenomena and for incorporating rich sources of confounding information into economic models. Finding patterns and relationships in large volumes of data are very useful in market research, business forecasting, decision support, and customer recommendation engines among other applications. Integration of these algorithms to business analytics frameworks will be demonstrated using real-world examples. Course demonstrations will be in Python, and for showcases and exercises, we make use of python scientific libraries. We also expose students to Google Colab so they can develop their coding skills by completing practical exercises on Colab. The data sets we will use for this course are from World Bank Group, Kaggle, Federal Reserve Economic Data, Google Finance, and several other resources. For the sake of learning, we will apply the algorithms and topics step by step to the problem, both in standard python libraries and from scratch.

Course Outline:

The goal of this module is to give an applied, hands-on introduction to machine and deep learning methods. At the end of the course, students will be able to read and understand theoretical papers on the subject, to implement the techniques themselves in Python, and to apply the techniques to data used in economics and business. The style will be first to describe the theory and math behind algorithms and then demonstrate how to use Python to create and run the models. This course will introduce the student to classic machine learning algorithms and deep neural network structures, Autoencoders, Convolution Neural Networks (CNN), Long Short-Term Memory (LSTM), Gated Recurrent Neural Networks (GRU), General Adversarial Networks (GAN) and reinforcement learning. High Performance Computing (HPC) aspects will demonstrate how deep learning can be leveraged both on graphical processing units (GPUs), as well as grids. Focus is primarily upon the application of deep learning to problems, with some introduction to mathematical foundations.

Download Course Material

High Dimensional Portfolio Simulation and Estimation

This repository contains code, models, and tools for simulating and estimating portfolios based on constant and time-varying covariance matrices. It offers comprehensive support to generate multivariate random series using both synthetic and real historical financial data.

Features

Covariance Matrix Modeling: Functionality for working with both constant and time-varying covariance matrices.

Data Integration: Seamless integration with synthetic and real historical financial data.

Portfolio Estimation: Algorithms for optimizing portfolio weights.

Simulation Framework: A powerful simulation engine for multivariate random series.

Visualization Tools: Built-in tools for visualizing the portfolio distributions, covariance structures, and more.

Download Course Material

Data Science for Quantitative Finance

This course in applied data science covers the theoretical foundations of advanced quantitative approaches in machine learning, econometrics, risk and portfolio management, algorithmic trading, and financial forecasting. (first taught at Virginia Tech in 2019)

Download Course Material