2023年量化交易策略专题 LSTM模型基本理论分析-环球微动态

2023-05-12 11:45:59

来源:华西证券

1.LSTM 模型基本理论

长期以来,隐变量模型存在着长期信息保存和短期输入缺失的问题,解决这一问 题的最早也是最经典的方法是长短期存储器(Long Short-Term Memory,LSTM), 他与门控循环单元(GRU)有很多相似之处,有意思的是,虽然 LSTM 比 GRU 要复 杂一些,但 LSTM 却早提出近 20 年。 引入自循环的巧妙构思,以产生梯度长时间持续流动的路径是LSTM模型的核心 贡献。其中一个关键扩展是使自循环的权重视上下文而定,而不是固定的。门控此自 循环的权重,累积的时间尺度可以动态地改变。在这种情况下,即使是具固定参数的 LSTM,累积的时间尺度也可以因输入序列而改变,因为时间常数是模型本身的输出。 LSTM 已经在很多应用中取得重大成功。

长短期记忆网络的设计灵感来自于计算机的逻辑门。长短期记忆网络引入了记忆 元(memory cell),或简称为单元(cell)。有些文献认为记忆元是隐状态的一种特殊 类型,它们与隐状态具有相同的形状,其设计目的是用于记录附加的信息。为了控制 记忆元,我们需要许多门。其中一个门用来从单元中输出条目,我们将其称为输出门 (output gate)。另外一个门用来决定何时将数据读入单元,我们将其称为输入门 (input gate)。我们还需要一种机制来重置单元的内容,由遗忘门(forget gate)来 管理,这种设计的动机与门控循环单元相同,能够通过专用机制决定什么时候记忆或 忽略隐状态中的输入。

1.1.输入门、遗忘门和输出门


【资料图】

当前时间步的输入和前一个时间步的隐状态作为数据送入LSTM的门中,如图所 示。它们由三个具有 sigmoid 激活函数的全连接层处理,以计算输入门、遗忘门和输 出门的值。因此,这三个门的值都在(0,1)的范围内。

2.LSTM 模型建模

2.1.模型合理性的讨论

理论上,股票价格是可以预测的,但是影响股票价格的因素有很多,而且目前为 止,它们对股票的影响还不能清晰定义。这是因为股票预测是高度非线性的,这就要 预测模型要能够处理非线性问题,并且,股票具有时间序列的特性,因此适合用循环 神经网络,对股票进行预测。 虽然循环神经网络(RNN),允许信息的持久化,然而,一般的 RNN 模型对具 备长记忆性的时间序列数据刻画能力较弱,在时间序列过长的时候,因为存在梯度消 散和梯度爆炸现象 RNN训练变得非常困难。Hochreiter 和 Schmidhuber 提出的长短 期记忆( Long Short-Term Memory,LSTM)模型在 RNN结构的基础上进行了改造, 从而解决了 RNN模型无法刻画时间序列长记忆性的问题。 综上所述,深度学习中的 LSTM 模型能够很好地刻画时间序列的长记忆性。

2.2.模型优缺点的讨论

LSTM 模型优点如下: 1. 改善了 RNN 中存在的长期依赖问题;LSTM 的表现通常比时间递归神经网络 及隐马尔科夫模型(HMM)更好。2. LSTM 通过各种门函数来将重要特征保留下来,能够有效减缓长序列问题中可 能出现的梯度消失或爆炸, 虽然并不能杜绝这种现象, 但在更长的序列问题上表现优于 传统 RNN。 LSTM 模型缺点如下: 1. 并行处理上存在劣势,只能从前到后,与一些最新的网络相对效果一般; 2. RNN 的梯度问题在 LSTM 及其变种里面得到了一定程度的解决,但还是不够。 它可以处理 100 个量级的序列,而对于 1000 个量级,或者更长的序列则依然会显得 很棘手。 3、计算费时。如果 LSTM 的时间跨度大且网络深,计算量大且耗时。

