概述¶
遵循OpenAI Gym的事实标准,我们为数据驱动的金融强化学习构建了一个市场环境宇宙,即FinRL-Meta。我们遵循以下设计原则。
1. 分层结构¶
我们在金融领域采用了一种分层的强化学习结构,该结构由三层组成:数据层、环境层和代理层。每一层执行其功能并且相对独立。主要有两个优点:
透明度:各层通过端到端接口交互,实现算法交易的完整工作流程,达到高扩展性。
模块化:遵循各层之间的API,用户可以轻松定制自己的功能,以替代任何层中的默认功能。
2. DataOps 范式¶
DataOps范式是一组实践、流程和技术的结合:自动化数据工程和敏捷开发。它有助于减少数据工程的周期时间并提高数据质量。为了处理金融大数据,我们遵循DataOps范式并实施了一个自动化管道:
任务规划,如股票交易、投资组合分配、加密货币交易等
数据处理,包括数据访问和清洗,以及特征工程。
训练-测试-交易,DRL代理参与其中。
性能监控,比较DRL代理与一些基线交易策略的性能。
通过这个管道,我们能够持续生成动态市场数据集。
3. 训练-测试-交易流程:¶
我们采用了一种训练-测试-交易的流程,DRL方法遵循标准的端到端流程。DRL代理首先在训练数据集中进行训练,并在测试数据集中进行微调(调整超参数)。然后,对代理进行回测(在历史数据集上),或在模拟/实盘交易市场中部署。
该管道通过分离训练/测试-交易周期来解决信息泄露问题,代理在回测或模拟/实盘交易阶段永远不会看到数据。
这样一个统一的管道允许在不同算法之间进行公平比较。
4. 即插即用¶
在开发流程中,我们将市场环境与数据层和代理层分开。任何DRL代理都可以直接插入我们的环境中,然后进行训练和测试。不同的代理可以在相同的基准环境中运行,以便进行公平比较。支持多个流行的DRL库,包括ElegantRL、RLlib和SB3。