Deep Q-learning driven stock trader bot
Clone or download
Latest commit 7f3ea94 Sep 7, 2017
Type Name Latest commit message Commit time
Failed to load latest commit information.
agent command line parameters Sep 7, 2017
data project description, test set Sep 7, 2017
images misc results Sep 5, 2017 project description Sep 7, 2017 command line parameters Sep 7, 2017 command line parameters Sep 7, 2017 command line parameters Sep 7, 2017


An implementation of Q-learning applied to (short-term) stock trading. The model uses n-day windows of closing prices to determine if the best action to take at a given time is to buy, sell or sit.

As a result of the short-term state representation, the model is not very good at making decisions over long-term trends, but is quite good at predicting peaks and troughs.


Some examples of results on test sets:

!^GSPC 2015 S&P 500, 2015. Profit of $431.04.

BABA_2015 Alibaba Group Holding Ltd, 2015. Loss of $351.59.

AAPL 2016 Apple, Inc, 2016. Profit of $162.73.

GOOG_8_2017 Google, Inc, August 2017. Profit of $19.37.

Running the Code

To train the model, download a training and test csv files from Yahoo! Finance into data/

mkdir model
python train ^GSPC 10 1000

Then when training finishes (minimum 200 episodes for results):

python ^GSPC_2011 model_ep1000


Deep Q-Learning with Keras and Gym - Q-learning overview and Agent skeleton code