免费客服热线:400-1086-811

一站式量化投资服务

循环强化学习和LSTM神经网络在证券自动交易领域的应用

人工智能量化研究 2017-11-05 09:02:41 浏览量:6726

前言:美林银行研究员David W. Lu最近发表了一篇名为“Agent Inspired Trading Using Recurrent Reinforcement Learning and LSTM Neural Networks”的文章。该文章将强化学习应用到证券的自动交易领域,探索强化学习自动交易模型的盈利能力,并在多种证券上进行测试,提出了如何有效规避强化学习模型在交易时频繁交易带来的交易成本上升风险,有效控制了交易次数,保证了盈利的稳定性,创新的提出用夏普比率等传统量化参数替代损失函数的做法,实现了交易风险的降低。我们把文章的主要内容翻译出来与大家分享。

正文:

随着GPU计算能力的增强和深层神经网络的突破,人工智能在很多尚未探索的领域获得了应用机会。本文通过深度强化学习进行自动交易agents的训练,在实验中能够达到普通交易员的水平,在英镑美元兑换的交易中验证了模型的鲁棒性和可行性。强化学习是一种拥有自适应控制能力的学习系统,为了在本实验中实现类似人类的表现,我们需要从原始的输入中构建知识,类似于卷积神经网络直接从图片中学习到特征,有了这些能力就可以构建一个几近真实的人工智能。

本篇文章中主要应用直接强化学习(direct reinforcement )和循环强化学习(recurrentreinforcement learning ),不使用价值函数和策略选择算法。

为什么采用直接强化学习和循环强化学习呢?

近年来虽然深度学习在理论和实践上都取得了重大的进步,但是在金融界的应用却很少有公开的报道。本文作者在关注强化学习中了解到,价值函数的方式确实在许多应用中取得了很好的应用效果,AlphaGo,训练直升机等等。然而,价值函数方式本身具有几个被动限制。首先,部分研究人员已经发现当Q-Learning函数被神经网络(cnn等)替代后,使用简单的马尔可夫决策过程有可能不收敛,这展现了神经网模型在强化学习框架下的脆弱性。这意味着价值函数较小的变化,可能造成策略的剧烈变动。这种情况在自然语言处理等领域可以被接受,但是在交易领域却是无法承担的,因此在交易领域使用价值函数的方法存在很严重的问题。

相对而言,循环强化学习可以提供即时反馈以优化交易策略,在不需要满足价值函数离散度方法的情况下就可以生成有价值的行动和网络权重。因此基于强化学习的优化方法,我们可以利用交易的盈利和风险来建立学习目标。学者穆迪的研究显示适用on-line的循环强化学习可以利用在夏普比率和下降偏差比进行训练。邓岳(清华大学博士,目前就职三星美国研究院)通过实验显示利用深度学习的方式初始化强化学习模型的特征值,并用最大回报作为循环强化学习的目标,可以达到盈利的目的。(这篇文章会在稍后的公众号中介绍)

为了扩展循环结构,本文讲讨论了如何利用基于时间的反方向传播方法将循环神经网络展开为一系列没有时间反馈的时间依赖的堆栈。正如邓岳在论文中的讨论,梯度消失的问题在这些结构中是不可避免的。我们通过LSTM来处理这个缺陷,并引入了Dropouts的方法进行测试。最后本文探讨了如何通过梯度上升来优化循环强化学习目标。

本文的交易agents在标准普尔500指数,英镑兑美元和商品期货市场的历史记录下都进行测试,并取得了不错的交易记录。

如何定义一个agent如何进行交易?

640.webp.jpg

为了证明智能交易agents的可行性,首先将智能交易agents 应用在一个固定的证券交易上,继而可以将这种方法推广到更加复杂的交易环境中。首先我们定义一个客观的函数能够让agents 知道我们是在寻找的最大值或最小值目标,现代的基金经理通常使用夏普比例来确定投资的收益情况。

夏普比率的定义如下:

640.webp (1).jpg

其中 Rt 是交易时段的t内的投资回报率,其中E[]表示期望值。现代投资组合理论中,较高的夏普比率意味着较高的回报比率,更依靠较小的波动趋势获利。虽然有其他的函数和比率可以使用,在本文中我们仅使用夏普比率ST作为我们的最大期望。

每个交易都可能采取多头,空头,观望三种状态。当出现多头的安全位置时进行购买,当出现合适的空头位置就触发卖出操作。

首先用简单的形式定义交易者函数:

我们定义Ft∈[-1,0,1]表示时间t的交易位置。当Ft> 0时,多头仓位。在这种情况下,交易者安全地以价格Pt购入证券,并希望价格在t + 1期间上涨。当空头头寸是Ft<0的时候,交易者以Pt的价格卖空,希望价格在t + 1期间下跌,这样交易者可以买回来,实现做空。因此可以直观地可以使用Tanh函数来代表这个设置,因为它的值是(-1,1)。

blob.png

其中xt是序列是[rt -m+1,...rt ] 返回值是rt= Pt-Pt-1,上述公式并不完整,我们在交易函数中加入阀值b,在最后收益中加入折扣率u,以此参与回归。具有参数的最新交易方式可以阻止agents频繁更改交易头寸,避免产生巨额交易成本。因此我们可以重写方程式,如下:

blob.png

当以交易价格c购入s手数时可知 t 时刻的回报写成如下形式:

blob.png

当上述元素建立起来之后,我们就可以最大化夏普比率ST为目标使用梯度提升或其他方式训练我们的交易模型Ft,目标是找到最大化ST的超参数和权重w,形式如下:

