paint-brush
深度强化学习框架实现量化金融交易自动化经过@reinforcement
1,893 讀數
1,893 讀數

深度强化学习框架实现量化金融交易自动化

太長; 讀書

FinRL 是一个开源框架,简化了深度强化学习在量化金融中的使用,提供了可定制、可重复交易策略的全栈解决方案。
featured image - 深度强化学习框架实现量化金融交易自动化
Reinforcement Technology Advancements HackerNoon profile picture
0-item

作者:

(1)刘晓阳、杨红阳,哥伦比亚大学(xl2427,[email protected]);

(2)高杰超,弗吉尼亚大学([email protected]);

(3)Christina Dan Wang(通讯作者),上海纽约大学([email protected])。

链接表

摘要和 1 引言

2 相关工作和 2.1 深度强化学习算法

2.2 深度强化学习库和 2.3 金融领域的深度强化学习

3 拟议的 FinRL 框架和 3.1 FinRL 框架概述

3.2 应用层

3.3 代理层

3.4 环境层

3.5 训练-测试-交易流程

4 实践教程和基准性能和 4.1 回测模块

4.2 基准策略和交易指标

4.3 实践教程

4.4 用例一:股票交易

4.5 用例二:投资组合配置和 4.6 用例三:加密货币交易

5 FinRL 生态系统及结论和参考文献

抽象的

深度强化学习(DRL)被认为在量化金融领域具有竞争优势。然而,由于编程容易出错和调试繁琐,量化交易者要获得一个能够自动在市场中获胜的代理,即决定在哪里交易、以什么价格交易、交易多少数量,开发曲线很陡峭。在本文中,我们提出了第一个开源框架 FinRL,作为完整的管道,帮助量化交易者克服陡峭的学习曲线。在关键原则、全栈框架、定制、可复制性和动手指导下,FinRL 具有简单、适用和可扩展的特点


FinRL 采用模块化结构的三层架构,实现了经过微调的最先进的 DRL 算法和常见的奖励函数,同时减轻了调试工作量。因此,我们帮助用户以高周转率流水线化策略设计。在多个时间粒度上,FinRL 使用历史数据和实时交易 API 模拟各种市场作为训练环境。FinRL 具有高度可扩展性,保留了一组用户导入接口,并纳入了市场摩擦、市场流动性和投资者风险规避等交易约束。此外,作为从业者的垫脚石,典型的交易任务以分步教程的形式提供,例如股票交易、投资组合配置、加密货币交易等。

1 引言

深度强化学习(DRL)在探索(未知领域)和利用(现有知识)之间取得平衡,是量化金融中实现自动化交易的一种很有前途的方法 [50][51][47][54][21][13]。DRL 算法通过与未知环境的交互进行学习,能够有效解决动态决策问题,并具有投资组合可扩展性和市场模型独立性两大优势 [6]。在量化金融中,算法交易本质上是在高度随机和复杂的金融市场中做出动态决策,即决定在哪里交易、以什么价格交易以及交易多少。如图 1 所示,DRL 交易代理结合多种金融因素,构建多因素模型来自动交易,这对于人类交易者来说是难以做到的 [4, 53]。因此,DRL 被认为在量化金融领域具有竞争优势。


现有的许多研究已将 DRL 应用于量化金融任务。由于深度神经网络在估计在某一状态下采取某一行动的预期回报方面非常强大,研究人员和行业从业者都在积极设计由 DRL 推动的交易策略。Moody 和 Saffell [33] 利用策略搜索进行股票交易;Deng 等人 [9] 表明 DRL 可以比传统方法获得更高的利润。更多的应用包括股票交易 [35, 47, 51, 54]、期货合约 [54]、另类数据(新闻情绪)[22, 35]、高频交易 [15]、清算策略分析 [3] 和对冲 [6]。加密货币市场也在积极探索 DRL,例如自动交易、投资组合配置和做市。


然而,设计 DRL 交易策略并不容易。编程容易出错,调试繁琐。开发流程包括预处理市场数据、构建训练环境、管理交易状态和回测交易表现。这些步骤是实施的标准步骤,但对于初学者来说却很耗时。因此,迫切需要一个开源库来帮助研究人员和量化交易者克服陡峭的学习曲线。


在本文中,我们提出了一个 FinRL 框架,该框架可自动简化交易策略的开发,从而帮助研究人员和量化交易员以高周转率迭代他们的策略。用户指定配置,例如挑选数据 API 和 DRL 算法,并分析交易结果的表现。为了实现这一点,FinRL 引入了一个三层框架。最底层是环境层,它使用实际历史数据(例如收盘价、股票、交易量和技术指标)模拟金融市场。中间是代理层,它实现了微调的 DRL 算法和常见的奖励函数。代理通过状态空间和动作空间上适当定义的奖励函数与环境交互。顶层包括自动交易中的应用程序,我们在其中演示了几个用例,即股票交易、投资组合配置、加密货币交易等。我们提供基线交易策略以减轻调试工作量。


图 1:使用深度强化学习的 FinRL 自动交易概览。


在三层框架下,FinRL 的开发遵循三个主要原则:


• 全栈框架。提供面向金融优化的全栈DRL框架,包括市场数据API、数据预处理、DRL算法、自动回测等,用户可以透明地使用这样的开发流程。


• 定制化。通过包含最先进的 DRL 算法并支持新算法的设计,在开发中保持模块化和可扩展性。DRL 算法可用于通过简单的配置构建交易策略。


• 可重复性和实践指导。提供分步 Jupyter 笔记本和用户指南等教程,帮助用户完成流程并重现用例。


这导致了一个统一的框架,开发人员能够通过高级配置和规范有效地探索想法,并根据要求定制自己的策略。


我们的贡献总结如下:


• FinRL 是第一个展示 DRL 算法在量化金融中应用巨大潜力的开源框架。我们围绕 FinRL 框架构建了一个生态系统,为快速发展的 AI4Finance 社区奠定了基础。


• 应用层为用户提供接口,以便用户根据自己的交易任务定制 FinRL。提供自动回测模块和性能指标,帮助量化交易者以高周转率迭代交易策略。盈利交易策略可复制,并以初学者友好的方式提供动手教程。还可以调整训练后的模型以适应快速变化的市场。


• 代理层提供最先进的 DRL 算法,这些算法通过微调超参数适应金融。用户可以添加新的 DRL 算法。


• 环境层不仅包括历史数据 API 集合,还包括实时交易 API。它们被重新配置为标准的 OpenAI Gym 风格环境 [5]。此外,它还纳入了市场摩擦,并允许用户自定义交易时间粒度。


本文的其余部分安排如下。第 2 节回顾了相关工作。第 3 节介绍了 FinRL 框架。第 4 节演示了使用 FinRL 的基准交易任务。我们在第 5 节中总结了本文。