# AI4Finance-Foundation/FinRL

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/ai4finance-foundation-finrl).**

13,964 stars · 3,136 forks · Jupyter Notebook · mit

## Links

- GitHub: https://github.com/AI4Finance-Foundation/FinRL
- Homepage: https://ai4finance.org
- awesome-repositories: https://awesome-repositories.com/repository/ai4finance-foundation-finrl.md

## Topics

`algorithmic-trading` `deep-reinforcement-learning` `drl-algorithms` `drl-framework` `drl-trading-agents` `finance` `fintech` `multi-agent-learning` `openai-gym` `pythorch` `stock-markets` `stock-trading` `tensorflow2` `trading-tasks`

## Description

FinRL is a reinforcement learning framework designed for the development, training, and backtesting of automated trading strategies. It functions as a quantitative finance toolkit that integrates deep learning algorithms with financial market simulations to address complex portfolio management and asset allocation tasks. The platform provides an end-to-end pipeline for transforming raw market data into actionable trading models.

The project distinguishes itself through a layered, modular architecture that separates data processing, environment simulation, and agent training. This design allows for the creation of standardized market environments that incorporate real-world frictions, such as transaction costs and portfolio constraints, ensuring that strategies are validated against realistic conditions. By utilizing parallel simulation execution, the framework accelerates the training process across diverse asset classes, including stocks and cryptocurrencies.

Beyond training, the system supports the full lifecycle of algorithmic trading, from initial data ingestion and feature engineering to performance benchmarking against established quantitative baselines. It includes tools for calculating standard financial metrics, tuning model hyperparameters, and deploying trained agents to live brokerage interfaces for real-time execution. The framework is designed to be extensible, enabling users to swap components or integrate custom reinforcement learning libraries to suit specific research or operational objectives.

## Tags

### Artificial Intelligence & ML

