# Undergraduate Summer Research Program (USRP)
Welcome to USRP Group 6! We're thrilled to embark on this exciting journey into the world of quantitative trading, where mathematical insights meet real-world financial markets. This program is designed to equip you with the tools and knowledge to build your own trading strategies from the ground up. We'll delve into financial data analysis, explore techniques for constructing optimal portfolios, and master the art of creating effective trading and hedging strategies. Throughout the program, you'll collaborate with your peers, tackling challenging problems and gaining hands-on experience with cutting-edge tools like Google Colab, HackMD, and even AI assistance from ChatGPT, Gemini, or Claude. By the end, you'll have a solid foundation in mathematical finance and the practical skills to navigate the complexities of the trading world. Let's dive in and discover the power of quantitative trading together!
## Quantitative Trading
* **Focus:** Developing and implementing a quantitative trading strategy.
* **Goal:** Successful implementation of a chosen quantitative method and creation of a trading strategy based on it.
* **Meeting Times:**
* Tuesdays: 1:00 PM - 4:00 PM
* Thursdays: 9:00 AM - 12:00 PM
### Preliminaries (Recommended Background)
* Convex Optimization
* [EE364a: Convex Optimization I](https://web.stanford.edu/class/ee364a/)
* [EE364b: Convex Optimization II](https://web.stanford.edu/class/ee364b/)
* [Convex Optimization Short Course](https://web.stanford.edu/~boyd/papers/cvx_short_course.html)
* [CVXPY (Python library)](https://www.cvxpy.org/)
* Portfolio Construction
* [Markowitz Portfolio Construction at Seventy](https://github.com/cvxgrp/markowitz-reference)
* [Cvxportfolio](https://github.com/cvxgrp/cvxportfolio)
* Machine Learning
* [EE104/CME107: Introduction to Machine Learning](https://ee104.stanford.edu/)
### Project List (Choose One)
* Forecasting:
* [Low Rank Forecasting](https://web.stanford.edu/~boyd/papers/low_rank_forecasting.html)
* [Covariance Prediction](https://github.com/cvxgrp/covpred)
* [cvxcovariance](https://github.com/cvxgrp/cov_pred_finance)
* Jump Model:
* [Fitting Jump Models](https://cse.lab.imtlucca.it/%7Ebemporad/jump%5Fmodels/)
* [Feature selection in jump models](https://www.sciencedirect.com/science/article/pii/S0957417421009647)
* [Learning hidden Markov models with persistent states by penalizing jumps](https://www.sciencedirect.com/science/article/abs/pii/S0957417420301329)
* [Dynamic portfolio optimization across hidden market regimes](https://www.tandfonline.com/doi/abs/10.1080/14697688.2017.1342857)
* [Identifying patterns in financial markets- Extending the statistical jum model for regime identification](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4556048)
* [What drives cryptocurrency returns? A sparse statistical jump model approach](https://link.springer.com/article/10.1007/s42521-023-00085-x)
* [Statistical Jump Models](https://github.com/Yizhan-Oliver-Shu/jump-models)
* [Stratified Models](https://github.com/cvxgrp/strat_models):
* [Fitting feature-dependent Markov chains](https://web.stanford.edu/~boyd/papers/feat_dep_mkv_chn.html)
* [Eigen-Stratified Models](https://web.stanford.edu/~boyd/papers/eigen_strat.html)
* [Fitting Laplacian Regularized Stratified Gaussian Models](https://web.stanford.edu/~boyd/papers/cov_strat_models.html)
* [Portfolio construction using stratified models](https://web.stanford.edu/~boyd/papers/lrsm_portfolio.html)
* Statistical Arbitrages
* [Finding Moving-Band Statistical Arbitrages via Convex-Concave Optimization
](https://web.stanford.edu/~boyd/papers/cvx_ccv_stat_arb.html)
* Optimal Execution:
* [Almgren and Chriss Model For Optimal Execution](https://github.com/viai957/Optimal-Portfolio-Transactions/blob/master/Almgren%20and%20Chriss%20Model.ipynb)
* [Optimal execution of a VWAP order- A stochastic control approach](https://onlinelibrary.wiley.com/doi/10.1111/mafi.12048)
* [VWAP Execution and Guaranteed VWAP](https://arxiv.org/pdf/1306.2832)
* [Volume Weighted Average Price Optimal Execution
](https://web.stanford.edu/~boyd/papers/vwap_opt_exec.html)
* Signature Methods:
* [A Primer on the Signature Method in Machine Learning](https://arxiv.org/abs/1603.03788)
* [Extracting information from the signature of a financial data stream](https://arxiv.org/abs/1307.7244)
* [Signature Trading: A Path-Dependent Extension of the Mean-Variance Framework with Exogenous Signals](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4541830)
* [Optimal Execution with Rough Path Signatures](https://epubs.siam.org/doi/10.1137/19M1259778)
* [Optimal Execution of Foreign Securities: A Double-Execution Problem with Machine Learning](https://github.com/imanolperez/optimal-double-execution)
* [Non-parametric online market regime detection and regime clustering for multidimensional and path-dependent data structures](https://github.com/issaz/signature-regime-detection)
* [Signature Methods in Stochastic Portfolio Theory](https://github.com/janka-moeller/sig-spt)
## Sequential Decision Analytics (SDA)
* **Goal:** Complete a project based on the reference text:
* [Sequential Decision Analytics (Powell)]( https://castle.princeton.edu/wp-content/uploads/2022/01/Powell-Sequential-Decision-Analytics-Jan292022-2.pdf)
* **Meeting Time:** Mondays, 9:00 AM - 12:00 PM
* **Additional Resources:**
* [SDA Program Website]( https://castle.princeton.edu/sda/)
* [Introductory Video 1]( https://youtu.be/mlgUuiThe6Q?si=4Q_ESXoqreXYCfj9)
* [Introductory Video 2](https://youtu.be/lTUsr_-CpQM?si=DwwzW7sVY4NvqrX5)
## Tools
* **Coding and Analysis:** [Google Colab](https://research.google.com/colaboratory/)
* **Project Submissions and Presentations:** [HackMD](https://hackmd.io/)
* **AI Assistance:** ChatGPT, Gemini, or Claude can be helpful for brainstorming, code generation, or research assistance.
## Resources
* My Courses: (For general background)
* [Financial Mathematics I](https://www.notion.so/Financial-Mathematics-I-96824edf692a4986aa6c3b98ae014ac6)
* [Financial Mathematics II]( https://www.notion.so/Financial-Mathematics-II-64be834e112d4d49ba4e9a0052240220)
* Python:
* [Python Programming for Economics and Finance](https://python-programming.quantecon.org/intro.html)
* [Introduction to Google Colab](https://youtu.be/oCngVVBSsmA?si=AQ8Iz2NyAqQo0KRR)
* [Python Programming Beginner Tutorials](https://youtube.com/playlist?list=PL-osiE80TeTskrapNbzXhwoFUiLCjGgY7&si=cl51yq07ILnR1dsQ)
* [Pandas Tutorials](https://youtube.com/playlist?list=PL-osiE80TeTsWmV9i9c58mdDCSskIFdDS&si=EWBVK7iVghQHaXlW)
* [Matplotlib Tutorials](https://youtube.com/playlist?list=PL-osiE80TeTvipOqomVEeZ1HRrcEvtZB_&si=1E0EWM2XBmjnshYm)