作者 | 梁天新

编辑 | DeepRL

来源 | 深度强化学习实验室(ID: Deep-RL)

近年来,强化学习在电子游戏、棋类、决策控制领域取得了巨大进展,也带动着金融交易系统的迅速发展,金融交易问题已经成为强化学习领域的研究热点,特别是股票、外汇和期货等方面具有广泛的应用需求和学术研究意义。本文以金融领域常用的强化学习模型的发展为脉络,对交易系统、自适应算法、交易策略等方面的诸多研究成果进行了综述。最后讨论了强化学习在金融领域应用中存在的困难和挑战,并对今后强化学习交易系统发展趋势进行展望。

1. RRL在金融交易系统中的应用

Moody 等人将循环强化学习算法模型(Recurrent Reinforcement Learning,RRL)应用在单一股票和资产投资组合等领域,测试了日内外汇市场(USD / GBP)、标准普尔500(S&P 500 Index)、美国短期国债等金融资产。以收益率为输入,微分夏普比率为目标函数,在交易成本为5‰的情况下进行实验。RRL 策略获得的回报超过Q 学习(Q-Learning)策略和买入持有策略,并在交易次数上明显小于Q 学习策略。

在交易领域中,最终利润或者基于风险的收益,代表交易模型的回报。通过专家标签和分析一定长度金融时间序列做出交易决策,这种监督方式交易系统存在以下弊端:首先,金融交易获得的回报不是即时的,回报是交易中止时的总回报,这导致每一步决策的回报不明确。这正是强化学习中的临时信用分配和结构信用难题,即“系统获得的奖赏如何分配到每个操作上[5]”;其次,标签数据是基于已知的金融时间序列,忽略了不断变化的市场风格对输入变量有效性的影响,导致交易系统不能及时调整策略。

最后,随着交易价格的变化,交易成本也在不断变化,无法实时调整交易成本的模型,即便是预测准确,依然会由于交易成本失控导致交易亏损。实践证明,监督学习方式在金融自动交易系统中应用效果并不理想。

相比监督式的交易系统,Moody 等人提出的RRL 算法是一种在线模式,可以找到随机动态规划问题的近似解[7]。RRL 不需要标记信息,通过行动得到的环境反馈来调整内部参数,增加未来回报的期望值。基于RRL 建立的交易系统通过循环算法解决优化时间信用分配问题和结构信用分配问题[5],RRL 获得的交易利润是路径依赖决策的结果,既包含基于时间的反向传播算法(Back Propagation Through Time,BPTT),也包含在线自适应算法(Adaptive Algorithm)。RRL 既可以应用在单一金融资产交易领域,也可以应用到投资组合管理领域。它在金融领域的应用如图1所示。

2. RRL模型

Moody 等人提出的RRL 模型把金融时间序列作为输入,以最大化微分夏普比率(Sharp Ratio)为目标函数,设计两类金融领域常见的操作:做空(short)、做多(long)。RRL将动作定义为,代表着在t 时刻的操作(空/多),RRL 单层神经网络的预测模型如公式(1.1)所示:

r_t代表收益率,有如下两种表示方法:

研究中常采用对数收益率,对数收益率比价格差值更容易体现价格的变动,也更容易计算夏普比率、最大回撤率(Max Drawdown) 等风险度量指标。当价格变化幅度

RRL 算法以最大化利润为目标,但通常不使用最高累计利润作为模型表现衡量指标,最高累计利润p_T ,表示为

3. RRL优化方式

RRL 的目标是通过梯度上升的方式在一个循环神经网络中优化权重w_t

4.  基于RRL 自适应交易系统

自动交易系统架构

交易系统整体流程如下图所示:

5. 值函数与Q 学习的金融交易系统

6.  结论

本文认为上述研究中仍然存在着亟待解决的问题:

  • 金融市场具有不稳定性,趋势实时变化。从历史的训练数据中学到的知识可能不会在后续测试数据中有良好的效果,这对强化学习模型的适应性提出了更高的要求,不同市场条件下如何选择合适的强化学习模型和深度学习模型仍然是一个悬而未决的问题。

  • 构建基于强化学习的交易软件或系统,通常一种算法不能解决全部问题,针对不同的市场情况,需要设置不同的配置模块。风险层、策略轮动层、自适应层等层次结构的设计至今没有统一解决方案,业界仍然在探索中。

  • 大部分强化学习模型系统都是专攻某一类金融交易,单纯的做多、做空或空仓观望等,投资组合方式也仅是对各类金融资产的权重进行重新分配。但是,如股票中性、期货中性等策略需要对多种资产同时进行复杂的多空对冲操作时,仍缺少充分的研究。

  • 强化学习领域最近提出了确定性策略和蒙特卡罗树搜索结合的算法,并应用于围棋领域,获得了突破。如何将蒙特卡罗树搜索策略应用在交易系统中,值得深入研究。

更多内容请查看原paper《 基于强化学习的自动交易系统研究与发展》

http://www.jos.org.cn/jos/ch/reader/view_abstract.aspx?file_no=5689&flag=1

(*本文为AI科技大本营转自啊文章,转载请联系原作者)

精彩推荐

推荐阅读

  • 11年艺术学习“转投”数学,他出版首本TensorFlow中文教材,成为蚂蚁金服技术大军一员

  • 清华官宣:前百度总裁张亚勤正式加盟清华大学

  • 小米回应“米家”商标争议;人人 App 回归社交市场;TiDB 2.1.19 发布| 极客头条

  • 迁移学习前沿研究亟需新鲜血液,深度学习理论不能掉链子

  • 详解GPU技术关键参数和应用场景

  • 链版“微信”,27 岁身价达 2.5 亿美元

  • “微软让我损失了两亿美金!”

  • 太逆天!程序员当总统、拿下《国家地理》全球总冠军、成著名歌手!

  • 区块链重塑人类社群生态

  • 你点的每个“在看”,我都认真当成了AI