2.3.策略设计思路

2.3.1.建模方法

input1 包含了一天股票数据的信息,input2 包含了一周股票数据的信息,他们的 维度均为c*40*6(c为通道数)。将input1和input2 分别通过LSTM层,这两个LSTM 的权重不共享,得到 c*60*1 维的矩阵,经过归一化处理之后拼接为一个 c*120*1 维 的矩阵,此矩阵包含了两个输入的全局状态信息。最后,将结果经过一个全连接层输 出一个 c*1 维的矩阵,即得到预测结果。

2.4.策略具体过程

对于上述模型在数据上训练的结果如下图所示,横坐标是每次数据所运行的批次, 纵坐标是每一个批次的平均准确率。

3.集成学习理论

和传统学习方法训练一个学习器不同,集成学习方法训练多个学习器并结合它们 来解决一个问题。一个集成由多个基学习器构成,而基学习器由基学习算法在训练数 据上获得,它们可以是决策树、神经网络或其他学习算法。大多数集成学习方法使用 同一种基学习算法产生同质的基学习器,即相同种类的学习器,生成同质集成 (homogeneous ensemble) ; 同时,也有一些方法使用多种学习算法训练不同种类的 学习器,构建异质集成(heterogeneous ensemble)。通常,集成具有比基学习器更强 的泛化能力,很大程度上是因为它 们 能 够 把比 随 机 猜 测稍 好 的 弱学习器 ( weaklearner )变成可以精确预测的强学习器( strong learner)。

根据基分类器的生成方式,集成学习方法有两种范式:并行生成基分类器的“并 行集成方法”Bagging,以及串行生成基分类器的“串行集成方法”Boosting。

3.1.Bagging 算法

由于聚合独立的基分类器可以显著降低误差,所以我们希望得到的基分类器越独 立越好。给定训练集,一种可能的实现是采样得到若干相互没有重合祥本的子集,每 个子集各自训练基分类器。然而,由于训练数据是有限的,这样得到的子集样本少, 不具代表性,使得基分类器的性能受限。 Bagging 采用自助采样生成不同的基分类器。它引人自助采样得到训练子集用于 训练基分类器。具体来讲,给定一个样本数为的训练集合,它通过有放回采样得到 有个训练样本的采样集。原始样本有的被选中多次,有的未被选中。重复过程 次, 得到个样本数目为的样本集。对每个采样出来的训练集,使用基学习算法可以得 到一个基学习器。Bagging 采用最常用的方法来聚合基分类器,即在分类任务上投票, 在回归问题上平均。

3.1.1.随机森林算法

随机森林(Random Forest,RF)是 Bagging 的升级,它在以决策树为基学习器构 建Bagging 集成的基础上,进一步在决策树的训练过程中引入了随机特征选择。具体 来说,传统决策树在选择划分属性时是在当前结点的属性集合(假设有个属性)中 选择一个最优属性;而在随机森林中,对基决策树的每个结点,先从该结点的属性集 合中随机选择一个包含个属性的子集,然后再从这个子集中选择一个最优属性用于 划分。这里的控制了随机性的引入程度,如果 = ,则基决策树的构建与传统决 策树相同;若 = 1,则是随机选择一个属性用于划分。

随机森林算法生成过程如下: 1、从原始数据集中每次随机有放回抽样选取与原始数据集相同数量的样本数据, 构造数据子集; 2、每个数据子集从所有待选择的特征中随机选取一定数量的最优特征作为决策 树的输入特征; 3、根据每个数据子集分别得到每棵决策树,由多棵决策树共同组成随机森林; 4、最后如果是分类问题,则按照投票的方式选取票数最多的类作为结果返回, 如果是回归问题,则按照平均法选取所有决策树预测的平均值作为结果返回。

3.2.Boosting 算法