- [Reinforcement Learning Environments](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/frameworks/reinforcement-learning-environments.md) — Provides a modular library for developing, training, and backtesting automated trading strategies using deep reinforcement learning and market simulations.
- [Reinforcement Learning Training](https://awesome-repositories.com/f/artificial-intelligence-ml/automated-strategy-training/reinforcement-learning-training.md) — Automates the development and training of deep reinforcement learning models for stock trading and portfolio allocation. ([source](https://finrl.readthedocs.io/en/latest/tutorial/1-Introduction.html))
- [Reinforcement Learning Simulators](https://awesome-repositories.com/f/artificial-intelligence-ml/reinforcement-learning-algorithms/reinforcement-learning-simulators.md) — Provides a collection of diverse market simulations for assets to enable training and testing of reinforcement learning agents. ([source](https://finrl.readthedocs.io/en/latest/finrl_meta/background.html))
- [Trading Execution Agents](https://awesome-repositories.com/f/artificial-intelligence-ml/trading-execution-agents.md) — Deploys trained reinforcement learning models to live brokerage interfaces for real-time automated trading. ([source](https://finrl.readthedocs.io/en/latest/tutorial/Guide.html))
- [End-to-End Training Pipelines](https://awesome-repositories.com/f/artificial-intelligence-ml/end-to-end-training-pipelines.md) — Provides end-to-end training pipelines for developing, testing, and deploying reinforcement learning agents across diverse asset classes. ([source](https://finrl.readthedocs.io/en/latest/developer_guide/file_architecture.html))
- [Model Training Pipelines](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/infrastructure/model-training-and-tuning/training-frameworks/model-training-pipelines.md) — Executes end-to-end training and hyperparameter tuning of reinforcement learning models using separated datasets. ([source](https://finrl.readthedocs.io/en/latest/finrl_meta/overview.html))
- [Reinforcement Learning Training Pipelines](https://awesome-repositories.com/f/artificial-intelligence-ml/reinforcement-learning-training-pipelines.md) — Trains trading strategies using deep reinforcement learning algorithms through a modular pipeline. ([source](https://cdn.jsdelivr.net/gh/AI4Finance-Foundation/FinRL@master/README.md))
- [Data Processing Pipelines](https://awesome-repositories.com/f/artificial-intelligence-ml/data-processing-pipelines.md) — Automates the ingestion, cleaning, and feature engineering of financial time-series data into structured inputs for machine learning models.
- [Technical Indicator Calculators](https://awesome-repositories.com/f/artificial-intelligence-ml/market-analysis-agents/financial-market-analysis-platforms/technical-indicator-calculators.md) — Calculates common financial metrics and integrates custom feature extraction logic for reinforcement learning models. ([source](https://finrl.readthedocs.io/en/latest/finrl_meta/Data_layer.html))
- [Reinforcement Learning Environments](https://awesome-repositories.com/f/artificial-intelligence-ml/reinforcement-learning-environments.md) — Standardizes market simulations into a unified interface to facilitate interchangeable reinforcement learning agents and consistent benchmarking.
- [Ensemble Learning](https://awesome-repositories.com/f/artificial-intelligence-ml/ensemble-learning.md) — Combines multiple reinforcement learning algorithms into a single agent to improve decision-making robustness. ([source](https://finrl.readthedocs.io/en/latest/tutorial/2-Advance.html))
- [Agent Integrators](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/frameworks/reinforcement-learning-environments/agent-integrators.md) — Facilitates the integration of modular reinforcement learning agents into standardized market environments for fair performance comparisons. ([source](https://finrl.readthedocs.io/en/latest/finrl_meta/overview.html))
- [Experiment Tracking](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/infrastructure/training-monitoring-and-profiling/training-observability-systems/experiment-tracking.md) — Logs training progress, model parameters, and performance results to dashboards for visual analysis of trading strategy experiments. ([source](https://finrl.readthedocs.io/en/latest/tutorial/4-Optimization.html))
- [Hyperparameter Optimization](https://awesome-repositories.com/f/artificial-intelligence-ml/model-optimization/training-efficiency/hyperparameter-optimization.md) — Automates the search for optimal algorithm settings to improve the performance and stability of reinforcement learning agents. ([source](https://finrl.readthedocs.io/en/latest/tutorial/4-Optimization.html))
- [Algorithm Integrators](https://awesome-repositories.com/f/artificial-intelligence-ml/reinforcement-learning-algorithms/algorithm-integrators.md) — Connects custom trading environments with deep learning libraries to support the development and benchmarking of automated agents. ([source](https://finrl.readthedocs.io/en/latest/developer_guide/file_architecture.html))
- [Trading Strategy Explainers](https://awesome-repositories.com/f/artificial-intelligence-ml/explainable-ai/trading-strategy-explainers.md) — Provides transparency into the logic behind automated portfolio allocation and asset management choices. ([source](https://finrl.readthedocs.io/en/latest/tutorial/2-Advance.html))
- [GPU Training Accelerators](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/infrastructure/machine-learning-training/distributed-and-accelerated-compute/training-acceleration-tools/gpu-training-accelerators.md) — Utilizes parallelization strategies across hardware to accelerate the training of reinforcement learning agents. ([source](https://finrl.readthedocs.io/en/latest/finrl_meta/Environment_layer.html))

### Business & Productivity Software

- [Automated Trading Execution](https://awesome-repositories.com/f/business-productivity-software/automated-trading-execution.md) — Executes automated trading strategies by training and evaluating reinforcement learning agents to optimize portfolio performance. ([source](https://finrl.readthedocs.io/en/latest/tutorial/Guide.html))
- [Automated Trading Platforms](https://awesome-repositories.com/f/business-productivity-software/automated-trading-platforms.md) — Functions as a platform for deploying reinforcement learning agents to live brokerage interfaces to execute trades based on real-time data.
- [Quantitative Trading Platforms](https://awesome-repositories.com/f/business-productivity-software/quantitative-trading-platforms.md) — Acts as a comprehensive toolkit for processing financial data, calculating technical indicators, and benchmarking trading performance.
- [Trading Simulation Engines](https://awesome-repositories.com/f/business-productivity-software/trading-simulation-engines.md) — Provides a standardized environment for modeling complex trading conditions and validating strategy effectiveness against real-world constraints.
- [Trading Strategy Backtesters](https://awesome-repositories.com/f/business-productivity-software/trading-strategy-backtesters.md) — Provides a framework for evaluating the performance and reliability of algorithmic trading strategies against historical market data. ([source](https://finrl.readthedocs.io/en/latest/start/first_glance.html))
- [Automated Trading Engines](https://awesome-repositories.com/f/business-productivity-software/automated-trading-engines.md) — Provides automated trading engines to execute market orders based on real-time financial data and model predictions. ([source](https://finrl.readthedocs.io/en/latest/start/quick_start.html))
- [Reinforcement Learning Backtesters](https://awesome-repositories.com/f/business-productivity-software/trading-strategy-backtesters/reinforcement-learning-backtesters.md) — Evaluates trained trading agents against historical data to validate strategy effectiveness. ([source](https://cdn.jsdelivr.net/gh/AI4Finance-Foundation/FinRL@master/README.md))
- [Market Trading Integrations](https://awesome-repositories.com/f/business-productivity-software/market-trading-integrations.md) — Simulates virtual market environments that incorporate real-world frictions like transaction costs and portfolio constraints for testing trading agents.
- [Trading Simulations](https://awesome-repositories.com/f/business-productivity-software/trading-simulations.md) — Creates virtual trading environments that incorporate market frictions for strategy development and testing. ([source](https://finrl.readthedocs.io/en/latest/start/introduction.html))
- [Cryptocurrency Trading Platforms](https://awesome-repositories.com/f/business-productivity-software/cryptocurrency-trading-platforms.md) — Automates the fetching of market data and execution of trades across multiple cryptocurrency assets. ([source](https://finrl.readthedocs.io/en/latest/tutorial/3-Practical.html))
- [Market Friction Simulators](https://awesome-repositories.com/f/business-productivity-software/market-trading-integrations/market-friction-simulators.md) — Simulates real-world trading conditions by incorporating transaction costs, portfolio constraints, and risk-control mechanisms. ([source](https://finrl.readthedocs.io/en/latest/finrl_meta/Environment_layer.html))
- [Trading Strategy Definitions](https://awesome-repositories.com/f/business-productivity-software/trading-strategy-definitions.md) — Enables the training of agents to make dynamic trading decisions regarding price, quantity, and location within complex market environments. ([source](https://finrl.readthedocs.io/en/latest/))
- [Trading Execution Engines](https://awesome-repositories.com/f/business-productivity-software/trading-execution-engines.md) — Provides pre-configured environments and workflows for training agents on diverse financial tasks including stocks and cryptocurrencies. ([source](https://finrl.readthedocs.io/en/latest/finrl_meta/Benchmark.html))

### Scientific & Mathematical Computing

- [Backtesting Engines](https://awesome-repositories.com/f/scientific-mathematical-computing/quantitative-finance/backtesting-engines.md) — Provides a comprehensive backtesting engine to evaluate reinforcement learning trading strategies against historical market data.
- [Algorithmic Trading](https://awesome-repositories.com/f/scientific-mathematical-computing/quantitative-finance/algorithmic-trading.md) — Connects trained reinforcement learning models to brokerage interfaces for the automated execution of trades in real-time market conditions.

### Data & Databases

- [Financial Data Connectors](https://awesome-repositories.com/f/data-databases/financial-data-connectors.md) — Integrates real-time and historical market data from external providers for use in reinforcement learning environments. ([source](https://finrl.readthedocs.io/en/latest/tutorial/1-Introduction.html))
- [Financial Data Processing](https://awesome-repositories.com/f/data-databases/financial-data-processing.md) — Automates the ingestion, cleaning, and transformation of raw market time-series data into standardized features for machine learning models.
- [Market Data Providers](https://awesome-repositories.com/f/data-databases/market-data-providers.md) — Retrieves historical market data from multiple external platforms and unifies the output for processing. ([source](https://finrl.readthedocs.io/en/latest/finrl_meta/Data_layer.html))
- [Market Data Recorders](https://awesome-repositories.com/f/data-databases/market-data-recorders.md) — Downloads and preprocesses historical market data, augmenting raw information with technical indicators. ([source](https://cdn.jsdelivr.net/gh/AI4Finance-Foundation/FinRL@master/README.md))
- [Metric Calculators](https://awesome-repositories.com/f/data-databases/metric-calculators.md) — Calculates essential financial performance indicators such as Sharpe ratios, maximum drawdown, and annualized volatility for trading strategies. ([source](https://finrl.readthedocs.io/en/latest/finrl_meta/Benchmark.html))
- [Market Data Parsers](https://awesome-repositories.com/f/data-databases/market-data-parsers.md) — Standardizes the ingestion, cleaning, and preparation of raw market data for reinforcement learning models. ([source](https://finrl.readthedocs.io/en/latest/developer_guide/file_architecture.html))
- [Financial Time-Series Cleaners](https://awesome-repositories.com/f/data-databases/time-series-data-modeling/financial-time-series-cleaners.md) — Removes erroneous entries and applies frequency-specific imputation strategies to handle missing values in market datasets. ([source](https://finrl.readthedocs.io/en/latest/finrl_meta/Data_layer.html))

### Development Tools & Productivity

- [Brokerage Connectors](https://awesome-repositories.com/f/development-tools-productivity/automation-integrations/brokerage-connectors.md) — Implements brokerage-agnostic adapters to connect trained models to real-world trading interfaces for automated execution.
- [Data Engineering Pipelines](https://awesome-repositories.com/f/development-tools-productivity/quantitative-workflow-orchestrators/data-engineering-pipelines.md) — Processes raw market data through automated cleaning and feature engineering for reinforcement learning workflows. ([source](https://finrl.readthedocs.io/en/latest/finrl_meta/overview.html))
- [Financial Simulation Protocols](https://awesome-repositories.com/f/development-tools-productivity/development-environment-management/environment-provisioning-configuration/environment-standardization-frameworks/financial-simulation-protocols.md) — Uses a unified interface for creating and sharing financial trading environments that follow standard simulation protocols. ([source](https://finrl.readthedocs.io/en/latest/finrl_meta/Environment_layer.html))
- [Parallel Execution](https://awesome-repositories.com/f/development-tools-productivity/parallel-execution.md) — Accelerates agent training by executing multiple market simulations in parallel across available hardware resources.
- [Modular Architecture](https://awesome-repositories.com/f/development-tools-productivity/modular-architecture.md) — Utilizes a layered, modular architecture to decouple data processing, environment simulation, and agent training components.

### Software Engineering & Architecture

- [Strategy Benchmarkers](https://awesome-repositories.com/f/software-engineering-architecture/performance-reliability/performance-engineering/performance-benchmarking/strategy-benchmarkers.md) — Provides tools for evaluating and comparing the performance of reinforcement learning trading strategies against standardized financial benchmarks. ([source](https://finrl.readthedocs.io/en/latest/))
- [Modular Application Architectures](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/layering-presentation/application-layer-architectures/application-architecture-patterns/modular-application-architectures.md) — Utilizes a layered architecture to select, update, or extend specific trading modules and algorithms. ([source](https://finrl.readthedocs.io/en/latest/start/three_layer.html))
