证券研究报告/金融工程报告 2023年2月6日 “财经新闻”挖掘与“股票策略”构建——FarmPredict机器学习框架 分析师:包赞 报告摘要 电话:18017505196执业编号:S0740522070001Email:baozan01@zts.com.cn ◆文本挖掘与机器学习 传统人工智能方法挖掘文本信息从而构建股票组合效果一般,范剑青老师等人提出了一个通用的和自适应的高维数据机器学习框架FarmPredict,该模型可以从文本数据中提取潜在因子和特质因子,用来输入惩罚回归预测股票未来收益。他们在中国股市的实证结果表面,基于FarmPredict可以提取的情绪主导词汇,并且根据情绪评分指标构建的投资组合收益年化高达116%,这个结果显著优于其它模型。这项研究开辟了非结构数据在金融应用中的全新范式,更是证明了大数据技术无论在数据上还是在方法论上都在“金融投资”中有其核心地位。 ◆FarmPredict框架 FarmPredict由三个步骤组成。�一步是从高维文章中使用无监督学习获取隐藏的特征。为此,我们使用主成分分析(PCA)将文章转换为包括多个潜在因子和特质因子组成的隐式成分的向量。潜在因子的数量由调整后特征值阈值方法估计(Fan等,2020a)。这是一个纯粹的无监督学习过程,不需要先验假设的干预,所有的信息均从文章本身中学习。我们还解释了在文本数据中使用无监督学习的必要性,因为它可以避免主观假设和限制数据使用的潜在偏差。�二步,我们通过特质因子与学习目标(关联股票的贝塔调整后收益)的基于因子条件相关性做筛选。此步骤是可选的,但有助于我们将维度降低到更易于管理的级别。最后我们使用LASSO模型基于潜在因子和筛选后的特质因子预测资产价格。在每个分析步骤中FarmPredict也提供了高度的灵活性。 ◆组合构建与组合绩效 每天收盘集合竞价开始计算模型,算完后,按照当天收盘价买入当前交易日预测值Y‸new最靠前的50条新闻对应的股票,以当前交易日收盘时的总市值为权重,并持有至下一个交易日收盘时,这个是市值加权组合。等权组合则是预测值Y‸new最靠前的50支股票的权重均为2%,同样持有至下一个交易日收盘时。下图是不同Y变量下的组合累积收益,可以看出收益率比较高。当然这是理论收益,并没有考虑手续费和交易摩擦成本。 风险提示:本报告结论完全基于公开的历史数据进行统计、测算,文中部分数据有一定滞后性,同时存在�三方数据提供不准确风险;模型均基于历史数据得到的统计结论且模型自身具有一定局限性并不能完全准确地刻画现实环境以及预测未来;模型根据历史规律总结,历史规律可能失效;模型结论基于统计工具得到,在极端情形下或存在解释力不足的风险,因此其结果仅做分析参考。本报告提到的任何基金产品不构成任何投资收益的保证或投资建议。 正文目录 1.引言3 2.FarmPredict机器学习框架4 3.数据获取与定义12 4.模型训练与预测计算13 5.计算结果16 图表目录 图1:FARMPredict训练和预测过程示例13 图2:词频数X向量下的组合表现(当天股票收益做Y为深蓝)14 图3:(0,1)X向量下的组合表现(当天股票收益做Y为深蓝)14 图4:X向量为(0,1)下的组合14 图5:X向量为词频数下的各种组合15 表1:词向量定义10 表2:收益率定义10 1.引言 文本作为最常见、原始的记录和通信媒介,在研究中作为传统结构化数据的补充起着至关重要的作用。由于媒体、新闻和报道中的文本可以反应经济参与人的态度,例如他们的评论、观点、目标和情绪等,所以文本数据对金融投资也很有作用。但是,从非结构化且复杂的文本信息中提取准确的含义和信息,需要面对其高维特征的统计障碍。一种普遍的方法是将非结构的文本数据转为结构指标,比如通过执行例如单词筛选、语义学习和情绪识别等分析过程。这里情绪度量可用于预测资产价格或股票市场的回报,作为投资组合选择或资产定价的有效工具。随着数据科学方法论和现代计算机算力的发展,我们可以使用统计学习方法从文本中直接提取此类信息。 本文仿照Fanetal.(2021),使用因子增强正则化预测模型(Factor-AugmentedRegularizedModelforPrediction,FarmPredict)进行新闻文本预测。不同于传统的字典方法,这种方法能够提取新闻文本的所有词语中提取隐含因子,并考虑了词语之间的相互影响。总体上,FarmPredict框架由三大步骤组成。 �一步是无监督地从高维新闻向量中学习隐含特征。通过主成分分析(PCA)将多篇新闻词向量X转换为k维的隐含因子F以及特质矩阵U。其中隐含因子F的k维可以通过调整后的特征值阈值方法来确定。这是一个纯粹的无监督学习过程,没有来自先验假设(非参数统计)的干扰,所有信息都是从新闻学习的。这种方法也可以避免主观假设和有限数据使用的潜在偏差。 �二步是条件相关筛选(conditionalcorrelationscreening),筛选与学习目标(即新闻对应的股票收益率Y或Yu)密切相关的特质矩阵U中的列,筛选出来的U中的列即为感情词(sentiment-chargedwords),记作S。这一步是可选的,如果实施了这一步,计算量则会大幅下降。 �三步是Lasso回归,利用一个简单的LASSO方法,使用隐含因子F以及筛选后仅含有S‸的特质矩阵U来预测相应的股票收益率Y。总之,FarmPredict框架的每个步骤都有较高的灵活性。 2.FarmPredict机器学习框架 2.1问题设置 我们用词级别的统计数据作为n篇文章(词包)中每一篇的总结。设D是我们的n篇文章数据中所有可能 的中文词的集合,di是�i篇文章中每个词的词数向量,其中d是�k个词在文章中出现的次数。每篇 i,k |D| 文章由几个基本主题组成,其中每个主题都有自己的首选词汇。因此,我们假设一篇文章的词数di受到少数潜在因素或话题的影响。这些因素或话题可以是简单的积极或消极,也可以是更复杂的因素,包括如文章的态度、相关的行业部门、作者自己的文字偏好等等。 �i条文章与目标结果或反应Yi有关。在本文中,Yi将是文章i中的相关股票在新闻发布当日的β-调整后的收益率。目标反应[Yi]主要受一个相对较小的子集的影响。我们把这组词语称为情绪化的词语。这个假设也有助于将维度降低到一个合理的水平。词袋数据是非常高维度的,并且很稀疏地在每篇文章中出现,特别是在中文中。在范的914K篇文章的数据集中,有1,181K个独特的词1在整个D组中,只有71K个词出现在至少50篇文章中。 所有的词都被分为两个互不相干的类别:带感情色彩的词集S和不带感情色彩的词集N,这样DSN。一篇文章的情感分数主要与它的感情色彩的词有关。词数di,S代表了词数di限制在S中的部分。 2.2FarmPredict方法 在大多数传统的文本分析中,如主题模型或基于字典的方法,因为对模型有许多限制,会导致不灵活和可能不准确的对情感的估计。一个自然而然的问题是,我们是否可以直接从高维回归中学习情感?因为金融领域的情感预测从根本上说是一个回归问题。在这里,我们提出了一个直接的回归框架,叫做正则化因子增强预测模型 (FarmPredict)。 (1)选择经常使用的词语:在我们数据集里超过110万个不同的词(和短语)中,大部分都很少出现。它们的语义很难被机器学习。因此,我们首先要过滤掉这些只出现在一小部分文章中的不常用的词。 这些词也几乎没有用处,因为它们不太可能出现在要打分的新文章中。这种筛选也有助于我们将重点缩小到一个合理的全面的词集Dfreq,大约10,000个左右。 假设kj是包含单词j的文章数量,对于一个阈值,我们保持词汇: Dfreq =[j-thwordinD:kj ³k](2.1) 阈值将作为超参数,以便在Dfreq的全面性和不经常出现的词所带来的噪音之间取得平衡。 (2)因子建模:设X为特征向量,其中X是�i篇文章中j词∈Dfreq的特征。它可以是原始的字数,也 ii,j 可以是简单的[0,1],表示词j在�i篇文章中不存在或存在。词与词之间的依存关系被认为是由一些潜在的因素驱动的。也就是说,Xi遵循一个近似的因子模型: ii i X=Bf+u,i=1,,n,(2.2) ii 其中fℝk是k个潜在因子的向量,B是因子载荷矩阵,uℝDfreq 异成分向量。把因子模型放在矩阵形式中,我们有: 是不能被fi解释(与fi不相关)的特 X=FBT+U 其中X和U是nDfreq的数据和特异成分的矩阵,并且F是n×k的潜在因子的矩阵。这里,只有X是可 被观察到的,F,B,U将会被主成分分析估计。 这些因子可以被理解为类似于话题得分,而因子载荷B给这些因子(话题)提供了不同的组合。对这些因素 (主题)进行不同的组合。例如,简短的市场简报和股票研究文章可能都有自己独特的词汇,因此受到不同因子及其载荷的影响。 因子模型通过将Xi中的相关特征分解为因子fi和特异性成分 Dfreq ℝ ui来分解它们。假设我们想用Xi来预测相关 的回报结果Yi。按照Fan等人(2020b)的类似想法,我们用潜在的fi和 Dfreq ℝ ui作为预测因子,建立模型: Y=a+bTf+bTu+(2.3) iiii 其中i是特异性的噪声。这个模型比Xi的线性模型更广泛,而且(2.3)中的变量相关性更小。我们还将对β施加一个稀疏性约束,因为大多数词都不带有关于文章情绪或股票收益的信号。 (3)学习因素和特异性成分:对于一定数量的因子k,我们通过最小二乘法拟合近似的因子模型(2.2), 得出主成分分析。解决方案是,估计的潜在因子F‸n乘以矩阵XXT最大的k个特征值的特征向量,B‸XTF‸/n, FB U‸X‸‸T。见Bai和Ng(2002);Fan等人(2020c);StockandWatson(2002)。 Dfreq /(n-1) 有许多数据驱动的方法来选择因子k的数量,可见Fan等人和其中的参考文献。这里,我们使用调整后的特征值阈值法(Fanetal.,2020a)。该方法考虑到了观察到的变量的异质性程度,并通过对协方差矩阵的特征值的偏差校正估计量进行阈值化来估计因子的数量。具体来说,k被估计为校正后的值在统计学上大于1的数量。 k=max [j<Dfreq :lˆC >1+C ](2.4) j 其中ˆC是数据矩阵X的协方差矩阵的�j个最大特征值的偏差校正估计值。 j j Fan建议C=1,但这对我们的应用而言太小了。最大的特征值们都是有偏大的偏差的。矫正如下:使ˆ作为实证的特征值并且p|Dfreq|作为维度。对于一个给定的j,定义: ép-1 -1ù m(z)=(p-j)-1Iå(l-z)+((3l +lˆ )/4-z)ú, n,j Il ël=j+1 jj+1ú û mn,j(z)=-(1-rj,n-1 )z-1+r j,n-1m n,j (z) 其中 =(pj)/(n-1)。被修正的特征值被定义为ˆC1。 n,jj j j,n1 mˆ (4)学习有条件的带感情色彩的词S:有了学习到的因子,我们可以使用条件性相关筛选法进一步筛选出预测性词语(感情色彩的词语)。让Y‸u为Y在对F‸进行带截距项的线性回归之后的残差向量。这就取出了Y中可 以由因子解释的部分。我们寻求U‸的成分来进一步预测Y‸u。 条件性筛选是寻找与Yu有高相关性的词(Fan和Lv,2008),更确切地说,Y‸u与词j的特异性成分U‸j之间 的相关性,也就是U‸的�j列。这个相关性是Y和与单词j相关的特征向量之间的偏相关性,以潜在因素F为条件。给定一个阈值alpha,有条件的带情感色彩的词的定义如下: S=[j: corr(Uj,Y)>a]Ç[j:k ³k](2.5) u j 阈值α将被定为选择1000个左右的词。这一步是可选的(对应于α=0),