Boosting 算法的工作机制是首先从训练集用初始权重训练出一个弱学习器 1,根 据弱学习的学习误差率表现来更新训练样本的权重,使得之前弱学习器 1 学习误差率 高的训练样本点权重变高,使得这些误差率高的点在后面的弱学习器 2 中得到更多的 重视。然后基于调整权重后的训练集来训练弱学习器 2,如此重复进行,直到弱学习 器数达到事先指定的数目 ,最终将这 个弱学习器通过集合策略进行整合,得到最 终的强学习器。简单来说,Boosting 就是串行地训练一系列弱分类器,使得被先前 弱分类器分类错误地样本在后续地到更多关注,最后将这些分类器组合成最优强分类器的过程。Boosting 算法的一般过程如下。常见的 Boosting 算法有 Adaboost、 GBDT、XGBoost 等。

3.2.1.GBDT

GBDT 是 boosting 算法的一种,它是一种迭代的决策树算法。GBDT 的核心 原理是先用初始值预测一颗决策树,得到本轮的残差(即真实值减预测值),然后用残 差作为下一轮决策树的预测对象,这时会再产生一个残差,再用这个残差作为下一轮 的预测对象,以此循环迭代直到最后一轮的预测残差为 0 或非常小的时候就停止迭代, 然后把所有轮的模型预测结果相加得到最终预测结果。

3.2.2.XGBoost

XGBoost(extreme gradient boosting)是 GBDT 的一种工业实现,也是通过不断 增加新树,拟合伪残差去降低损失函数。 XGBoost 本质上仍然属于 GBDT 算法,但在算法精度、速度和泛化能力上均要 优于传统的 GBDT 算法。从算法精度上来看,XGBoost 通过将损失函数展开到二阶 导数,使得其更能逼近真实损失;从算法速度上来看,XGBoost 使用了加权分位树 sketch 和稀疏感知算法这两个技巧,通过缓存优化和模型并行来提高算法速度;从 算法泛化能力上来看,通过对损失函数加入正则化项、加性模型中设置缩减率和列抽 样等方法,来防止模型过拟合。

4.集成学习建模

4.1.模型合理性的讨论

回归问题中,单个模型容易过拟合,而集成学习可以通过减少单个模型的过拟合 来提高整体预测的稳定性。且回归问题往往存在多个潜在的模型,这些模型可能针对 不同的数据集表现得更好。将这些模型合并为一个集成模型可以提高准确率,因为集 成学习可以从不同的模型中获取更多的信息,并获得更准确的预测。它可以动态调整 每个模型的权重,根据不同数据集的特点来决定如何融合多个回归模型的结果,从而 提高预测准确率。 综上所述,集成学习是一种非常有效地机器学习方法,可以利用集成学习帮助我 们解决回归问题。

4.2.模型优缺点的讨论

4.2.1.随机森林

优点: 1.随机森林是集成算法,模型精度往往比单棵决策树更高; 2.每次随机选样本和特征,提高了模型抗干扰能力,泛化能力更强; 3.对数据集适应能力强,可处理离散数据和缺失数据,数据规范化要求低; 4.在每次随机选样本时均有 1/3 的样本未被选上,这部分样本通常称之为袋外 数据 OOB(out of bag),可以直接拿来作为验证集,不需占用训练数据。 缺点: 1.当决策树的数量较多时,训练所需要时间较长; 2.模型可解释性不强,属于黑盒模型。

4.2.2.GBDT

优点: 1.GBDT 每一次的残差计算都增大了分错样本的权重,而分对的权重都趋于 0 因此泛化性能比较好。 2.预测精度高 缺点:1.对异常值比较敏感。 2.分类器之间存在依赖关系,难以并行计算。

4.2.3.XGBoost

优点: 1.XGBoost 在代价函数里加入了正则项,控制了模型的复杂度。 2.XGBoost 工具支持并行。 3.XGBoost 支持用户自定义目标函数和评估函数。 4.对于特征值缺失的样本,XGBoost 可以自动学习出它的分裂方向。 缺点: 1.算法参数过多,调参复杂。 2.不适合处理非结构化数据。 3.不适合处理超高维特征数据。

