A modular deep reinforcement learning framework for portfolio management, enabling algorithmic stock trading with DQN and DDPG agents.
Deep-Reinforcement-Stock-Trading is a Python framework that applies deep reinforcement learning to stock trading and portfolio management. It enables developers and researchers to train agents using algorithms like DQN and DDPG to make trading decisions based on historical price data. The framework addresses the challenge of directly mapping market observations to actions (buy, hold, sell) rather than predicting prices.
Researchers and developers interested in applying reinforcement learning to financial markets, algorithmic trading, or portfolio optimization. It's suitable for those with a background in machine learning who want to experiment with DRL in trading scenarios.
It offers a modular and extensible structure that simplifies implementing and testing DRL algorithms for trading, with built-in evaluation and visualization tools. Unlike price prediction models, it directly outputs trading actions, providing an end-to-end approach to automated portfolio management.
A light-weight deep reinforcement learning framework for portfolio management. This project explores the possibility of applying deep reinforcement learning algorithms to stock trading in a highly modular and scalable framework.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Implements DQN and DDPG from scratch with a focus on understanding trade-offs, making it easy to extend with new algorithms as noted in the future plans.
Uses net unrealized profit with penalties for inaction to encourage active trading, addressing local optima challenges mentioned in the key challenges.
Integrates TensorBoard for tracking training loss and portfolio value fluctuations, providing clear insights into model performance during training.
Designed to easily add new algorithms, state representations, and data sources, supporting scalability and future enhancements like CNN integrations.
Assumes no transaction costs, no market impact, and only basic actions (buy, hold, sell), making it unrealistic for real-world trading without significant modifications.
Relies on normalized price differences and basic portfolio info, lacking complex features like volume or multi-timeframe data, which limits model sophistication.
Only supports DQN and DDPG; advanced algorithms like PPO are planned but not implemented, restricting immediate use for cutting-edge research.