Data Analytics for Finance
Objectives
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
Code
2280
Credits
7
Responsible teacher
Nicholas H Hirschey
Hours
Weekly - Available soon
Total - Available soon
Teaching language
English
Prerequisites
n/a
Bibliography
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 https://nhirschey.github.io/Teaching/ . 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.
Programs
Programs where the course is taught: