Teaching

  • Adv Big Data Economics (ECON 5314G- Ph.D.)  Complete Course Material
  • Big Data Economics (ECON 4314 / CMDA 4314 – Upper-level undergraduate)
  • Data Science for Quantitative Finance (ECON 4984 / CMDA 4984 – Upper-level undergraduate) Complete Course Material
  • Quantitative Economics with Python (ECON 4984 – Undergraduate)
  • Machine & Deep Learning from Theory to Practice (Module for M.Tech Data Science – Masters) Complete Course Material
  • Deep Learning & Data Classifiers (Module for program In Business Analytics – Postgraduate) 
  • AI-Based Algorithmic Trading with Python (Practitioners)  Complete Course Material
  • Forecasting in Finance (Practitioners)
  • Machine Learning for Econometricians (Practitioners)

 

Adv Big Data Economics (ECON 5314G – Ph.D.)

Discover the full course outline and lecture notes by following this link.

This intermediate applied econometrics course covers the theoretical, computational, and statistical underpinnings of big data analysis. The focus will be the econometric models and machine learning techniques to analyze the high-dimensional data sets a.k.a. “Big Data” and their implications in research focusing on interesting economic questions that arise from considering the rapid changes in data availability and computational technology. Big data econometric models provide a vehicle for modeling and analyzing complex phenomena and for incorporating rich sources of confounding information into economic models. The goal of this course is to give an applied, hands-on introduction to these methods. At the end of the course, students will be able to read and understand theoretical papers on the subject, implement the techniques themselves in Python, and apply the techniques to data used in economics and business. The data sets we will use for this course are from the World Bank Group, Kaggle, Federal Reserve Economic Data, Google Finance, and several other resources.

Pre:  ECON 3254 or ECON 4304 or CMDA 3654 or STAT 3006. (3H, 3C).

Syllabus:

Preliminaries                                                             

  • Overview of Big Data and Big Data Visualization
  • Python Programming (NumPy, SciPy, pandas, matplotlib, scikit-learn, PyTorch)
  • Linear Algebra and Optimization for Machine Learning
  • Regression Analysis; (Matrix Formulation, OLS, MLE, SGD, Logistic & Polynomial Regression)
  • Curse of Dimensionality
  • Bash Scripting and Shell Programming
  • High-Performance Computing (VT ARC and Google CoLab)

Model Selection and Feature Extraction

  • Regression with Many Regressors: Standard Approaches to Model Selection Algorithms
  • Penalized Regression Methods: Lasso, Ridge, and Elastic Net
  • Linear Dimensionality Reduction with an Emphasis on PCA
  • Factor Models; Estimation and Inference
  • Economic forecasting in a Big Data environment
  • Estimation of Large Covariance and Precision Matrices
  • Feature Selection from an Information-Theoretic Perspective
  • A Brief Introduction to Bayesian Inference and Bayesian VARs

Deep learning in Big Data Analytics                                                                                                    

  • Nonlinearity in Big Data Sets and Nonlinear Dimensionality Reduction
  • Neural Networks and Deep Learning Autoencoders
  • Double Machine Learning for Treatment and Causal Inference

Machine Learning from Theory to Practice

To view the complete course syllabus and lecture notebooks, click here.

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 emphasize 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.

Data Science for Quantitative Finance (CMDA 4984)

To access the full course description and related lecture materials, click here.

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 for the Computational Modelling and Data Analytics Programme at Virginia Tech in 2019)

Algorithmic Trading with Python

Find everything you need to know about the course and lecture notebooks here.

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

Quantitative Economics with Python (ECON 4984 – Online)

This course provides an introduction to exploring, quantifying, and modeling relationships in economic and financial data, by demonstrating techniques such as regression models, and optimization techniques in Python. Combining economic knowledge with Python will allow you to construct some very powerful tools. Python is a widely-used general-purpose programming language, which happens to be well suited to economics, data science, and other more general numeric problems. In this course, you will learn how to pull real-world data from various online APIs like Google or Yahoo! Finance, for historical stock prices, and Federal Reserve and World Bank for macro data. Here you will apply the most powerful modeling tools in the python data science ecosystem, including NumPy, Scipy, pandas, matplotlib, statsmodels, and scikit-learn, to build and evaluate economic models. By exploring the concepts and applications of economic models with python, this course serves as both a practical introduction to programming and as a foundation for learning more advanced modeling techniques and tools in big data and machine learning.