Fork of TensorTrade
TensorTrade-NG has been forked from the TensorTrade-Project, mainly because the code needed a lot refactoring, was outdated and it looked not really maintained anymore. Therefor we did a lot of breaking changes, removed old unused stuff and cleaned up. We tried to preserve the APIs but if you want to switch from TensorTrade to TensorTrade-NG be aware that it may take a little bit of effort. Apart from that we thank all the former developers and community for their awesome work and are happy to welcome them here.
TensorTrade-NG 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 and gymnasium. The idea behind Tensorflow-NG is not to implement all the machine learning stuff itself. But to provide a solid framework that makes it possible to quickly provide a working environment for other tools such as Stable-Baselines3.
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.
Feel free to also walk through the Medium tutorial.
The most up to date example is Train and Evaluate using Ray. We suggest you to start there!
Guiding principles¶
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, exchanges, feature pipelines, action schemes, reward schemes, 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.