Data Analytics for Finance


This course will teach you modern, high-performance computer programming for data analytics in finance. You will learn to write your own custom computer code to analyze real stock and bond market data. We will construct trading strategies, form portfolios, and evaluate portfolio performance. We will also explore the use of statistical and machine learning models in the financial domain (e.g., Bayesian Regression, Decision Trees/Random Forests, Neural Networks). The tools and techniques developed are most directly relevant to researchers at quantitative systematic long-short investment funds, but they also have applications to a wide range of data science disciplines outside finance. We will primarily use F# as the implementation language. F# code tends to be as simple as equivalent Python or R code, but it is usually faster and more robust. This makes it a good language for finance, where simplicity, speed, and correctness are important. As a .NET language, it also has access to a wide variety of .NET libraries written in the F# and C# languages. We will also develop neural networks using the same LibTorch backend that powers PyTorch and is used by large industrial users such as Meta and Tesla. The API that we will use has very similar naming and coding idioms to the PyTorch Python API. Given that the course analyzes investment strategies, a strong background in investments is important. Either prior completion or concurrent enrollment in the Nova Investments course is strongly encouraged. The course will be easier for those who have written computer programs or scripts before, but no prior programming experience is required. We will start with the basics and get you up to speed quickly. However, those new to programming should expect to devote a lot of outside-class time early in the course learning programming basics. I will provide links to extensive online tutorials to help

General characterization





Responsible teacher

Nicholas H Hirschey


Weekly - Available soon

Total - Available soon

Teaching language





There is no required book for the course. Additional reference material relevant to each lecture subject will be added to the course area in due time. 

Teaching method

Lectures will consist of walk-throughs and discussion of example code demonstrating how to perform necessary calculations. This code is also provided to students so that they can study and experiment outside of class. Outside experimentation with the example code provided in class will be necessary for mastery of the course material. 

Evaluation method

The student's grade will be based on assignments and projects.

Class Participation: 15% Assignments: 20% Midterm: 20% Final Exam/Project: 45% 

Subject matter

More information and example lectures material may be found at . This is a relatively new course that can change a lot year to year. Below is a preliminary outline of topics. Some topics will change and/or cover multiple sessions.

Programming basics, returns, and volatilities. Stock market return predictability. Volatility modelling and volatility timing strategies. Constructing trading strategies from a signal. Portfolio performance evaluation. Constructing mean-variance efficient portfolios. Constructing "Smart Beta" Portfolios. "AI" topics like gradient boosting decision trees and neural networks for predicting return and risk.