4.3.策略设计思路

4.3.1.建模方法

input1 包含了一天股票数据的信息,input2 包含了一周股票数据的信息,他们的 维度均为c*40*6(c为通道数)。将input1 和input2 分别通过LSTM层,这两个LSTM 的权重不共享,得到 c*60*1 维的矩阵,经过归一化处理之后拼接为一个 c*120*1 维 的矩阵,此矩阵包含了两个输入的全局状态信息。最后,将结果经过集成学习模型输 出一个 c*1 维的矩阵,即得到预测结果。

4.4.策略具体过程

4.4.1.随机森林回归

在原有 LSTM 结构的基础上,我们提取 ”concatenate” 层的结果,将其作为随机 森林的输入。利用 sklearn 中的 RandomForestRegressor 函数进行回归拟合,输出 预测数值。对真实数值和预测数值进行皮尔逊系数的计算,得到平均 ic 值。 使用网格搜索法,对超参数设定范围,将参数组合进行循环迭代组合,通过穷举 法对所有参数进行评分从而寻得最优参数。我们对随机森林最重要的两个参数(学习 器个数和决策树深度)进行了调参,在兼顾效果和耗时的情况下,最终选择了学习器 个数为 100,深度为 8 的超参数。继续增加学习器个数以及增加深度,对效果的提升 微乎其微,且训练时间更久。在该参数下的拟合结果如图。在 12 核 cpu 上设置并行, 训练随机森林回归模型预计耗时 2.67 小时。

但在原模型架构上加随机森林回归的效果并不理想。原模型的平均 ic 值为 0.1032,在原模型基础上进行随机森林回归得到的平均 ic 值为 0.0912。

4.4.2.GBDT 回归

我们将随机森林模型替换为 GBDT 模型, 利 用 sklearn 中 的 GradientBoostingRegressor 函数进行回归拟合。效果也并不理想。

4.4.3.XGBoost 回归

我们将 GBDT 模型替换为 XGBoost 模型,利用 sklearn 中的 XGBRegressor 函 数进行回归拟合。兼顾准确率和运行时间,当学习器个数为 600,深度为 3 时效果较 好。

XGBoost 是三种集成方法中效果最好的。平均 ic 值和原模型几乎一致,在 2750、3250、4190 批次的数据表现略优于原模型。但它对模型的提升程度仍然有 限。

5.线性回归理论

5.1.模型定义与评估

线性回归的目标是找到一个函数,能将输入的属性映射到输出属性或目标属性 上。该函数将作为输入,返回,即是的函数,在数学上一般记为 = (),但 在机器学习领域,一般将假设函数记为ℎ,代表了英文 hypothesis,模型被记为: = ℎ()

更一般的,输入为一个向量,表示输入有多个变量,称为多变量线性回归问 题,即 = ℎ()

5.2.最小二乘法

在损失函数(, )的最小值处,和的偏导数一定为 0,也就是说,求解以下 方程组,能得到和的拐点:

5.3.梯度下降

5.3.1.梯度下降基本思想

梯度下降算法的基本思想是:随机选取一组参数初值,计算损失,然后寻找能让 损失在数值上下降最多的另一组参数,反复迭代且到达到一个局部最优。由于没有尝 试所有的参数组合,所以无法确定是否就是全局最优。如果选择不同的一组初始参 数,可能找到不同的局部最优值。

5.3.2.随机梯度下降

当训练集规模较大时,可以考虑使用随机梯度下降来减小计算量。随机梯度下降 的方式与批量梯度下降非常类似,主要区别在于批量梯度下降每次更新参数是使用所 有的训练数据,而随机梯度下降算法每次只使用一条训练数据就可以更新参数。 随机梯度下降算法根据每一个训练实例更新参数集,并不需要计算全部训练集才 进行随机梯度下降算更新,因此计算速度较快,在批量梯度下降算法还没有完成一次 迭代时就已经更新多次。但这种只根据一个训练实例更新参数的办法也存在一个问 题:并不是每一次迭代的步伐都迈向“正确”的方向。因此,算法虽然会逐步迈向局 部最小值的位置,但可能只是在最小值位置附近徘徊,无法收敛到局部最小值那一点 上。

