This course is a medium-level introduction to Python and its applications in finance, especially "backtesting." If you need a complete introduction, please follow the online "CBS Python Level 1," a prerequisite to this course that I assume all of you have taken.
When a finance practitioner discovers a new investment strategy (or "alpha signal"), they backtest it: they look at historical data, buy and sell at the posted prices according to the strategy, and then compute the portfolio's return. Back-testing is an essential procedure for both industry (traders back-test a strategy before deployment) and academia (research papers in finance that propose a new profitability factor usually contain a back-test and a measure of profitability).
Then introduce doc tests, unit tests, and object-oriented programming. Along the way, students will also develop a solid mastery of Python, which may be useful for interviewing for summer internships.
In the second half, we will use this backtesting framework to measure the profitability of several strategies that use data science techniques, for example:
- Bollinger bands (using linear regression);
- valuation using multiples (using k-nearest neighbors);
- buy-hold-sell recommendations (using logistic regression and neural networks).
(If ethically allowed:) The instructor will apply each of these strategies in a live portfolio so we can see its performance in the real world week over week.
Division: Decision, Risk and Operations
Prerequisite
Fall 2026
B9156 - 001
Part of Term
MS - Full Term
Section Syllabus
No Syllabus
Section Notes
Attendance at the first class is mandatory for all CBS students who are enrolled, on the waitlist, or hoping to add the course during Add/Drop.
Format
Full Term
Day(s)
Date(s)
Start/End Time
Room
-
Tuesday, Thursday 09/08/2026 - 12/11/2026 9:00AM - 10:30AM Geffen 620
Currently, there are no evaluations available for this course.