​基于强化学习的自动交易系统研究与发展综述相关推荐

  1. 王亚楠:基于强化学习的自动码率调节

    本文来自 爱奇艺 技术产品中心 资深工程师 王亚楠在LiveVideoStackCon 2018热身分享,并由LiveVideoStack整理而成.在分享中,王亚楠分别介绍了自动码率调节的实现过程.现 ...

  2. 使用MATLAB/simulink与PreScan联合进行基于强化学习的自动驾驶系统设计与仿真

    使用MATLAB/simulink与PreScan联合进行基于强化学习的自动驾驶系统设计与仿真 总论 环境配置 系统搭建 总论 使用MATLAB中的强化学习工具箱作为核心算法的建立工具,在simuli ...

  3. 论文研读——基于深度强化学习的自动驾驶汽车运动规划研究综述

    论文研读--Survey of Deep Reinforcement Learning for Motion Planning of Autonomous V ehicles 此篇文章为论文的学习笔记 ...

  4. LiveVideoStackCon讲师热身分享 ( 四 ) —— 基于强化学习的自动码率调节

    LiveVideoStackCon 2018音视频技术大会是每年的多媒体技术人的盛宴,为了让参会者与大会讲师更多互动交流,我们推出了LiveVideoStackCon讲师热身分享第一季,在每周四晚19 ...

  5. 【DeepExploit】基于强化学习的自动渗透工具

    文章目录 1. 研究背景 1.1 自动化渗透测试研究背景 1.2 DeepExploit简介 1.3 Metasploit简介 1.3.1 Metasploit渗透步骤--以MS17-010为例 1. ...

  6. 自动驾驶前沿综述:基于深度强化学习的自动驾驶算法

    ©作者 | 陈道明 学校 | 布里斯托尔大学 研究方向 | 自动驾驶方向 这是 21 年的一篇综述文章,可以算得上是最前沿的自动驾驶技术综述.这几年随着深度表征学习的发展,强化学习领域也得到了加强.本 ...

  7. 论文浅尝-综述 | 基于强化学习的知识图谱综述

    转载公众号 | 人工智能前沿讲习 论文来源:https://crad.ict.ac.cn/CN/10.7544/issn1000-1239.20211264 摘要:知识图谱是一种用图结构建模事物及事物 ...

  8. 基于强化学习的自动化剪枝模型

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 来源丨AI科技评论 编辑丨极市平台 导读 GitHub上最新开源的一 ...

  9. 华为诺亚ICLR 2020满分论文:基于强化学习的因果发现算法

    2019-12-30 13:04:12 人工智能顶会 ICLR 2020 将于明年 4 月 26 日于埃塞俄比亚首都亚的斯亚贝巴举行,不久之前,大会官方公布论文接收结果:在最终提交的 2594 篇论文 ...

  10. 智能城市dqn算法交通信号灯调度_博客 | 滴滴 KDD 2018 论文详解:基于强化学习技术的智能派单模型...

    原标题:博客 | 滴滴 KDD 2018 论文详解:基于强化学习技术的智能派单模型 国际数据挖掘领域的顶级会议 KDD 2018 在伦敦举行,今年 KDD 吸引了全球范围内共 1480 篇论文投递,共 ...

最新文章

  1. Google App Engine技术架构之Google App Engine架构
  2. NAR:psRobot-植物小RNA分析系统
  3. [EntLib]微软企业库5.0 学习之路——第五步、介绍EntLib.Validation模块信息、验证器的实现层级及内置的各种验证器的使用方法——上篇...
  4. cocos2dx3.x使用cocostudio触摸事件不响应的奇葩问题
  5. 深入浅出PHP&MySQL(影印版)
  6. pythontuple数据类型_Python数据类型之元组的详细介绍
  7. EV3 直接命令 - 第 2 课 让你的 EV3 做点什么
  8. 为什么Java会给system报错_java – 为什么将System.nanoTime()转换为Calendar对象会给我错误的当前日期?...
  9. flutter html 加载_实操 | 在 Flutter 中创建通信桥
  10. RFID(射频识别)详解(带图)
  11. 批处理设置计算机不休眠,Windows 定时休眠 睡眠 批处理命令
  12. Microsoft Office安装全过程记录
  13. kindle读书笔记——2017.05.22-06.21
  14. 又一个同学被快手挂掉了
  15. React 生成二维码
  16. 可替换STM23G031的32位单片机
  17. 项目中如何进行有效的沟通管理(一)
  18. python如何读取txt文件内容
  19. xampp带PHP,xampp下载-XAMPP(php集成环境包)下载 v7.4.11.0官方版--pc6下载站
  20. Bounding Volume Hierarchy (BVH)

热门文章

  1. MySQL(11)-----多表创建及描述表关系(多对多的分析和实现)
  2. netdevice - 底层访问 Linux 网络设备
  3. HDU 6188:Duizi and Shunzi(贪心)(广西邀请赛)
  4. 2017年秋季学期获“领跑衫”感言
  5. 2、开关灯、选项卡、隔行换色
  6. 改善程序与设计的55个具体做法 day5
  7. NLog在.NET Core Console Apps中的简单应用
  8. 子界类型(Subrange types)
  9. 化解字符串不能超过8000的方法及交叉表的处理
  10. shell+中sum的用法_使用shell进行计算