利用深度强化学习框架解决金融投资组合管理问题(附 GitHub 实现)

近日,《A Deep Reinforcement Learning Framework for the Financial Portfolio Management Problem》的作者开源了该论文的项目代码。这篇文章关于如何利用深度强化学习进行投资组合管理,提出的 DRL 框架性能大大优于其他算法。机器之心对论文摘要进行了简要翻译,附 GitHub 实现。


论文链接:https://arxiv.org/abs/1706.10059

GitHub 地址:https://github.com/ZhengyaoJiang/PGPortfolio


论文:A Deep Reinforcement Learning Framework for the Financial Portfolio Management Problem(使用深度强化学习框架解决金融投资组合管理问题)

 205841.png


摘要:金融投资组合管理是将资金不断分配到不同的金融产品,以期获得更大累计收益的过程。本文展示了一个不使用金融模型的强化学习框架,为投资组合管理问题提供深度机器学习解决方案。该框架包括 EIIE(Ensemble of Identical Independent Evaluators)拓扑、投资组合内存(Portfolio-Vector Memory,PVM)、在线随机批量学习(Online Stochastic Batch Learning,OSBL),和针对即时奖励的奖励函数。本研究中该框架在三种情况下得到实现:卷积神经网络(CNN)、基础循环神经网络(RNN)和长短期记忆网络(LSTM)。它们和大量近期评审或公布的投资组合选择策略经历了三次后验测试实验,实验中加密货币市场的交易周期是 30 分钟。加密货币是一种去中心化的电子货币,其中最著名的就是比特币。该框架的三种实例在所有实验中稳稳占据前三名的位置,优于其他交易算法。尽管后验测试中的佣金率高达 0.25%,该框架仍然能够在 50 天内使收益至少是原来的 4 倍。


GitHub 实现

这是我们的论文《A Deep Reinforcement Learning Framework for the Financial Portfolio Management Problem》的最新实现版本,还包括了 Li 和 Hoi 在综述论文中提到的一些其他投资组合管理算法。

  • 深度强化学习框架是本库的核心。该方法的基础是即时奖励上的梯度下降。你可以在独立的 json 文件中配置拓扑、训练方法或输入数据。训练过程将被记录,用户可以通过 tensorboard 看到训练过程。
  • 更好的超参数优化需要结果摘要和并行训练。
  • 出于对比的目的,本库还嵌入了基于金融模型的投资组合管理算法,其实现基于 Li 和 Hoi 的工具包 OLPS。


论文版本区别


注:本库是我们主项目的一部分,比 arxiv v2 论文的实现高数个版本。

  • 该版本修复了一些技术 bug,对超参数和工程做了一些改进。      
  •         arxiv v2 论文中最大的 bug 是:论文提到的测试时间比真实的时间短 30%。
  • 使用新的超参数,用户可以快速训练模型(少于 30 分钟)。
  • 论文后续版本将包含所有更新。
  • 该开源版本不包括原始版本历史和内部讨论(包括一些代码注释)。部分想法尚未实现,可能成为我们未来论文的基础,所以暂不公布。


平台支持


Windows 系统:Python 3.5+;Linux 系统:Python 2.7+/3.5+。


依赖项


通过 pip install -r requirements.txt 安装依赖项

• tensorflow (>= 1.0.0)

• tflearn

• pandas

• ...


用户手册

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