This project deals with Quantative Trading, building a trading strategy by generating alpha, optimizing a portfolio .
This project is divided into 5 sections :
- Trading with Momentum Strategy :
- Generated a trading signal based on Momentum Indicator.
- Tested the strategy to see if it has potential to be profitable.
- Break-Out Strategy :
- Implemented Break-Out Strategy i.e when stocks break out of range, due to, e.g., a significant news release or from market pressure from a large investor.
- Smart-Beta Portfolio Optimization:
- Built a portfolio using Quadratic programming to optimize the weights.
- The portfolio formed was compared to a benchmark index by calculatiing a tracking error against the index.
- Multi-Factor Model using PCA:
- Created a statistical risk model using Principal Component Analysis.
- Created factors, then evaluated them using factor-weighted returns, quantile analysis, sharpe ratio, and turnover analysis.
- Optimized the portfolio using the risk model and factors using multiple optimization formulations.
- Backtesting:
- Built a fairly realistic backtester that uses the Barra data. The backtester will perform portfolio optimization that includes transaction costs.
- Implemented it with computational efficiency in mind, to allow for a reasonably fast backtest.
- Performanced attribution to identify the major drivers of your portfolio's profit-and-loss (PnL).
Since the project was under Udacity's AI for Trading Nanodegree the dataset was provided by thier partners Quotemedia, Barra and Sharadar.
pip install -r requirements.txtPull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.