Skip to content

Machine-Learning-Labs/q-trader

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Q-Trader

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.

Results

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 install dependencies and generate environment

conda create -n q-trader python=3.6 anaconda
conda install --yes --file requirements.txt
source activate q-trader

# or
./setup.sh

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

# Manually
python src/train.py ^GSPC 10 1000

# By shell script
./train.sh

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

# Manually
python evaluate.py ^GSPC_2011 model_ep1000

# By shell script
./evaluate.sh

References

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

Releases

No releases published

Packages

No packages published

Languages

  • Python 74.9%
  • Shell 25.1%