TensorTrade is an open source Python framework for building, training, evaluating, and deploying robust trading algorithms using reinforcement learning. This framework aims to extend the existing ML pipelines created by numpy
, pandas
, gym
, keras
, and tensorflow
in a simple, intuitive way.
Allow state-of-the-art learning agents to improve your trading strategies and take you from idea to production, in a repeatable, maintable way.
The goal of this framework is to enable fast experimentation, while maintaining production-quality data pipelines.
Read the documentation.
Inspired by Keras' guiding principles
-
User friendliness. TensorTrade is an API designed for human beings, not machines. It puts user experience front and center. TensorTrade follows best practices for reducing cognitive load: it offers consistent & simple APIs, it minimizes the number of user actions required for common use cases, and it provides clear and actionable feedback upon user error.
-
Modularity. A trading environment is a conglomeration of fully configurable modules that can be plugged together with as few restrictions as possible. In particular, instrument exchanges, feature pipelines, action strategies, reward strategies, trading agents, and performance reports are all standalone modules that you can combine to create new trading environments.
-
Easy extensibility. New modules are simple to add (as new classes and functions), and existing modules provide ample examples. To be able to easily create new modules allows for total expressiveness, making TensorTrade suitable for advanced research and production use.
You can get started testing on Google Colab or your local machine, by viewing our many examples
TensorTrade requires Python >= 3.5 for all functionality to work as expected.
pip install -r requirements.txt
You can ask questions and join the development discussion:
- On the TensorTrade Gitter.
- On the TensorTrade Discord server.
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.
Patreon: https://www.patreon.com/notadamking
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