This repository will take a project oriented dive into applying machine learning for stock market trading.
Before any level of machine learning can be applied, I believe it is first necessary to learn and understand portfolios, market economics, and strategies. With a foundation in these fundamental principles, we can start working towards applying machine learning techniques to optimize and hopefully completely automate trading.
Below I've laid a loose roadmap consisiting of some projects and ideas I'd like to tackle to further my understanding of this topic.
A project that investigates what metrics are necessary to evaluate a portfolio's performance.
A project that optimizes the allocation of funds to demonstrate the Efficient Frontier principle.
A project that investigates how orders impact the market and to track and assess a portfolio's performance.
A project that investigates the various machine learning techniques that can be used to optimize trading strategies. This will likely explore the following:
- Decision Tree
- Linear Regression
- Random Tree
- Bootstrap Aggregating
- Q-Learning
These strategies will likely be tested on the market simulator project that was created beforehand. In addition, I will be developing my own strategy as a baseline to compare these machine learning techniques against.
A project that explores the usage of natural language processing techniques on financial statements to ascertain the overall sentiment.
A project that applys sentiment analyzing techniques on social media posts to determine a trade signal.
This folder contains jupyter notebooks investigating the different machine learning algorithms that will prove useful when it comes to the final demo notebook. It contains explanations and some sample code showcasing the algorithm.
This folder contains jupyter notebooks experimenting with Multiperptron classifiers and Support Vector classifiers. They explore the importance of train test splits and hyperparamater optimization.