对于日内高频期货交易来说,最常使用的技术指标就是开盘价-最高价-最低价-收盘价(通常也简写为OHLC)。基于OHLC四个价格衍生出了多种日内高频交易策略,例如菲阿里四价策略和Dual Thrust策略。如图1即为Dual Thrust 策略,根据OHLC和交易量进行分析,当前价格突破买入基准/卖出基准时,就会自动生成交易信号。这些技术指标如果采用手工计算则泛化能力较差,因此人们选择使用机器学习来弥补这一短板,更好地提高策略的泛化能力,也因此体现出了机器学习在量化交易中的重要性。在本文中,我们主要介绍几种基于强化学习的日内高频期货量化交易方法
图1:Dual Thrust 策略
一.An Imitative Deep Reinforcement Learning Approach
本文首先介绍的是一种模仿深度强化学习算法,该算法主要针对两个问题:1.金融财务数据具有高噪声、非平稳的特点;2.由于存在市场摩擦,智能体需要平衡 exploration 和 exploitation。
由于金融财务数据存在着噪声,Liu(2020)[1] 等人为了处理高频数据中的噪声,将整个高频交易的过程建模为部分可观马尔科夫决策过程(Partially Observable Markov Decision Process POMDP),建模的目的是为了观测到无法被观测到的底层步骤。且通过循环神经网络、循环确定策略梯度算法(RDPG)可以观测到有噪音干扰下的市场运作。
对于问题2,为了解决市场中存在的摩擦,Liu等人提出使用模仿学习,作者首先设置了一个由Dual Thrust的动作初始化的演示缓冲区,之后为了保持交易智能体的动作连续性,作者引入了行为克隆技术,将这些模仿方式结合到POMDP模型中,来增强智能体的交易能力。
变量定义
在第一部分,作者进行了变量定义。在时间t时,作者定义OHLC的价格向量为 。金融证券的价格序列写为 ,作者将历史价格序列简写为 ,其中n为窗口长度。作者将t时刻的技术指标向量定义为 ,其中 与历史价格序列相关:,为技术策略j的参数。技术指标序列为。t时的账户利润为,则账户利润序列为
POMDP
在第二部分中,作者对部分可观马尔科夫决策过程进行了简单的介绍。POMDP是针对量化交易的泛化马尔可夫决策过程。一般来说,MDP包含五个元祖 。为状态的有限集,为行为的有限集。T为状态转移函数:,由一组状态之间的条件转移概率组成。为收益方程,为可能收益的连续集合。R为在某种状态下采取行动所能带来的及时收益。为折扣因子。对于确定性策略,智能体的目标是学会策略,使期望的折扣收益达到最大值 。动作值函数可以评估策略 的表现情况。
POMDP与MDP的区别在于,POMDP还包含 和 ,其中 为观察集,为观测转换函数。在每个时间段,智能体在特定的状态 采取行动 ,基于 的概率转变为状态 ,同时,智能体在状态 时有 的概率得到观测值
观测集定义
在观测集部分,作者将观测集分为两部分,账户观测集 和市场观测集 ,其中 代表累计账户收益 , 与价格 和技术指标 相关。与一般情况不同,消费者行为对市场带来的影响相对较小,也因此在本文中作者并不考虑交易行为,即 。而相对的,个人账户观测集则完全由个人行为所决定。将两种观测集相加,就能得到适合POMDP框架: 的观测集 。
一般的价格趋势可以被视为实际市场状态的一个重要组成部分。根据作者先前技术分析的经验,作者从Dual Thrust strategy中选择技术指标(买方线、卖家线)作为对价格趋势的观察。也因此整个观测集可以写为
交易行为定义
为了比较不同的交易策略,作者规定智能体以最低的安全金额进行交易。交易行为在文章中被定义为连续的概率向量 ,智能体执行概率最大的行为。在t时,行为可以写为
收益方程
为了缩小模拟与现实之间的差距,作者在实际约束条件下模拟交易,即作者考虑了交易成本费用 和滑点 。基于这些限制条件,在t时,账户的收益 可以写为:
作者选用了差分夏普比率作为他们的收益方程,此处夏普比率是对风险调整收益的评估。夏普比率(Sr)为超额收益与一单位整体风险的比例。在t时
当适应率拓展到一阶时,被定义为
在t时的微分夏普比率为
其中 和 是 的第一和第二矩的指数移动估计,也可以写为:
其中 为数值参数。控制账户收益 对夏普比率 的影响幅度,也因此, 实际上代表对的影响。
模型框架
在作者提出的POMDP量化交易框架中,智能体接收到了各个时间段市场和个人账户的观测值 ,观测值包括市场价格,技术指标,账户收益等。历史行为观察H可以被定义为。RDPG通过递归神经网络(RNNs)来有效地合成历史信息。智能体通过最大化估计的动作值函数来学习确定性策略(actor)
RDPG需要访问历史H,维护了一个带有参数的actor函数,一个带有的critic函数和episode的缓冲区
作者将先前的历史动作值视为RNN在t-1时返回的隐藏状态。历史可以写为:
对于每个独立的训练步骤来说,training rollouts都从随机过程中收集到额外的噪声。智能体行为可以写为。在智能体执行了交易行为之后,系统能收到收益和下一个从个人账户和市场中返回的观测值。当到达最大时间长度T时,全部episode存储到优先重传缓冲区中。之后,从中抽取一个由N个完整episode组成的minibatch,进行模型更新。
对于每个episode i,RDPG最小化带有参数的损失L来更新critic
使用反向传播(BPTT)的采样策略更新actor:
其中分别为值函数Q和策略的复制参数。和在训练中更新升级,和以一定延迟复制它们。具体的模型流程如下所示
图2:iRDPG模型总览
重放缓冲区
最初,作者设置了一个优先重放缓冲区,同时中预先存储了使用 Dual Thrust 策略的演示episode 。在实际交互之前使用演示对智能体进行预训练。通过先对技术因子分析的预训练,智能体可以在一开始学习到基本的交易策略,在训练过程中,每个由演示和智能体episode 组成的minibatch都通过优先经验重放(PER)进行采样。
Episode P(i)的概率与优先级成正比,即 ,其中为episode i的优先级,φ为常数。在本文中,作者修改了优先级的定义,的定义为
式中第一项为第i个episode的损失 ;第二项为actor梯度的绝对值;为正常数,用来增加被采样的概率;评估actor梯度的贡献。作者对网络的更新使用重要性采样权重进行加权, ,其中为一个常数
行为克隆
为了给每个交易行为设定一个目标,作者引入了日内贪婪动作(intra-day greedy actions)作为专家行动 。创造一个预言性的交易专家,他总以最低的价格做多,最高的价格做空。对于每个训练步骤,作者使用行为克隆技术来衡量智能体行为与预言专家的行为之间的差距。此外,仅在critic表明专家动作比演员动作表现更好时才记录行为克隆损失(BC Loss)
这种修改成为Q-Filter。行为克隆的损失L’是用于更新的辅助损失。即,修改后的actor梯度更新如下:
测试结果
作者基于iRDPG框架,选择以Dual Thrust策略作为示范交易策略。根据Dual Thrust策略,在当前股票价格突破买入基准/卖出基准时,就会自动生成交易信号,具体的方式如下:
Open为当天的开盘价, 为基准的参数,,代表之前n天最高的最高价,同理,,,
作者选用了空头并持有,多头并持有,DDPG算法作为基准,结果如图所示,在沪深300市场中,iRDPG算法取得了最高的收益率。
图3:各模型在沪深300上的表现
之后,作者进一步展示了 iRDPG 在不同市场(如 IF 和 IC)中的泛化能力。
在表1中,作者展示了 Dual Thrust 和 iRDPG 在IF 和 IC两个市场中的表现。图4为其在 IF 和 IC 中的日累计收益率。在表1和图4中,我们可以发现相同策略在两个期货市场上的表现是完全不同的。但从图5中可以看出,IF 与 IC 的价格趋势相似,iRDPG策略取得的收益较为相似,但Dual Thrust策略取得的收益差距则变化较大,这进一步证明了基于静态技术指标的策略泛化能力较差。
图4:Dual Thrust 和 iRDPG在IF 和 IC 中的日累计收益率
图5:IF 和 IC 的价格变化趋势
为了更好的比较,作者在 IF 训练集中训练智能体,并分别在 IF 和 IC 测试集中测试智能体。虽然 Dual Thrust 策略在 IF 中略好于 iRDPG,但我们可以看到 iRDPG 在 IC 中超过 Dual Thrust。重点在于,iRDPG 从未接受过 IC 训练。这样的表现可以证明作者提出的模型适用于不同的市场,并且我们的智能体可以提取稳健的特征并学习动态交易策略。
表1:各个方法在IF 和 IC 中的表现
在这章节中,Liu等人提出了一个模仿类算法,该算法可以很好地解决高频数据内的噪声并解决市场内存在的摩擦。然而在实际操纵中,强化学习往往会遇到多种多样的麻烦,不仅是数据噪声和市场摩擦,在处理奖励时有时也会遇到标量变成矢量(即存在多个相互冲突的目标),在这种情况下就需要运用到多目标强化学习,在下面我们将介绍一种基于多目标强化学习的高频策略算法。
二.Multi-Objective Deep Reinforcement Learning Approach
与上文介绍的算法不同,在第二章我们介绍一种基于循环强化学习的策略算法,该强化学习的特点是多对象。标准的循环强化学习本质是一个单层循环神经网络。
为内积,为t时采取的交易决策{long,neutral,short},表示t时的市场条件的特征向量,(w,b)为特征回归的系数,为被训练以实现最大化交易目标的参数集。在循环强化学习中,因为频繁变化的交易头寸会带来巨大的交易成本,所以t时刻的动作不仅取决于t时刻的当前市场状况,而且依赖于t1时刻的先前动作。
在标准循环强化学习中,价格序列为 ,在t时刻的收益为 ,t时的特征向量用滞后收益来表示,,即最近返回的m个值能组成特征向量。代表交易决策{long,neutral,short}。利润:
上述式子中第一项是在t1时刻基于在的决策而获得的利润或损失,第二项是在t时刻改变交易头寸时的交易成本。当两个连续的决策不同时,就会产生交易成本。
在整个T交易时间段内的累计收益可以写为:
夏普比率为风险调整收益,具体定义为:
日内交易,则目标是最大化平均每日收益,降低交易风险,因此多对象结构框架可以如下定义:
其中k代表一天内的时间段。前一项为测量平均每日收益,后一项描述波动率,即后一项越小,则说明交易风险越小。系数α和β根据系统策略自行调整学习,本文中α=1,β=0.01
深度学习神经网络
与上一个方法的提出者不同,本文作者采用多个全连接的隐藏层来提取隐藏的特征。作者定义深度变化为, 通过非线性映射从输入向量中提取特征。因为是全连接,在每个在(l+1)隐藏层的节点都与l层的节点相连,即:
为l层的第i个节点输入。和为待学习可调节参数。
在学习完隐藏特征,作者构建特殊的循环神经网络来进行决策。本文作者的以LSTM神经网络为主体,交易行为受下述等式控制:
特征以及之前的输入会被记录在记忆单元中。在每个步骤中,遗忘门决定有多少记忆留下,输入门记录新的信息到记忆单元中。最后,输出门和新的记忆单元输出结果。
最后一层为全连接隐藏层,包含tanh激活函数。最后一层的输出范围为-1到1,对应着交易决策。为LSTM层的输出,{w,b}为需要学习的参数。
图6:多对象深度学习模型总览
特征学习的失活
神经元失活是训练深度神经网络中最流行的正则化技术,用来防止过拟合现象发生。在每个训练阶段中,每个神经元有一定概率p在这次训练阶段中被遗忘,但在下一个训练步骤中激活。超参p被称为神经元失活概率。作者定义x为l层的i节点的输入,为l层的i节点的失活后输入,为相对应的输出。基于失活的存在,神经网络可以写为
其中表示元素智能乘积,D是由独立的伯努利Ber(p)分布的随机变量组成的矩阵。
失活策略仅在训练过程中使用,训练之后神经元不再失活。本文的失活率为50%。失活策略往往在输入层使用,且4个隐藏层要避免过拟合。在LSTM层作者并没有使用失活策略。
MODRL神经网络的输出为交易信号提供了方向。作者定义了一个参数δ来区分三个动作.在本文中,δ=0.5
测试结果
图7:三大指数期货的测试集
作者选取了国内三大指数期货进行实验,这些期货合约都有着较高的流动性,且允许短期和长期操作。当之后的市场价格变高(变低)时,多头(空头)就能获利。作者选择了2016-01~2017-06总计18个月的数据。在测试集部分(红色区域),IF合约表现出了较大幅度的上升与下降;IC合约表现出明显的下降趋势;IH合约在一开始并没有明显的变化趋势,但在之后的时间里呈现了较为明显的上涨。
本文中作者设置交易成本TC=1,200个滞后收益作为交易系统的输入,四个全连接隐藏层分别有100,100,50,50个隐藏节点。第四个隐藏层的特征显示与LSTM层的20个隐藏节点相连接,LSTM层的输出作为最终层的输入,最终层有一个隐藏节点用于制定交易决策。
图8:策略在三大指数期货的表现情况
结果显示,该策略的变现优于标准循环强化学习和买入并持有策略,有着最优的收益率。
Gabrielsson P(2015) 等人采用了与上述相似的循环强化学习算法,结合日本蜡烛图这项技术指标进行了实证研究
图9:日本蜡烛图
结果显示,结合了日本蜡烛图和循环强化学习的算法也能取得较为优异的回报收益。BH为买入并持有策略,ZI为零情报交易员(zero-intelligence trader)。BR为标准循环强化学习交易,CR为结合了日本蜡烛图的循环强化学习。图8分别显示了1~5天的收益情况,上下分别为不考虑交易成本和考虑交易成本的情况。结果同样显示了循环神经网络的优越性。
图10:结合日本蜡烛图的循环强化学习
三.结语本文
主要介绍了两种针对日内高频期货交易的强化学习算法。随着科技的发展,人们在处理高频日内数据上有了更多的选择与方法。通过强化学习,投资者可以更为便捷地做出最为合适的多空策略,进而取得较好的收益。相信在未来,也会有更多更出色的算法诞生,帮助投资者解决各种投资难题。
市场有风险,投资需谨慎。以上陈述仅作为对于历史事件的回顾,不代表对未来的观点,同时不作为任何投资建议。
参考文献
[1]Liu, Y., Liu, Q., Zhao, H., Pan, Z., & Liu, C. (2020). Adaptive Quantitative Trading: An Imitative Deep Reinforcement Learning Approach. Proceedings of the AAAI Conference on Artificial Intelligence, 34(02), 2128-2135.
[2] Si W , Li J , Ding P , et al. A Multi-objective Deep Reinforcement Learning Approach for Stock Index Future's Intraday Trading[J]. 2017:431-436.
[3] Gabrielsson P , Johansson U . High-Frequency Equity Index Futures Trading Using Recurrent Reinforcement Learning with Candlesticks[C]// Computational Intelligence, IEEE Symposium. IEEE, 2015:734-741. |
|