system: [SYSTEM]

user: 2. 模型构建 2.1. 情感词典的构建 在互联网的当今大数据飞速发展的环境下，各品牌网站的新闻信息大部分都是通过文本形式来展示。这是属于非结构化的数据形式，这种形式下通常会包含着大量的价值性高的信息，因此，需要对这些信息进行量化处理。本篇讨论的重点是关于新闻类的文本数据在股市上关于波动性的影响，因此，关键要点就是发现找出关于新闻的文本信息。一则新闻即可看作是一篇文本，而多个词也可以组合成一篇文本，而词又可以分为积极词和消极词，因此新闻中的情感表达可以通过文本中的积极词和消极词来展示。 在《中国金融情感词典》的编纂过程中，以《清华褒贬词典》、《大连理工大学情感词典》和《LM翻译词典》为基础词典。知网情感词典(HowNet)在金融领域涉及少之又少，所以没有收录。作为中国的主流媒体之一，新浪新闻实时报道着国际上的新闻，并与中国证券报、人民日报、CNKI等多家新闻网站和机构合作，新闻信息全面渗入整个金融领域。 所以，本文的多个主要板块优先选择新浪股票设置为新闻语料库。具体步骤如下： 1) 合并大连词典、清华词典等词典中的正反词，剔除重复项，删除单个字的单词。形成了《中国金融情感词典》的基础词典。 2) 选择2017年1月至2021年1月，新浪股票网站上的一些专业板块的新闻文本来形成新闻专业的语料库。同时使用python工具包，将全部的文档做出分段处理，然后选择最适用于文本分析工作的“精确模式”。 3) 对已经构建的基础词典中存在的正反单词出现在新闻语料中的频率进行统计分析。将频率未出现过的单词剔除出去，此时可得到初步的，版本为1.0。 4) 上一步得出的金融词典1.0版本中，全部的单词都是来自清华词典、大连词典等词典，以上所说的几部词典不存在“不足”和“崩溃”这两个典型的金融领域的消极性词汇，以及“双赢”和“转机”这两个经典的金融领域的积极性词汇，所以在本文统计的新闻语料库中，每个词汇出现的频率都会被监测到，然后根据人工筛选，筛选出频率的大小，最终选择出现频率最高的金融词语，以正反词各100个的形式，最终得到财经词典的2.0版本。 5) 使用word2vec将建立的新闻语料转变成词向量，然后依照相似率的高低，对金融词典2.0进行扩展，对扩展后情感极性分类有误的单词以人工的方时进行检查，得到金融词典3.0版本。 6) 合并金融词典1.0版本和金融词典3.0版本，消除重复的单词，最终形成本文所述的中文金融情感类大词典CFED。 最终通过以上的过程而建立的中文财经情感词典，里面共有5897个词语，其中正面3275个，负面2622个。如表1所示。 Table 1 Frequency comparison table of news words in various dictionarie TSINGHUA DLUTSD LM CFED 负面词语 33.35% 14.21% 60.16% 100% 正面词语 44.01% 18.35% 75.56% 100% 总数 39.18% 16.34% 62.47% 100% 表1. 各个词典新闻词语频率对照表 从表中可以看出来，新闻中出现的词语在中文财经情感词典中出现的比例是100，这说明后者是根据前者的范围来制定的，也说明我们所构建的词典是全面有效的。 2.2. 情绪指标的构建 为了一些能够体现股票市场舆论导向影响的一些投资者的情绪，我们建立了情绪指标，这些指标的建立主要是通过上文中的CFED对于每天的新闻来具体的定量分析。我们有如下定义： 为了一些能够体现股票市场舆论导向影响的一些投资者的情绪，我们建立了情绪指标，这些指标的建立主要是通过上文中的CFED对于每天的新闻来具体的定量分析。我们有如下定义： 看涨指数： BI = ( poswords − negwords ) / totalwords 情绪一致性指标： AI = 1 − 1 − BI 2 当BI = −1时，表示一致看跌； 当BI = 1时，表示一致看涨； 当BI = 0时，表示看涨看跌持平。 可以得出AI取值为(0， 1)，AI接近0，表示意见统一度低，AI与1接近，表示意见统一度高。 本文将进行交易的那天的所以新闻都放在一起，并不是只拿当天的某一个，总共的新闻文档大概一天120份，然后再这个基础上计算情绪指标。这样的操作方式可以减少因为文本数目不够而造成情绪指标结果的不准确现象。如果看涨情绪变高，那么股票的收益率也会变高。呈现正相关，而情绪一致性于其的关系恰好和看涨情绪相反，呈现负相关。因为本文的研究目的是波动率变化，所以我们主要观察情绪一致性的变化。 2.3. 模型构建 2.3.1. 已实现波动率 Merton等人提出，如果在足够大的采样频率前提下，高频平方变量之和能够作为独立同散布随机变量(在固定周期内)方差的一个足够准确的预估 。因此，日已实现波动率的非参数估计可以通过将日内分时数据在一定频率下的对数收益率的平方根相加得到，即已实现波动率，具体为： R V t ( d ) = ∑ i = 0 N − 1 r t − i ⋅ Δ 2 (2.1) 其中：N：日内观测频率， Δ = 1 d / N ， r t − i ⋅ Δ 2 = X t − i ⋅ Δ − X t − ( i + 1 ) ⋅ Δ 。 2.3.2. HAR-RV和HAR-RV-AI模型 Corsi认为每一个时间尺度的潜在波动率都会受相同时间尺度的过去实际波动率和更大时间尺度上的未来潜在波动率的影响。考虑不同时间尺度对实际波动率的影响，构建了实际波动率预测的HAR (Heterogeneous Autoregressive，异构自回归)模型，即HAR-RV模型 [ 3 ] ，刻画过去日、周、月(即1个、5个、22个交易日)实际波动率对未来日实际波动率的滞后影响，简称为(1， 5， 22)结构．模型形式如下： R V t = β 0 + β d R V t − 1 + β w R V t − 5 ， t − 1 + β m R V t − 22 ， t − 1 + ε t (2.2) R V t − h ， t − 1 = ( 1 / h ) ( R V t − h + ⋯ + R V t − 1 ) (2.3) 大量的研究表明，新闻媒体的情绪指标的确可以影响股票市场的波动，所以将情绪指标与预测模型相结合是有意义的，本文基于HAR-RV模型，建立了HAR-RV-AI模型，模型如下： R V t = β 0 + β d R V t − 1 + β w R V t − 5 ， t − 1 + β m R V t − 22 ， t − 1 + α d A I t − 1 d + α w A I t − 1 w + α m A I t − 1 m + ε t (2.4) 2.3.3. GRU模型 门控循环单元(Gate Recurrent Unit)，以下简称GRU，是循环神经网络(Recurrent Neural Network， RNN)的一种，是为了解决长期记忆和反向传播中的梯度问题提出的，应用于自然语言处理，图像识别以及其他领域。相比于一般的RNN模型，对于解决长期记忆性问题比较好，而与长短记忆循环网络(Long Short Term Memory network， LSTM)相比，GRU参数比LSTM少，但是却可以高效的完成与LSTM相同的任务，既提高了计算效率，又节省了时间成本因此，近年来也被应用于预测股票收益。GRU详细结构图如图1所示： 图1. GRU结构示意图 这里的激发函数为tanh，误差计算利用MAE损失函数。模型的“epoch”设定为50，“batch”大小设定为72。在本文中，我们只研究一个隐藏层，隐藏层节点的计算公式如下所示： i = n + l + m i表示隐藏层节点的个数，n表示输入层节点个数，l表示输出层节点个数，m是一个1~10之间的常数。(5， 10， 22)可以考虑为短期，中期，长期的波动，我们考虑这些参数根据公式得到相应的隐藏层的节点个数，然后训练神经网络模型得到相对误差的平均值，最后选择误差最小的隐藏层节点数，根据这种方法，对于GRU模型，输入层节点数为22，隐藏层节点数为5，输出层节点数为1。对于GRU-AI模型，输入层节点数为22，隐藏层节点数为7，输出节点数为1。 考虑到新闻媒体情绪对股票市场的影响，我们在GRU单变量模型中加入AI作为解释变量，建立GRU-AI模型来研究实现波动率。 2.4. 损失函数及MCS检验 2.4.1. 损失函数 损失函数有很多种表达方式，但是由于研究还不够深入，所以对于其选取还没有一个统一的说法。它主要是判断损失和误差的函数。 Hansen和Lunde [ 9 ] 认为损失函数的多少可以成为模型好坏的标准。由于不同的损失函数模型是从不同方面对于评价模型进行考虑的，本文采用下面介绍的六种损失函数： MSE = 1 N ∑ t = T + 1 T + N ( R V t − R V t f ) 2 (2.5) MAE = 1 N ∑ t = T + 1 T + N | R V t − R V t f | (2.6) MSPE = 1 N ∑ t = T + 1 T + N ( R V t − R V t f R V t ) 2 (2.7) MAPE = 1 N ∑ t = T + 1 T + N | R V t − R V t f R V t | (2.8) QLIKE = 1 N ∑ t = T + 1 T + N ( ln R V t f 2 + ( R V t R V t f ) 2 ) (2.9) R 2 LOG = 1 N ∑ t = T + 1 T + N ( ln ( R V t R V t f ) 2 ) 2 (2.10) 其中： R V t + i ：真实值， R V t + i f ：预测值。 2.4.2. MCS检验 损失函数受到外界的影响因素也有很多，如果我们要讨论模型的猜测准确度的时候把损失函数作为参考物，那么就必须进行很多次的样本猜测，只通过一次猜测就得出结论的行为，是不能被认同的，因为没有做到科学严谨，如果在其中出现了一些不正常的数值，那么损失函数的结果就会快速的增大，最终影响结论。 为了解决上述的问题，Hansen和Lunde [ 10 ] 提出了一种新的检验方式，这个方式可以先将模型聚集起来，然后再对所有的进行检验。这种方法被称为，模型信度集检验。 计算相对函数损失值的公式： L i ， u ， t = L ( R V u ， t f ， R V t ) d i ， u v ， t = L i ， u ， t − L i ， v ， t (2.11) MCS检验过程： 1) 用M * 来表示所有预测模型的组合。 2) 在假设所有的模型的预测能力是一样的基础上，给出MCS的最开始的假设： H 0 : E ( d i ， u v ， t ) = 0 (2.12) 3) 在 α 置信水平确定的情况下，用该方法把M * 中的模型两两分组，然后再分别检验。由Hansen等提出，定义如下： T R = max u v ∈ M * | d ¯ i ， u v | var ( d ¯ i ， u v ) T S Q = max u v ∈ M * ( d ¯ i ， u v ) 2 var ( d ¯ i ， u v ) (2.13) d ¯ i ， u v = 1 N ∑ t = T + 1 T + N d i ， u v ， t 对应于统计量 T R 和 T S Q 的剔除准则 E R 和 E S Q 分别为： E R = arg max u { sup v ∈ M * | d ¯ i ， u v | var ( d ¯ i ， u v ) } E S Q = arg max u { sup v ∈ M * ( d ¯ i ， u v ) 2 var ( d ¯ i ， u v ) } (2.14) 不断地将第三个步骤重复，一直到M * 中的模型都处于一定显著水平，即p值大于 α ，此时便不再剔除模型，p值与预测精度成正相关。