
投资要点:► 量化择时交易策略 机器学习量化交易策略的制定,是通过从海量历史数据中,利用计算机强大的处理能力,挖掘并分析出那些能够为投资者带来收益的各种大概率可行的投资方式来实现的。通过数学模型对这些策略进行分析并加以验证,以期望让投资者获得更高更稳定的收益,或更合理地规避风险。 ► 长短期记忆模型通过记忆单元有效地学习长期依赖关系,在金融市场预测中具有明显优势 长短期记忆网络是人工神经网络的一种,具有负责计算时间序列中各个观测值之间依赖性的能力,同时具有快速适应趋势中急剧变化的固有能力。所以,长短期记忆模型可以在波动的时间序列中很好地工作。在处理股票价格这样的时间序列数据时,此模型具有明显的优势。 ► 基于长短期记忆模型的择时策略具有高收益,高夏普比率,低回撤率等特点 长短期记忆网络可以通过记忆单元有效地学习时间序列中的长期依赖关系,对股票市场变化趋势有着较高的拟合度。所以可以根据模型对股票收益的预测结果来决定交易行为。对沪深300指数的回测结果表明模型具有高收益,高胜率,高夏普比率,低回撤率等优点。 ► 基于长短期记忆模型择时在风险和收益两个维度有着很好的表现 利用长短期记忆网络构建股票收益预测模型,根据预测结果决定交易行为。通过在沪深300上的回测表明模型具有高收益,高胜率,高夏普比率,低回撤率的优点。 风险提示 模型基于对历史数据统计,仅作为投资参考。 1.长短期记忆模型基本理论 长短期记忆模型(Long Short-Term Memory, LSTM),是一种特殊的循环神经网络,能够学习长期依赖性。长短期记忆模型在各种各样的问题上表现非常出色,现在被广泛使用,例如,文本生成、机器翻译、语音识别、时序数据预测、生成图像描述和视频标记等。这一节我们主要介绍长短期记忆模型的基本理论,包括模型定义和算法。 1.1.长短期记忆模型的定义 1.1.1.循环神经网络 循环神经网络将时间的概念引入了模型中,在循环神经网络中,每个节点都是一个循环单元,循环结构的加入使得网络的层之间相连,并且是全连接的形式,每一层的节点之间也是互相连接的,网络会按照时序关系对输入及反馈的信息进行处理,即当前时刻节点的输出是由当前时刻的输入以及前一时刻的反馈共同决定的,此反馈也可称为状态或记忆。将循环单元的结构按照时间顺序展开,可知此类链式结构十分适合处理时序数据。 正如其它神经网络,循环神经网络的学习同样分为前向传播以及反向传播。 1)前向传播 t时刻的输出由t-1时刻的状态和t时刻的输入共同计算而得,则t时刻的状态:ℎ=𝑓(𝑈𝑥+𝑉ℎ+𝑏),其中𝑓(·)为激活函数,U、V均为权重且不同时刻同类型的权值是共享的,不随时间变化而产生变动,b为偏置。则t时刻的输出为:𝑦=𝑊ℎ+𝑐,其中W也为权重,取值规则与U、V相同,c也为偏置。则最终模型预测的输出为:𝑧ෝ=𝑓(𝑦)。 𝑡 𝑡 𝑡−1 𝑡 𝑡 𝑡 𝑡 2)反向传播 损失函数的计算公式为:𝐿=−𝑧𝑙𝑜𝑔𝑧ෝ,其中,L为t时刻的损失值,𝑧为t时刻的实际值。 𝑡 𝑡 𝑡 𝑡 反向传播就是为了使损失函数最小化,随着时间以需要优化的参数的负梯度方向为准来计算累计残差的过程,最终直至损失收敛,而需要优化的参数是指U、V和W。 循环神经网络加入的循环结构使得模型较之传统神经网络更为复杂,却增加了其灵活度和适应性,提高了特征学习的能力,也使得模型解决了传统神经网络难以处理时序数据的问题,同时共享的权重参数也一定程度上降低了因循环结构而增加的模型复杂度,减少了计算量,使之在理论上可以处理任意长度的时序数据问题。但是在实际问题处理的过程中,当需要处理长期依赖关系的数据时,权重参数U、V会在训练过程中逐渐衰减或放大:倘若梯度大于1,当t增大时,最终的梯度则会趋于无穷大,模型参数不稳定,无法收敛,此为梯度爆炸;倘若梯度小于1,则当t增大时,最终的梯度会趋于0,模型参数不更新,此为梯度消失。因此,循环神经网络往往只能处理较短的序列,而为了解决这个问题,便出现了LSTM网络。 1.1.2.长短期记忆模型 长短期记忆网络其实是循环神经网络变形中的一种,其出现就是为了弥补循环神经网络无法处理长序列数据的缺陷。长短期记忆网络神经元的结构与循环神经网络相比,主要有两大部分的变化:首先是,在长短期记忆网络神经元中多了一个存储单元用于存储长期记忆;此外,其内部还引入了三个逻辑门控单元,可以控制信息的存储与流动,使得有用的信息得以被留存,无用的信息被遗忘,让模型能够以较小的成本来实现不错的记忆效果。 存储长期状态和临时状态的细胞单元分别用𝑐和𝑐表示,三个逻辑门控单元分别为输入门、遗忘门和输出门,分别用𝑖、𝑓和𝑜来表示。那么,在t时刻下,各门控单元的状态向量和输出向量由以下公式进行计算(当t=1时,初始值𝑐、ℎ均为0):()()൫()൯()()()()(ℎ𝑡=𝑜𝑡⊗tanh𝑐𝑡,𝑐𝑡=𝑓𝑡⊗𝑐𝑡−1+𝑖𝑡⊗𝑐,𝑐=tanh(𝑊ℎ𝑡−)()()()()()()1+𝑊𝑥𝑡+𝑏),𝑖𝑡=σ(𝑊ℎ𝑡−1+𝑊𝑥𝑡+𝑏),𝑓𝑡=σ(𝑊ℎ𝑡−1+()()()()𝑊𝑥𝑡+𝑏),𝑜𝑡=tanh(𝑊ℎ𝑡−1+𝑊𝑥𝑡+𝑏)。 𝑡 𝑡 𝑡 𝑡 𝑡 𝑡 𝑡 h𝑐 𝑖𝑔 𝑔 ℎ𝑖 𝑖𝑖 𝑖 h𝑓 𝑖𝑓 𝑓 h𝑜 𝑖𝑜 𝑜 其中,σ即表示sigmoid函数,⊗表示向量的对应元素相乘。𝑊、𝑊和𝑊分别为输入到三个门控单元的权重矩阵,𝑊、𝑊和𝑊则为隐藏层的权重矩阵,𝑏、𝑏和𝑏分别为相应门单元的偏置向量。 𝑖𝑖 𝑖𝑓 𝑖𝑓 ℎ𝑖 h𝑓 h𝑜 𝑖 𝑓 𝑜 1.2.长短期记忆模型的学习过程 与循环神经网络相似,长短期记忆模型的学习过程也分为正向传播和反向传播两部分,而正向传播的过程基本可以划分为三个阶段:遗忘阶段、记忆选择阶段以及输出阶段,分别对应着三个逻辑门控单元的作用过程。 1.2.1.正向传播 1)遗忘阶段 t时刻输入长短期记忆网络神经元的信息来源于三个部分:t时刻外界的输入𝑥、t-1时刻的长期状态𝑐以及临时状态ℎ,𝑥和ℎ中的信息在进行权值变换之后会被sigmoid函数映射为取值范围为0-1的遗忘门阈值。而遗忘门的作用就是判断𝑐对于当前𝑐内容的重要性,选择性遗忘掉𝑐中的某些内容,以便当前t时刻的新信 𝑡 𝑡−1 𝑡−1 𝑡 𝑡−1 𝑡−1 𝑡 𝑡−1 () ( ) () 息得以被输入进来,这一过程即是数学描述中的𝑓𝑡⊗𝑐𝑡−1,其中,𝑓𝑡中各元素均为0-1的小数,代表的就是存储单元中信息留存的比例,0表示全部遗忘,1表示状态全部保留。 2)记忆选择阶段 此阶段由输入门发挥作用,输入门会控制𝑥信息的留存,其主要是对新输入的信 𝑡 () 息对于𝑐的重要性进行判断,即𝑖𝑡⊗𝑐。此过程中𝑐中tanh函数的作用是对输入的信息进行缩放,生成当前t时刻𝑐状态更新的备选内容。 𝑡 𝑡 𝑡 𝑡 3)输出阶段 此阶段就是由输出门确定输出的内容,对状态进行更新,需要从𝑐中筛选出对t时刻的输出有用的信息生成ℎ,作为当前的输出或进入下一时刻的学习。 𝑡 𝑡 1.2.2.反向传播 长短期记忆模型以损失函数的最小化为目标,沿着负梯度方向对各参数进行调整更新,不过LSTM中参数数量更多,因此此过程的计算要更为复杂。LSTM的损失函数为:𝐿=(𝑦−𝑦ෝ)。而决定梯度的是本层在当前t时刻的输出误差以及之后误 1 2 𝜕𝐿𝜕ℎ𝑡 𝑡 𝑡 𝑡 ′𝜕𝑦𝑡 ′𝜕𝑖𝑡𝜕ℎ𝑡 ′𝜕𝑓𝑡𝜕ℎ𝑡 ′𝜕𝑜𝑡𝜕ℎ𝑡′𝑡 ′𝜕𝑐Ƹ𝑡𝜕ℎ𝑡 𝜕𝐿𝑡𝜕ℎ𝑡𝜕𝐿𝑡+1′𝜕𝑓𝑡 ′′ 𝑡 𝜕𝐿 𝑡+1𝜕ℎ𝑡𝜕𝐿 𝑡+1′𝜕𝑜𝑡 𝜕𝐿𝑡′ 𝜕𝑦𝜕ℎ𝑡 𝜕𝐿 𝑡+1′𝜕𝑖𝑡 𝜕𝐿 𝑡+1′𝜕𝑓𝑡𝜕𝐿𝑡′ 𝜕𝐿 𝑡+1′𝜕𝑜𝑡′𝑡 𝜕𝐿 𝑡+1′𝜕𝑐Ƹ𝑡𝜕𝐿 𝑡+1′𝜕𝑖𝑡 𝜕𝐿𝜕ℎ𝑡 差 , 所以 : = + = + + + + = 𝑡𝜕𝐿 𝑡+1′𝜕𝑐Ƹ𝑡 𝜕𝐿𝑡′𝜕𝑦𝑡𝜕𝐿 𝜕𝐿 𝑡+1′𝜕𝑖𝑡𝜕𝐿 𝑉 + 𝑈+ 𝑈+ 𝑈+ 𝑈 , =(𝑦−𝑦ෝ)𝜎(𝑦), = 𝑜𝑢𝑡 𝜕𝑐𝜕𝑖𝑡+1𝑡𝜕𝑐𝑡 𝑖 𝑓 𝑜 𝑐 𝑡 𝜕𝑦𝑡 𝑡′𝑡 𝑡+1𝜕𝑐𝑡 = 𝑐ෝ𝜎(𝑖)。 𝑡 𝜕𝑖𝜕𝑖𝑡𝑡 𝜕𝐿 𝑡+1′𝜕𝑓𝑡 𝜕𝐿 𝑡+1𝜕𝑐𝑡 𝜕𝐿 𝑡+1′𝜕𝑜𝑡 𝜕𝐿 𝑡+1𝜕ℎ𝑡′𝜕𝑦𝜕𝐿𝑡𝑡′ 𝜕𝐿 𝑡+1′𝜕𝑐Ƹ𝑡𝜕𝐿𝑡′𝜕𝑖𝑡𝜕𝐿𝑡′ ′𝑡 ′𝑡 ′ ′ 同理: = 𝑐 𝜎(𝑓), = tanh(𝑐)𝜎(𝑜), = 𝑡−1 𝑡 𝜕𝐿 𝑡+1𝜕𝑐𝑡 𝜕𝐿𝑡𝜕𝑉 𝑜𝑢𝑡𝜕𝐿𝑡′ 𝑡𝜕𝑐𝑡 𝜕𝐿𝑡′𝜕𝑦𝑡 ′𝑡 ′ ൫൯ 𝑖𝑡𝑎𝑛ℎ𝑐Ƹ。由此可得:∇𝑉 =𝜂 =𝜂 =𝜂 ℎ,∇𝑉=𝜂 𝑥, 𝑡 𝑜𝑢𝑡 𝑡 𝑖 𝑡 𝜕𝑦𝜕𝑉𝑡𝑡 𝑜𝑢𝑡𝜕𝐿𝑡′𝜕𝑖𝑡 𝜕𝐿𝑡′𝜕𝑓𝑡𝜕𝐿𝑡′𝜕𝑜𝑡 𝜕𝐿𝑡′𝜕𝑜𝑡𝜕𝐿 ∇𝑉=𝜂 𝑥,∇𝑉=𝜂 𝑥,∇𝑉=𝜂 𝑥,∇𝑈=𝜂 ℎ ,∇𝑈=𝜂 ℎ , 𝑓 𝑡 𝑜 𝑡 𝑐 𝑖 𝑡−1 𝑓 𝑡−1 𝜕𝑓𝑡 𝑡′𝜕𝑐Ƹ𝑡 ∇𝑈=𝜂 ℎ ,∇𝑈=𝜂 ℎ 𝑜 𝑡−1 𝑐 𝑡−1 从表面上来理解,在前向传播过程中,长短期记忆网络可以判断何时让激活函数进入内部状态,而当输入门的取值为0的时候,激活函数就无法进入。同理,输出门学习的是何时将值输出。当两个门都处于关闭状态时,激活函数不会有任何变化,也不会对当时的输出产生任何影响。这就使得在反向传播过程中的梯度既不会消失也不会爆炸,所以从这个意义上来说,逻辑门控单元在学习何时让误差进入,何时将其输出。在实际应用中,相比于循环神经网络,门控单元的引入使得长短期记忆网络可以控制数据的传递,可以很好地进行长期依赖关系的学习。 1.3.小结 深度学习是机器学习的一种方法。“深度”意为含有多隐层节点的神经网络结构,是和浅层机器学习相对的概念,早期的机器学习模型如支持向量机、逻辑回归都可以理解为浅层机器学习模型,这类模型在结构上相当于只含一层或不含任何隐层节点。 相比于浅层机器学习模型,深度学习可以更好的提取原始数据的特征结构,具有较好的泛化能力,深度神经网络是深度学习实现的途径,比较有代表性的深度神经网络有卷积神经网络、循环神经网络和长短期记忆网络。其中,长短期记忆网络是循环神经网络的一种变体,相比循环神经网络,长短期记忆网络具有记忆性,能够检测数据中的长期依赖关系,因此更适用于对股票价格时间序列进行预测。 股票数据采集与存储的自动化方法成本低、易于实现,存在变量多、样本量大等问题