About this course
Apply machine learning and optimization to financial problems such as pricing, portfolio construction, and algorithmic trading.
Built a reproducible quantitative research pipeline in Python with cvxpy, PyPortfolioOpt, scikit-learn, and vectorbt that constructs risk-aware optimized portfolios, adds machine learning signals, and rigorously backtests a cost-aware trading strategy under purged cross-validation.
Expected outcomes
- Derive mean-variance portfolio theory and the efficient frontier from first principles
- Formulate portfolio construction as convex optimization with realistic constraints
- Explain Brownian motion, Ito calculus, and the stochastic processes underlying asset prices
- Build and validate risk models including value at risk and expected shortfall
- Engineer financial features and labels while avoiding leakage and lookahead bias
- Apply machine learning models to return prediction and signal generation
- Design and backtest algorithmic trading strategies with transaction costs
- Apply purged cross-validation and combinatorial backtesting to control overfitting
- Optimize execution and rebalancing under uncertainty and turnover limits
- Deliver a reproducible research pipeline from data to evaluated strategy
Key topics
- Portfolio optimization
- Algorithmic trading
- Risk modeling
- Machine learning for finance
Theoretical foundations
The concepts and results this course rests on.
- mean-variance portfolio theory and the efficient frontier
- convex optimization, quadratic programs, and duality
- Brownian motion, Ito's lemma, and stochastic differential equations
- risk-neutral pricing and the Black-Scholes-Merton framework
- coherent risk measures, value at risk, and expected shortfall
- statistical learning theory and time-aware cross-validation
- backtest overfitting and the multiple-testing problem
Prerequisites
Course-specific prerequisites:
- Machine Learning
- Probability and statistics
- Calculus and convex optimization
Weekly schedule 13 weeks · lecture + practice
Students use AI coding assistants to vibe-code the quantitative research pipeline: generating pandas data-cleaning steps, drafting cvxpy and PyPortfolioOpt optimization models, and refactoring backtest loops from plain-language strategy specifications. They have the assistant call tools and MCP servers to pull and validate market data, generate synthetic price scenarios and unit tests that guard against lookahead bias and leakage, and scaffold scikit-learn pipelines with purged cross-validation. AI also helps evaluate and analyze results, computing and interpreting risk metrics, deflated Sharpe ratios, and backtest diagnostics, and challenging overfit strategies before they are defended.
Student project
Teams build one end-to-end quantitative investment strategy for a chosen asset universe. Starting from clean data they construct optimized, risk-aware portfolios, add machine learning signals, and turn the result into a cost-aware algorithmic strategy that is rigorously backtested and defended.
Requirements
- Build a working system, not a set of disconnected exercises.
- Be original: a new system that solves a real problem, not a re-implementation of a tutorial or course demo.
- Show real depth: real data, real users or realistic load, and engineering trade-offs that are measured rather than assumed.
- Carry one running project from specification to a deployed, defensible result across the whole term.
- Work in a team of three or four and defend the design at each of the three presentations (weeks 5, 8, and 13).
Example projects
Assessment & grading
Grading is project-based, with no written exam. Teams of three or four present one running project three times.
| Component | What it covers | Weight |
|---|---|---|
| Project · Specification | Presentation 1 (week 5): problem, objectives, and architecture | 20% |
| Project · Interim | Presentation 2 (week 8): the working system demonstrated live | 30% |
| Project · Final | Presentation 3 (week 13): end-to-end demo with oral defense | 50% |
Tools & platforms
- pandas: financial data wrangling and time series
- NumPy: numerical computation and returns math
- cvxpy: convex portfolio optimization models
- PyPortfolioOpt: mean-variance, Black-Litterman, and risk models
- scikit-learn: machine learning models and cross-validation
- statsmodels: regression, time series, and volatility models
- arch: GARCH volatility and risk estimation
- vectorbt: vectorized backtesting of strategies
- yfinance: market data acquisition for prototyping
- Matplotlib: performance and risk visualization
- SciPy: optimization and statistical routines
- Jupyter: interactive notebooks for the running project
Free online courses
Existing free, video-based courses this course can build on, for self-study or as a teaching basis.
- MIT OCWFinance Theory I (15.401)
In Hebrew · בעברית
- CapitalMind (Yigal Weinberg)רשתות נוירונים למסחר אלגוריתמי
- CapitalMind (Ran Arusi)מסחר אלגוריתמי עם פייתון
Primary literature
Seminal works to read for graduate-level depth.
References
Books and resources link to an online or publisher page.
- TextbookAdvances in Financial Machine Learning
- TextbookOptions, Futures, and Other Derivatives
- TextbookStochastic Calculus for Finance II: Continuous-Time Models
- TextbookConvex Optimization
- Documentationcvxpy Documentation
- DocumentationPyPortfolioOpt Documentation
- Documentationscikit-learn User Guide
Role in each concentration
| Concentration | Role |
|---|---|
| Intelligent Software Systems | Elective |
| Networking & Cyber Security | Elective |
| AI & Robotics | Elective |
| AI and Quantum Computing for Finance | Core · Semester 2 |
| Immersive Systems & Game Development | Elective |
| Defense Technologies & Autonomous Systems | Elective |