概述

遵循OpenAI Gym的事实标准,我们为数据驱动的金融强化学习构建了一个市场环境宇宙,即FinRL-Meta。我们遵循以下设计原则。

1. 分层结构

../_images/finrl-meta_overview.png

我们在金融领域采用了一种分层的强化学习结构,该结构由三层组成:数据层、环境层和代理层。每一层执行其功能并且相对独立。主要有两个优点:

  1. 透明度:各层通过端到端接口交互,实现算法交易的完整工作流程,达到高扩展性。

  2. 模块化:遵循各层之间的API,用户可以轻松定制自己的功能,以替代任何层中的默认功能。

2. DataOps 范式

../_images/finrl_meta_dataops.png

DataOps范式是一组实践、流程和技术的结合:自动化数据工程和敏捷开发。它有助于减少数据工程的周期时间并提高数据质量。为了处理金融大数据,我们遵循DataOps范式并实施了一个自动化管道:

  1. 任务规划,如股票交易、投资组合分配、加密货币交易等

  2. 数据处理,包括数据访问和清洗,以及特征工程。

  3. 训练-测试-交易,DRL代理参与其中。

  4. 性能监控,比较DRL代理与一些基线交易策略的性能。

通过这个管道,我们能够持续生成动态市场数据集。

3. 训练-测试-交易流程:

../_images/timeline.png

我们采用了一种训练-测试-交易的流程,DRL方法遵循标准的端到端流程。DRL代理首先在训练数据集中进行训练,并在测试数据集中进行微调(调整超参数)。然后,对代理进行回测(在历史数据集上),或在模拟/实盘交易市场中部署。

该管道通过分离训练/测试-交易周期来解决信息泄露问题,代理在回测或模拟/实盘交易阶段永远不会看到数据。

这样一个统一的管道允许在不同算法之间进行公平比较。

4. 即插即用

在开发流程中,我们将市场环境与数据层和代理层分开。任何DRL代理都可以直接插入我们的环境中,然后进行训练和测试。不同的代理可以在相同的基准环境中运行,以便进行公平比较。支持多个流行的DRL库,包括ElegantRL、RLlib和SB3。