NEATStock
Stock recommendations with NEAT.
How it works
This system works using NEAT which stands for Neuroevolving Augmented Topologies. In basic terms, it starts with a set of simple random neural networks (with random hyperparameters such as weights). Then these neural networks are tested and randomly mutated keeping only the winning or best neural network each time. Over time, the winning neural network becomes amazing at the job. The networks are judged on "fitness" and this means different things in different projects. In the case of my project, it meant the success of the neural network in the stock market simulation. At times I found that the algorithm works hugely better on some stocks than others and this explains how just as a graph, the stock market may be spontaneous and unpredictable. This is why I have attempted to combine it with real-world events which ever so slightly bias the data and make it easier for the bot to use. This system isn't yet perfect though and remains as a future plan for this project.
Issues
This system is useful in some senses as a second opinion for whether to buy or sell a stock as well as how risky the investment is according to the spontaneity and unpredictability of the dataset, but cannot be trusted blindly. The accuracy varies wildly with this system. At times the accuracy is below 50% and at some, it is at 90% making huge profits in the simulation.
Future plans
Add a regression analysis algorithm to aid with risk analysis. Improve the event bias algorithm.
What I learned
I learned a lot about the stock market in doing this project, which isn't linked to coding in many senses however still remains a learning. As well as this I learned how to implement the NEAT algorithm which is not something I've done before.
Dependencies
yfinance - To get stock information. numpy - Neural networks and matrix multipication.
Log in or sign up for Devpost to join the conversation.