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

2017 年 11 月 21 日 机器之心

选自GitHub

作者:Zhengyao JiangDixing XuJinjun Liang

机器之心编译

参与:路雪


近日,《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(使用深度强化学习框架解决金融投资组合管理问题)

 


摘要:金融投资组合管理是将资金不断分配到不同的金融产品,以期获得更大累计收益的过程。本文展示了一个不使用金融模型的强化学习框架,为投资组合管理问题提供深度机器学习解决方案。该框架包括 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

  • ...


用户手册

  • https://github.com/ZhengyaoJiang/PGPortfolio/blob/master/user_guide.md

  • https://github.com/ZhengyaoJiang/PGPortfolio/wiki/User-Guide 



本文为机器之心编译,转载请联系本公众号获得授权

✄------------------------------------------------

加入机器之心(全职记者/实习生):hr@jiqizhixin.com

投稿或寻求报道:content@jiqizhixin.com

广告&商务合作:bd@jiqizhixin.com

登录查看更多
9

相关内容

深度强化学习 (DRL) 是一种使用深度学习技术扩展传统强化学习方法的一种机器学习方法。 传统强化学习方法的主要任务是使得主体根据从环境中获得的奖赏能够学习到最大化奖赏的行为。然而,传统无模型强化学习方法需要使用函数逼近技术使得主体能够学习出值函数或者策略。在这种情况下,深度学习强大的函数逼近能力自然成为了替代人工指定特征的最好手段并为性能更好的端到端学习的实现提供了可能。
【IJCAI2020-华为诺亚】面向深度强化学习的策略迁移框架
专知会员服务
25+阅读 · 2020年5月25日
多智能体深度强化学习的若干关键科学问题
专知会员服务
172+阅读 · 2020年5月24日
最新《智能交通系统的深度强化学习》综述论文,22页pdf
【Texas 大学】强化学习领域的课程学习:一个框架和综述
专知会员服务
70+阅读 · 2020年3月22日
【综述】金融领域中的深度学习,附52页论文下载
专知会员服务
161+阅读 · 2020年2月27日
深度强化学习策略梯度教程,53页ppt
专知会员服务
176+阅读 · 2020年2月1日
【强化学习】深度强化学习初学者指南
专知会员服务
178+阅读 · 2019年12月14日
17种深度强化学习算法用Pytorch实现
新智元
30+阅读 · 2019年9月16日
TensorFlow 2.0深度强化学习指南
云栖社区
18+阅读 · 2019年2月1日
资源 | 《深度强化学习》手稿开放了!
THU数据派
16+阅读 · 2018年10月24日
深度强化学习入门,这一篇就够了!
机器学习算法与Python学习
26+阅读 · 2018年8月17日
浅显易懂的分布式TensorFlow入门教程
专知
7+阅读 · 2018年6月22日
收藏!CNN与RNN对中文文本进行分类--基于TENSORFLOW实现
全球人工智能
12+阅读 · 2018年5月26日
入门 | 从Q学习到DDPG,一文简述多种强化学习算法
论文结果难复现?本文教你完美实现深度强化学习算法DQN
中国人工智能学会
5+阅读 · 2017年11月24日
Adaptive Neural Trees
Arxiv
4+阅读 · 2018年12月10日
Arxiv
9+阅读 · 2018年3月23日
Arxiv
4+阅读 · 2017年10月30日
VIP会员
相关资讯
17种深度强化学习算法用Pytorch实现
新智元
30+阅读 · 2019年9月16日
TensorFlow 2.0深度强化学习指南
云栖社区
18+阅读 · 2019年2月1日
资源 | 《深度强化学习》手稿开放了!
THU数据派
16+阅读 · 2018年10月24日
深度强化学习入门,这一篇就够了!
机器学习算法与Python学习
26+阅读 · 2018年8月17日
浅显易懂的分布式TensorFlow入门教程
专知
7+阅读 · 2018年6月22日
收藏!CNN与RNN对中文文本进行分类--基于TENSORFLOW实现
全球人工智能
12+阅读 · 2018年5月26日
入门 | 从Q学习到DDPG,一文简述多种强化学习算法
论文结果难复现?本文教你完美实现深度强化学习算法DQN
中国人工智能学会
5+阅读 · 2017年11月24日
Top
微信扫码咨询专知VIP会员