# TensorTrade: Trade Efficiently with Reinforcement Learning

Build Status Documentation Status Apache License Discord Python 3.6

TensorTrade is still in Beta, meaning it should be used very cautiously if used in production, as it may contain bugs.

TensorTrade is an open source Python framework for building, training, evaluating, and deploying robust trading algorithms using reinforcement learning. The framework focuses on being highly composable and extensible, to allow the system to scale from simple trading strategies on a single CPU, to complex investment strategies run on a distribution of HPC machines.

Under the hood, the framework uses many of the APIs from existing machine learning libraries to maintain high quality data pipelines and learning models. One of the main goals of TensorTrade is to enable fast experimentation with algorithmic trading strategies, by leveraging the existing tools and pipelines provided by numpy, pandas, gym, keras, and tensorflow.

Every piece of the framework is split up into re-usable components, allowing you to take advantage of the general use components built by the community, while keeping your proprietary features private. The aim is to simplify the process of testing and deploying robust trading agents using deep reinforcement learning, to allow you and I to focus on creating profitable strategies.

The goal of this framework is to enable fast experimentation, while maintaining production-quality data pipelines.

Read the documentation or walk through the tutorial.

Guiding principles

Inspired by Keras' guiding principles.

Getting Started

You can get started testing on Google Colab or your local machine, by viewing our many examples


TensorTrade requires Python >= 3.6 for all functionality to work as expected.

pip install -r requirements.txt


To run the commands below, ensure Docker is installed. Visit https://docs.docker.com/install/ for more information.

Run Jupyter Notebooks

To run a jupyter notebook in your browser, execute the following command and visit the link printed to the command line.

make run-notebook

Build Documentation

To build the HTML documentation, execute the following command.

make run-docs

Run Test Suite

To run the test suite, execute the following command.

make run-tests


You can ask questions and join the development discussion:

You can also post bug reports and feature requests in GitHub issues. Make sure to read our guidelines first.


If you would like to support this project financially, there are a few ways you can contribute. Your contributions are greatly appreciated and help to keep TensorTrade maintained and always improving.

Github Sponsors: https://github.com/sponsors/notadamking

All Github Sponsors donations are matched 1:1 by Github up to \$5,000!

Gitcoin Grants: https://gitcoin.co/grants/155/tensortrade-trade-efficiently-with-reinforcement-l

All Gitcoin Grants donations go directly towards funding our Gitcoin issues.

BTC Address: 1Lc47bhYvdyKGk1qN8oBHdYQTkbFLL3PFw

ETH Address: 0x9907A0cF64Ec9Fbf6Ed8FD4971090DE88222a9aC


Contributions are encouraged and welcomed. This project is meant to grow as the community around it grows. Let me know on Discord in the #suggestions channel if there is anything that you would like to see in the future, or if there is anything you feel is missing.

Working on your first Pull Request? You can learn how from this free series How to Contribute to an Open Source Project on GitHub