6.线性回归应用

6.1.模型的合理性讨论

线性回归可以用来预测股票价格。其基本思路是通过历史的数据,找到股票价格 与其他市场变量之间的线性关系,然后利用这个关系预测未来的股票价格。 具体来说,需要收集一些历史数据,例如过去一年的股票价格和市场变量数据。 市场变量可以包括股市指数、商品价格、货币汇率等等。接下来,可以使用线性回归 模型来探索这些变量之间的关系,并建立一个模型来预测未来的股票价格。

6.2.模型的优缺点讨论

6.2.1.多元线性回归模型

优点: 1. 能够从多个自变量中找到对因变量有影响的变量。 2. 能够考虑多个自变量的影响,且调整多个自变量的权重。 3. 样本量要求较低,可以利用样本的数量来提高预测精度。 缺点: 1. 计算过程比较复杂,需要建立高维的线性方程组; 2. 如果样本数据数量不够大,或者设计矩阵不满秩,会导致多元回归模型过 于复杂,过拟合的风险较高; 3. 对于非线性的数据结构,多元线性回归不能很好地适应。

6.2.2.随机梯度下降线性回归模型

优点: 1. 训练速度非常快、内存占用小。 2. 可以在线学习,即在新增数据时立即更新模型。 3. 对噪声数据不敏感。 缺点: 1. 因为随机抽取的样本不一定代表整个数据集,所以 SGD 有可能无法收敛到全 局最小值,收敛结果比较不稳定。 2. 不易于并行实现。

6.3.策略设计思路

6.3.1.建模方法

input1 包含了一天股票数据的信息,input2 包含了一周股票数据的信息,他们的 维度均为c*40*6(c为通道数)。将input1 和input2 分别通过LSTM层,这两个LSTM 的权重不共享,得到 c*60*1 维的矩阵,经过归一化处理之后拼接为一个 c*120*1 维 的矩阵,此矩阵包含了两个输入的全局状态信息,将此矩阵输入到线性回归模型中, 得到最后的结果。

6.4.策略具体过程

在原有 LSTM 结构的基础上,我们提取 ”concatenate” 层的结果,将其作为随机 森林的输入。利用 sklearn 中的 linear_model.LinearRegression() 函数进行回归拟合, 输出预测数值。对真实数值和预测数值进行皮尔逊系数的计算,得到平均 ic 值。 将多元线性回归模型替换为随机梯度下降模型,利用 sklearn 中的 linear_model. SGDRegressor()进行回归拟合。 由于两种方法得到的结果趋势十分相近,我们将原模型,原模型+多元线性回归, 原模型+随机梯度下降线性回归的结果展现在一张图中,便于观察和比较。

7.支持向量回归理论

7.1.支持向量机

7.1.1.支持向量机定义

支持向量机(SVM)是一种二元分类模型,定义为特征空间上间隔最大的线性 分类器模型,学习策略就是使其间隔最大化。 SVM 是从线性可分情况下二元分类的最优分类平面发展而来的,最优的含义是 要求分类平面不但能够将两个类别正确分割开来,而且能使分类间隔最大。也就是说,SVM 试图寻找一个满足分类要求的超平面,并且使训练集中的数据点尽量远离该平 面,即使分类平面两侧间隔最大化。

7.1.2.最大间隔超平面

