This is my code for the code challenge "How to Do Win Slot Machines - Intro to Deep Learning #13' by Siraj Raval on YouTube
The coding challenge for this video is to use multiple slot machines instead of one. This way, state is taken into account. See this article for more info on this. Bonus points given for applying the code to a real world use case. You'll learn more about how policy and value functions are related in reinforcement learning by doing this exercise.
I extrapolated the idea of slot machines to the stock market. It's basically a slot machine for rich folks, amirite? I built several different trading 'bandit bots' which each have a strategy that they follow. Since the 'brains' of the bots are irregular (compared to a tensor of data for example), they do not lend themselves easily to neural networks. Reinforcement learning is great for this, because it does not require a loss function, only some reward criteria. We can test each of the bots and using the multi-armed bandit algorithm, determine which is the best-performing.
- tensorflow (https://www.tensorflow.org/install/)
- numpy
- pandas - for loading in stock data
- matplotlib - for graphhing
Run jupyter notebook
in the main directory of this repository in terminal to see the code pop up in your browser.
Install jupyter here if you haven't already.
The credits for the base code go to awjuliani. Siraj added a wrapper to get people started. I built the bots and the updated loss function.