640.webp (2).jpg

其中权重wt 代表t时刻全部权重,St是我们想最大化的收益,这同传统bp神经网络并无太大差异,传统的bp函数是求解损失函数的最小化,采用梯度下降法,而本文中我们是为了求解夏普比率的最大化,因此我们采用梯度上升法让损失函数St最大。 权重w是通过一些时间序列来调整的,这点类似于RNN,因此训练采用沿时间反向传播的方式进行训练(BPTT),如下:

640.webp (3).jpg

将上面函数的偏微分展开后如下:

640.webp (4).jpg

dFt/dw是依赖于以前时间段的整个序列的总导数。换句话说,dFt/dw是循环的,并取决于所有先前的值。尽管它减缓了梯度上升的幅度,但是鉴于现今计算能力的提升和样本范围的增加,这样的计算代价是可接受的。为了正确计算和优化这些总导数,我们使用“反向传播时间”(BPTT)方法。或者,可以通过公式(6)中在向前向传递数据期间获得的回报Rt来更新公式(6)中的等式

变为:

640.webp (5).jpg

这种训练执行随机优化或随机梯度上升算法。我们还在实验测试中描述了梯度上升学习算法的权重衰减变量,以验证性能。使用权重衰减(5)变为:

blob.png

夏普比率是风险估计中最广泛使用的指标,虽然它能提供风险排名,但是不能提升的投资者的风险意识,原因在于它使用方差作为风险度量并不区分上下风险。对大多数投资者而言,风险是指投资组合中的收益率下降的风险。本文使用循环神经网络和下降偏差比来实验这两种信号,以保护下行风险。

LSTM的Dropout用法

LSTM循环神经网络包含各种非线性隐藏层,这使得它非常具有表现力,可以学习输入和输出之间的复杂关系。然而,复杂的关系容易将采样噪声的结果混杂于训练集中,而实际测试数据并不包含噪声,即便它是从相同的分布中获取的。显然这会导致模型过拟合,我们通常使用被称为Dropout的正则化技术解决这个问题。它能防止过拟合,并提供了一种有效地训练多种神经网络架构的方法。有趣的是,事实证明,Dropout不适用于RNN和LSTM,除非正确使用它。我们在下图中展示了如何正确地将Dropout应用到LSTM。主要思想是将Dropout操作符应用于非循环层。下图.显示了Dropout仅适用于虚线箭头部分,而不适用于实线箭头部分。

640.webp (6).jpg

重点解决三个问题

1) 等式(3)中的阀值b是如何影响交易频率、交易策略。虽然对冲基金可能应用频繁的交易策略,比如高频,超高频交易,但投资管理基金和个人投资者可能需要较少的交易频率。这可以很容易地由我们的robo-trader(自动交易agents)实现。

2) 循环神经网络与LSTM神经网络之间的表现结果。实验显示,我们不仅会最大限度地提高下行偏差率,而且还会在时间序列一直趋向下降的信号中进行交易(做空),并尝试在不利条件下保护投资。我们还比较了使用下降偏差比与夏普比率作为损失函数时,不同强化学习agents的效果。

3) 这些FX模拟证明了强化学习模型具有在现实世界金融价格序列中发现结构的能力。我们的目标是通过少量手动参数调整找到最佳解决方案,并优化任何交易周期内的模型性能。

下图显示了本文的agents 在迭代1000次的过程中,夏普比率的变化过程。由此可见,夏普比率在迭代中不断增大,agents的收益率持续稳定并且风险在降低。

640.webp (7).jpg

下图显示:经历过权重优化后的agents模型的收益率明显要超过没优化的模型

640.webp (8).jpg

结论

“强化学习agents”通过不断的试错,从惩罚和奖励中进行学习,像人类一样,自己学习并实现成功的策略,获得最大的长期回报。我们的agents直接从原始输入构建特征和自主学习交易知识,类似于计算机视觉的卷积神经网络(cCNN),它使用启发式学习方法在没有任何手工特征提取的情况下取得图片的深层特征信息。以上正是通过深度神经网络来实现的。DeepMind开创了深度神经网络与强化学习的结合,创造出第一个人造agents,并实现alphaGo在围棋领域的类人化表现。目前诸多领域都在探索深度学习和LSTM的应用,诸如预测的模型,分类模型和无监督学习等领域。我们领域的目标是简单地让人工智能自己进行交易,尽量减少超参数的存在。利用本论文的agents模型,我们还可以探索在其他证券领域的应用。

实证结果表明,agents使用FX数据作英镑兑美元的交易实验是成功的。实验还表明,我们可以实现下行偏差的下行保护。这将有助于投资者在市场情绪悲观时进行风险管理。对于被动投资者,我们的研究结果表明长期策略是可行的,可用于与股票或其他资产交易策略相结合。

文章来源:“Agent Inspired Trading Using Recurrent Reinforcement Learning and LSTM Neural Networks” by David W. Lu

免责声明:对本网站的内容,我们不提供任何形式的关于内容的正确性、有效性、稳定性、不侵犯他人保证网站内容所包含的文字、图形、或其它事项的准确性或完整性,也不保证本网站的内容不存在打印、的错误。"量邦科技"可随时更改本网站内容,但不保证在更新时通知您。用户使用本网站服务所存在的由自己承担,本网站不承担任何法律责任。如有疑问,可致电量邦科技编辑部:400-1086-811

相关阅读