SVM 原先是为二元分类问题设计的,但可以扩展至能够处理多元分类问题。假 定有一些给定的数据点,每个数据点属于两个类别之一,即二元分类,其分类目标是, 确定一个新的数据点属于两个类别中的哪一个。用支持向量机的观点,将一个数据点 视为一个 D 维向量,分类问题就转换为是否可以用一个 D-1 维超平面将这些数据点 按类别分割开来,这就是线性分类器。对于一个给定的线性可分问题,有无数个能对 数据进行分类的超平面,最佳的超平面应该是能够将两个类别最大限度地分离开来的 超平面,这样能够使经验风险最小化。所以选择的超平面应该能够将与两侧最接近的 数据点的距离最大化。如果存在这样一个超平面,可称之为最大间隔超平面,所定义 的线性分类器称为最大间隔分类器。 最大间隔分类器意味着具有更好的泛化能力,能够容忍更多的噪声影响。如果某 个数据点受到噪声影响而发生位移,最大间隔分类器能够最大限度地防止噪声造成的 错误分类。

7.2.支持向量回归

支持向量机回归(SVR)用非线性映射将数据映射到高维数据特征空间中,使 得在高维数据特征空间中自变量与因变量具有很好的线性回归特征,在该特征空间进 行拟合后再返回到原始空间。

8.支持向量回归应用

8.1.模型的合理性讨论

支持向量回归(SVR)通过将数据映射到高维进行超平面的划分,在面对大量数据 的情况下运行速度十分缓慢,于是我们考虑使用线性支持向量回归(LSVR)。相比于 SVR,LSVR 使用了线性内核,模型更简单,计算成本更低,所需参数较少,在线性 可分离的数据集上有更好的性能。 在预测股票价格方面,LSVR 模型可以使用一些相关的因素,如股票过去的价格 走势、市场指数、公司业绩等因素作为训练数据,预测未来的股票价格走势。需要注 意的是,LSVR 模型是一种监督学习模型,它需要大量的训练数据来实现预测的准确 性。

8.2.模型的优缺点讨论

优点:1. 在处理线性问题时表现出色,特别是在高维数据集上,可以有效地处理大 量的特征; 2.具有一定的泛化能力,它可以应用于很多不同的问题领域,包括预测、分类、 聚类等。 缺点: 1. 对噪声数据敏感,如果训练集中存在错误的标签或离群点,会对模型产生 很大的影响; 2. 对非线性问题效果不佳; 3. 训练时间长,在处理大型数据集时需要更多的时间和计算资源; 4. 模型容量大小和复杂度难以自动调整,需要进行手动调整。

8.3.策略设计思路

8.3.1.建模方法

input1 包含了一天股票数据的信息,input2 包含了一周股票数据的信息,他们的 维度均为c*40*6(c为通道数)。将input1 和input2 分别通过LSTM层,这两个LSTM 的权重不共享,得到 c*60*1 维的矩阵,经过归一化处理之后拼接为一个 c*120*1 维 的矩阵,此矩阵包含了两个输入的全局状态信息,将此矩阵输入到支持向量回归模型 中,得到最后的结果。

8.4.策略具体过程

在原有 LSTM 结构的基础上,我们提取”concatenate”层的结果,将其作为随机 森林的输入。利用 sklearn 中的 svm.LinearSVR() 函数进行回归拟合,输出预测数值。 对真实数值和预测数值进行皮尔逊系数的计算,得到平均 ic 值。

9.总结

本篇报告我们在原模型(lstm)的基础上,提取了“concatenate”层的结果,将 其作为回归模型的输入。我们尝试了集成学习中的随机森林回归、GBDT 回归、 XGBoost 回归,线性回归中的多元线性回归、随机梯度下降回归,支持向量机中的线 性支持向量回归,对以上模型都进行了调参和测试。

结果显示线性支持向量回归(LinearSVR)是以上方法中表现最佳的,多元线性回 归方法(LinearRegression)和随机梯度下降线性回归方法(SGD-Regressor)次之。在本 问题上,传统的回归方法相比于集成学习的回归方法效果更加。

(本文仅供参考,不代表我们的任何投资建议。如需使用相关信息,请参阅报告原文。)

关键词: