“热点追踪”:基于研报文本的主题选股策略——因子新视野系列报告之四
(以下内容从申万宏源《“热点追踪”:基于研报文本的主题选股策略——因子新视野系列报告之四》研报附件原文摘录)
1. “热点追踪”策略:基于研报文本的主题选股 随着目前各类数据采集覆盖面不断拓展,投资者在投资中可以接触到的信息不断增加,另类数据也开始成为投资中的重要工具。在此前的海外量化研究系列和热辐射数据的研究中我们也发现,涉及各行业经营活动的另类数据也已经成为基本面的重要前瞻指标。不过,无论是卫星遥感得到的热辐射、人流量数据,还是通过信用卡、邮件等互联网系统得到的销量、点击量数据,都存在覆盖度相对较低、仅对部分细分领域有效的特点,能达到对各类型公司全覆盖、与行业属性关联不大的另类数据主要仅有一大类——文本数据。根据文本的来源,主要可分为以下几类: 由于文本数据的覆盖面较广、处理方法相对成熟,其也是目前国内量化投资使用最广泛的另类数据,而随着大模型的推出,未来该方向上的研究也仍将不断深入。此前市场上已有不少文本相关的选股策略研究,最常用的方向是基于新闻和分析师研报的文本,通过模型分析其中隐含的个股观点从而进行选股,其思路主要如下: 1)选定合适的文本后进行分词处理,构建不同时点、不同股票的特征向量; 2)根据个股的后续表现定义标签,如乐观/中性/悲观等 3)滚动训练特征与标签之间的模型; 4)每个调仓期使用训练的模型得到标签概率,从而构建选股因子。 此类方法一般利用了文本中的情绪偏向,关键是找到不同措辞中表达的观点,逻辑较为清晰,已被广泛使用。而本次研究中,我们也使用分析师研报文本,但尝试探索另一个方向:避开单一文本中本身的观点信息,而从更宏观的视角,捕捉研报整体关注的领域,这些领域往往是目前的“市场热点”,尤其是机构关注的重点;找到这部分领域后,我们再进一步通过研报文本找到高关联的个股进行投资。具体的步骤示意如下: 事实上,主题投资本就在A股投资中广泛应用,在不借助文本分析模型时,主题投资主要根据近期政策变化、前期股票涨跌等选定市场热点,然后再根据一定的主观判断选定相关个股。而使用本文分析模型后,策略可以分析师研报的文本为热点依据,可认为更侧重当前机构高度关心的主题,同时也进一步将个股与主题的关联度进行量化,得到更规则化的主题投资策略。下面部分中,我们将进行具体的因子构建并关注其选股效果。 2. 研报文本主题因子构建 2.1数据预处理与模型训练 在本报告的主题选定环节,我们主要使用LDA模型进行训练。LDA,全称为Latent Dirichlet Allocation,即隐狄利克雷分配模型,是一种文档主题生成模型,它基于贝叶斯统计框架,通过概率分布来描述文档集合中的主题分布以及主题下词汇的分布。LDA模型的核心原理是假设文档是由多个主题混合而成的,而每个主题又由一组特定的词汇构成,LDA试图找到文档和主题之间的关联性,以及主题和词汇之间的关联性。它通过迭代算法来估计文档中各个主题的比例,以及每个主题中各个词汇的概率,其优势包括: 1)自动发现文本中的主题,减少人工干预; 2)适用于大规模文本数据集; 3)生成的主题通常具有较高的一致性和可解释性。 与其他文本处理方法相比,LDA模型能够提供更深层次的文本分析,揭示文本背后的主题结构。例如,传统的词袋模型(Bag of Words)只关注词汇的频率,而不考虑词汇之间的上下文关系,LDA则能够捕捉到词汇之间的语义联系。 在使用LDA识别主题之前,我们首先需要对文本进行分词处理,并对可能带来噪声的词汇进行剔除。本文使用的数据来源于米筐(Ricequant)数据库中的个股盈利预期综合数据,我们使用的数据主要为其中的研报摘要数据,区分国内行业、个股研报,每一条数据为一篇研报,其数据包含股票代码、研报标题、研报摘要、研报发布时间等字段,其中行业研报对应多个强关联的个股。我们对行业研报、个股研报分开处理并分别构建因子,数据预处理包括: 1)分词处理:将摘要按段落划分,并利用Jieba库对每个段落进行分词处理,过滤停用词和数字字符; 2)常规内容识别(常规段落将在训练中剔除):统计词频,根据设定的筛选阈值,分行业定义常规词,具体步骤为: ① 对所有分词后的文本统计词频,提取前100个词频靠前的词; ② 对各个行业分词后的文本统计词频,提取前20个词频靠前的词; ③ 将以上生成的集合进行分行业合并,形成对应行业的常规词集合。 3)定义训练集:对每份研报的摘要段落进行常规词识别,并计算段落中的常规词频率。根据设定的筛选阈值(本文为0.25),剔除常规词频率超过阈值的段落,将剩余段落作为LDA模型的训练集。 在以上测试中,我们设置了常规内容识别的步骤,主要原因是在研报尤其是周报中可能存在较多市场描述等常规跟踪内容,经过该步骤可剔除相关内容,避免主题选定中的噪声。下面我们以2023年12月3日申万发布的题为《医药行业周报(1127-1201):本周医药上涨0.5% 建议关注新获批mRNA新冠疫苗及产业链》的研报为例,给出一个数据处理实例: 可以看到,在上述处理中,对医药板块的表现描述和风险提示两个段落常规词频率超过阈值0.25,被判定为常规段落,将不再加入后续的主题选定 在进行数据预处理后,我们将剔除常规内容后的数据作为LDA主题模型的训练集进行主题识别。首先,我们使用所有行业研报,每月进行40个主题的主题训练, 我们展示2023年12月、2024年4月的部分排名靠前的主题及对应的10个主题词如下,其中可能的主题由识别的主题词手动给出: 可以看到,识别到的同主题中的主题词能够具备一定的关联性,且不同时间的主题存在差异,去年底关注海运、大模型等,而到近阶段高股息及景气恢复关注度高。 2.2 主题因子计算 在以上数据预处理中,我们得到了每个月研报中体现的最受关注主题,而为了进一步使用主题进行投资,我们需要构建个股与主题之间的联系。对此,我们尝试使用四种方法计算个股与热门主题之间的关联程度,以此作为主题因子: 1)topic_prob:计算个股对应研报中属于热门主题的段落的概率和; 2)topic_word_frequency:统计个股对应研报中热门主题关键词的出现频数; 3)topic_word_frequency_weighted:在考虑热门主题关键词出现频数的基础上,进一步根据这些关键词在热门主题中的权重进行加权; 4)topic_report_similarity:使用主题词频数向量来表示个股对应的研报,并计算其与热门主题之间的余弦相似度之和。 以topic_word_frequency为例,统计某只个股在当月研报文本中40个热门主题的10个主题词出现频数。以沪深300指数成分股为研究样本,针对2024年4月的数据进行计算,因子值排名前列的10只个股如下: 能源、银行相关个股出现频次较高。以上按频次计算的因子2024年4月在沪深300中的分布如下: 2.3 单因子分组回测 构建相应的因子后,我们尝试在沪深300、中证500股票池内进行单因子测试观察选股效果。对于上述不同方法计算的因子值,我们都在每月末根据因子值对股票进行排序,剔除股票池中因子值缺失的股票后分组建立投资组合并进行分析,回测时间自2013年1月末至2024年4月末。 整体来看基于行业研报文本的主题因子在沪深300指数的覆盖度较高,全历史均值在80%左右,绝对数量均值约240只;占中证500指数的覆盖度均值也约为80%,绝对数量均值约410只。 前面我们使用了四种不同的主题因子计算方法,对于沪深300、中证500股票池,我们分别使用四种方法计算因子,并对原始研报文本分别采用剔除常规内容和不剔除两种方式,发现剔除常规内容的表现整体更好,下表仅展示剔除常规内容的因子IC结果: 从上述因子结果来看,基于行业研报的主题因子在沪深300中的IC普遍高于中证500,除了相似度计算方法在沪深300中表现较差,其他因子都有3%以上的IC,词频的计算方法表现最好;在中证500中行业研报主题因子的IC较弱。 我们进一步计算分组收益,分别取沪深300中的topic_word_frequency因子和中证500中的topic_prob因子,沪深300因子的单调性较明显,而中证500的多头组表现仍较好,但单调性较差: 多头第一组相比于基准指数都有 6%以上的年化超额收益,稳定性也较高: 沪深 300 中行业研报文本主题因子多头组合的年度收益如下: 可以看到,主题策略在 2014 年沪深 300 大幅上涨时表现偏弱,其他年份收益都较好,2020 年以来表现都较为突出。 3.研报文本主题因子的进一步改进 以上部分中,我们的测试主要基于行业研报,主要按照选定 40 个主题及对应选取 10 个主题词进行模型的训练及因子构建。实际上,研报具体的种类、主题的数量、主题词的数量等都可能对因子表现产生影响,本部分中我们主要对这些环节进行讨论。 3.1主题与主题词数量 根据此前的结果,行业研报主题因子中topic_word_frequency因子表现最好,本节中我们主要对这一因子进行主题与主题词数量的参数讨论。 在此前的计算中,我们构建了一个包含40个主题的LDA模型,且在计算因子时针对每个主题精选了前10个高频主题词,统计了个股相关行业研报中这些主题词的出现频率,以此来量化个股与市场热门主题的关联性,这里主题数和主题词的数量都为可调整的参数,直观来看,主题数量越少策略可能越激进,而主题词越少个股的选择也可能更聚焦,下面我们对不同的主题数量、主题词数量进行测试,以观察参数的影响。 对于LDA模型的主题数量,我们设置参数为5、10、15、20、30、40,对于主题词频统计时的主题词数量,我们设置为5、10、20、30进行尝试。下表列出了在沪深300作为股票池时IC值超过3.3%的topic_word_frequency因子,结果显示,将主题词的数量从原来的10个增加到30个后,尽管Rank_IC均值从3.50%微幅提升至3.56%,但在多头第一层的收益表现上,增加主题词数量后的因子并未优于原始因子,说明主题词数量增加后进攻性有所下降: 若对比不同参数设置下的Rank_IC均值,我们发现当主题数为30、40时IC均值相当,其他主题数IC均值明显偏低;主题词数上升时IC均值有小幅上升,但差异不大。而若从多头表现来看,结果和我们此前猜想的一致,主题数、主题词数越少时年化收益整体越突出、进攻性越强,但相比于40/10组合的提升并不多,回撤也更大,沪深300多头组收益前6的组合表现如下: 综合多头组收益、IC的情况来看,此前我们尝试的主题数为40、主题词为10的参数组表现最为稳定。 3.2 剔除行业周报 在此前的测算中,我们主要进行了常规词的剔除处理,即对每个行业以及全市场研报中高频出现的词汇进行剔除。事实上,在行业研报中有较大量的报告为行业周报,例如表2展示的案例,虽然这类报告中也时常有热点话题点评,但常规跟踪内容较多,可能有一定噪声,因此我们尝试直接剔除周报后进行文本主题因子的构建,并与此前剔除常规内容的结果进行比较。 在剔除周报之前,我们的回测期数据共有206万条(每条行业研报可能关联多只个股,去除重复后为实际报告数量为37万条)。经过剔除周报的处理,数据量减少至96万条(去除重复研报后为19万条),即约减少了一半的样本。 下表展示了2023年12月和2024年4月去除周报后的行业研报文本通过LDA主题建模得到的靠前热门主题,若与表3、4的结果进行对比则会发现,去除周报后进行的主题建模细分程度相对更高,但部分实际较重要的主题如“红利”可能反而排序落后: 下面展示了沪深 300 中剔除周报后部分因子的表现,并与未剔除时的因子进行了对比,其中我们也对比了是否去除原先常规内容的结果: 结果我们发现,在原先未剔除常规内容的情况下,剔除周报后的因子 IC 能有显著提升,但若已经剔除常规内容,则再剔除周报反而减少了文本量、IC 小幅下降。仅剔除常规内容和仅剔除周报的结果差异不大,因此在后续多因子的测算中,我们仍使用剔除常规内容、不剔除周报的 word_frequency 因子。 3.3 个股研报主题因子 前面的因子计算主要基于行业研报构建,行业研报关联的个股多数时候更偏向龙头股,因此我们也看到行业研报主题因子在沪深300中的表现更加出色。下面我们尝试使用个股研报进行类似的主题训练和因子构建,观察结果的差异。 除了之前按照词频等计算个股与主题的关联度的方法,我们进一步尝试了一种新的个股因子计算方法topic_prob_max,此前的topic_prob因子计算个股对应研报中属于所有热门主题的段落的概率和,而该方法针对每偏个股报告,仅关联出现概率最高的一个核心主题,并在个股层面对该概率进行累加。 由于个股研究报告主要为深度报告、事件点评,相比于行业研报的数量相对较少,数据库中大约只有行业研究报告的22%,因此我们对缺失的因子值采取了向后填充的策略,即对于当月未发布个股研究报告的个股,使用前一个月的因子值进行补充。 根据个股研报构建的因子在中证500中的表现更加出色,其中根据最热门主题得到的主题词概率因子IC最高,而在沪深300中个股研报主题因子IC弱于行业研报: 但从多头组收益来看,个股与行业研报文本因子的差异不大: 可以看到,虽然在中证 500 中个股研报的 IC 更高,但多头组收益仍然弱于行业研报。 以上各因子多头组相比于基准指数的年度超额收益如下: 从多头组合表现来看,沪深300中2017年以来个股研报组合的表现好于行业研报,而中证500 2020年行业研报表现明显突出。整体而言,主题因子在“赛道行情”中表现突出,2023年市场偏弱时表现较弱,但今年以来有所回升。 基于个股和行业研报同计算方法的主题因子截面相关性不高,在沪深300、中证500中的平均相关性都不到0.4,说明两类文本的主题信息存在一定差异。对此,我们展示2024年4月沪深300多头组合中相同计算方法的部分因子在基于行业和个股研报计算的标准化因子值上的差异: 多头组重合的股票数量约有 40%,且重合部分大多数股票呈现出基于行业研报的因子值更高的特点。仅在行业研报多头组中的个股整体市值偏大、龙头效应明显,而仅在个股研报多头组的股票市值偏小。 整体而言,个股研报因子对相对偏小的股票作用更强,行业研报因子对龙头股的作用更强,多头组表现较为接近。从月度换手来看,行业研报多头组的月度换手在15%以下,而个股研报多头组多数超过 25%。 4.研报文本主题因子在多因子模型中的应用 以上部分中,我们介绍了研报文本主题因子的构建方法并展示了单因子结果,同时也讨论了参数、文本范围调整的影响。下面我们进一步尝试将上述表现较好的因子纳入多因子选股模型中观察增量效果,本部分中我们主要使用沪深300中IC最高的行业研报topic_word_frequency因子和中证500中表现出色的个股研报topic_prob_max因子,根据前面的计算,两个因子在两个股票池中的多头组合都有较高的超额收益。 首先,我们计算全市场2个因子和其他申万金工选股因子的相关性特征,2013.1~2024.4因子的截面秩相关系数(Word_Ind为行业研报topic_word_frequency因子,Word_Comp为个股研报topic_prob_max因子)的均值如下: 可以看到,研报主题因子和多数因子相关性较弱,和分析师因子的相关性接近与0,仅有行业研报主题因子和大市值相关性较高,而个股研报对大市值的偏向也有所降低,这一特点也和3.3中行业、个股研报因子值的差异现象吻合。 为了观察加入研报文本主题因子后的表现,我们首先构建中证800中的选股组合。在中证800成分股中,我们使用成长、盈利、价值、低波、长期动量、分析师预期与红利因子,分别加入行业研报文本主题因子和个股研报文本主题因子后等权合成,每月选取前50只股票,组合结果如下: 加入行业研报因子后的组合在 2022 年前表现都较强,但 2023 年回撤较大,最终净值略弱于无文本因子的组合;而加入个股研报因子的组合进攻性更强,收益提升较明显。 可以看到,对于本身弹性较大的选股组合来说,个股研报因子更激进的特点使其超额贡献更大。 此外,我们也尝试在沪深 300、中证 500 的指数增强组合中加入上述两个因子。对此,我们分别在控制所有风格暴露在 0.3 倍标准差以内和使用因子共振框架的两个指数增强组合中分别加入行业、个股研报文本因子,结果如下: 控风格的组合受风格 beta 的影响相对较小,更容易看到 beta 因子的增量,行业研报文本因子同样在 2022 年前增量更明显,2023 年表现偏弱;个股研报因子对增强组合的贡献更明显。 中证 500 增强组合中,行业研报因子虽然 IC 偏低,但对组合的贡献反而略大,整体来看在控风格的情况下行业、个股研报主题因子都能对组合有较明显的贡献: 我们关注控制所有风格的增强组合中,加入研报文本主题因子相比于不加入的半年度超额表现情况: 我们发现2017~2021年研报主题因子都有较明显的超额贡献,尤其是在2019-2020年市场环境较好时超额贡献更多,但2022、2023年上半年市场偏弱时因子出现阶段回撤,2023年下半年以来主题因子表现又有所回升,今年以来中证500中的贡献更明显。 总结来看,基于研报文本挖掘的主题因子偏向“热点追踪”的逻辑,经过测算我们构建了基于行业研报和个股研报两类文本的因子,在沪深300中基于行业研报的主题因子IC更高,在中证500中基于个股研报的主题因子IC更高,但两类因子的多头表现接近。在加入传统因子构建多因子组合时,我们发现研报文本主题因子与传统因子相关性较弱,个股研报文本主题因子对组合的增量贡献相对更明显。2022-2023年上半年市场偏弱时,研报文本主题因子表现偏弱,但23年下半年以来有所回暖,该因子一定程度上也代表了市场对于主题行情的接受程度。 5.风险提示及声明 本报告模型根据历史数据构建,准确度受限于历史数据的长度;模型历史表现不代表未来,宏观及市场环境大幅变化时模型可能失效。
1. “热点追踪”策略:基于研报文本的主题选股 随着目前各类数据采集覆盖面不断拓展,投资者在投资中可以接触到的信息不断增加,另类数据也开始成为投资中的重要工具。在此前的海外量化研究系列和热辐射数据的研究中我们也发现,涉及各行业经营活动的另类数据也已经成为基本面的重要前瞻指标。不过,无论是卫星遥感得到的热辐射、人流量数据,还是通过信用卡、邮件等互联网系统得到的销量、点击量数据,都存在覆盖度相对较低、仅对部分细分领域有效的特点,能达到对各类型公司全覆盖、与行业属性关联不大的另类数据主要仅有一大类——文本数据。根据文本的来源,主要可分为以下几类: 由于文本数据的覆盖面较广、处理方法相对成熟,其也是目前国内量化投资使用最广泛的另类数据,而随着大模型的推出,未来该方向上的研究也仍将不断深入。此前市场上已有不少文本相关的选股策略研究,最常用的方向是基于新闻和分析师研报的文本,通过模型分析其中隐含的个股观点从而进行选股,其思路主要如下: 1)选定合适的文本后进行分词处理,构建不同时点、不同股票的特征向量; 2)根据个股的后续表现定义标签,如乐观/中性/悲观等 3)滚动训练特征与标签之间的模型; 4)每个调仓期使用训练的模型得到标签概率,从而构建选股因子。 此类方法一般利用了文本中的情绪偏向,关键是找到不同措辞中表达的观点,逻辑较为清晰,已被广泛使用。而本次研究中,我们也使用分析师研报文本,但尝试探索另一个方向:避开单一文本中本身的观点信息,而从更宏观的视角,捕捉研报整体关注的领域,这些领域往往是目前的“市场热点”,尤其是机构关注的重点;找到这部分领域后,我们再进一步通过研报文本找到高关联的个股进行投资。具体的步骤示意如下: 事实上,主题投资本就在A股投资中广泛应用,在不借助文本分析模型时,主题投资主要根据近期政策变化、前期股票涨跌等选定市场热点,然后再根据一定的主观判断选定相关个股。而使用本文分析模型后,策略可以分析师研报的文本为热点依据,可认为更侧重当前机构高度关心的主题,同时也进一步将个股与主题的关联度进行量化,得到更规则化的主题投资策略。下面部分中,我们将进行具体的因子构建并关注其选股效果。 2. 研报文本主题因子构建 2.1数据预处理与模型训练 在本报告的主题选定环节,我们主要使用LDA模型进行训练。LDA,全称为Latent Dirichlet Allocation,即隐狄利克雷分配模型,是一种文档主题生成模型,它基于贝叶斯统计框架,通过概率分布来描述文档集合中的主题分布以及主题下词汇的分布。LDA模型的核心原理是假设文档是由多个主题混合而成的,而每个主题又由一组特定的词汇构成,LDA试图找到文档和主题之间的关联性,以及主题和词汇之间的关联性。它通过迭代算法来估计文档中各个主题的比例,以及每个主题中各个词汇的概率,其优势包括: 1)自动发现文本中的主题,减少人工干预; 2)适用于大规模文本数据集; 3)生成的主题通常具有较高的一致性和可解释性。 与其他文本处理方法相比,LDA模型能够提供更深层次的文本分析,揭示文本背后的主题结构。例如,传统的词袋模型(Bag of Words)只关注词汇的频率,而不考虑词汇之间的上下文关系,LDA则能够捕捉到词汇之间的语义联系。 在使用LDA识别主题之前,我们首先需要对文本进行分词处理,并对可能带来噪声的词汇进行剔除。本文使用的数据来源于米筐(Ricequant)数据库中的个股盈利预期综合数据,我们使用的数据主要为其中的研报摘要数据,区分国内行业、个股研报,每一条数据为一篇研报,其数据包含股票代码、研报标题、研报摘要、研报发布时间等字段,其中行业研报对应多个强关联的个股。我们对行业研报、个股研报分开处理并分别构建因子,数据预处理包括: 1)分词处理:将摘要按段落划分,并利用Jieba库对每个段落进行分词处理,过滤停用词和数字字符; 2)常规内容识别(常规段落将在训练中剔除):统计词频,根据设定的筛选阈值,分行业定义常规词,具体步骤为: ① 对所有分词后的文本统计词频,提取前100个词频靠前的词; ② 对各个行业分词后的文本统计词频,提取前20个词频靠前的词; ③ 将以上生成的集合进行分行业合并,形成对应行业的常规词集合。 3)定义训练集:对每份研报的摘要段落进行常规词识别,并计算段落中的常规词频率。根据设定的筛选阈值(本文为0.25),剔除常规词频率超过阈值的段落,将剩余段落作为LDA模型的训练集。 在以上测试中,我们设置了常规内容识别的步骤,主要原因是在研报尤其是周报中可能存在较多市场描述等常规跟踪内容,经过该步骤可剔除相关内容,避免主题选定中的噪声。下面我们以2023年12月3日申万发布的题为《医药行业周报(1127-1201):本周医药上涨0.5% 建议关注新获批mRNA新冠疫苗及产业链》的研报为例,给出一个数据处理实例: 可以看到,在上述处理中,对医药板块的表现描述和风险提示两个段落常规词频率超过阈值0.25,被判定为常规段落,将不再加入后续的主题选定 在进行数据预处理后,我们将剔除常规内容后的数据作为LDA主题模型的训练集进行主题识别。首先,我们使用所有行业研报,每月进行40个主题的主题训练, 我们展示2023年12月、2024年4月的部分排名靠前的主题及对应的10个主题词如下,其中可能的主题由识别的主题词手动给出: 可以看到,识别到的同主题中的主题词能够具备一定的关联性,且不同时间的主题存在差异,去年底关注海运、大模型等,而到近阶段高股息及景气恢复关注度高。 2.2 主题因子计算 在以上数据预处理中,我们得到了每个月研报中体现的最受关注主题,而为了进一步使用主题进行投资,我们需要构建个股与主题之间的联系。对此,我们尝试使用四种方法计算个股与热门主题之间的关联程度,以此作为主题因子: 1)topic_prob:计算个股对应研报中属于热门主题的段落的概率和; 2)topic_word_frequency:统计个股对应研报中热门主题关键词的出现频数; 3)topic_word_frequency_weighted:在考虑热门主题关键词出现频数的基础上,进一步根据这些关键词在热门主题中的权重进行加权; 4)topic_report_similarity:使用主题词频数向量来表示个股对应的研报,并计算其与热门主题之间的余弦相似度之和。 以topic_word_frequency为例,统计某只个股在当月研报文本中40个热门主题的10个主题词出现频数。以沪深300指数成分股为研究样本,针对2024年4月的数据进行计算,因子值排名前列的10只个股如下: 能源、银行相关个股出现频次较高。以上按频次计算的因子2024年4月在沪深300中的分布如下: 2.3 单因子分组回测 构建相应的因子后,我们尝试在沪深300、中证500股票池内进行单因子测试观察选股效果。对于上述不同方法计算的因子值,我们都在每月末根据因子值对股票进行排序,剔除股票池中因子值缺失的股票后分组建立投资组合并进行分析,回测时间自2013年1月末至2024年4月末。 整体来看基于行业研报文本的主题因子在沪深300指数的覆盖度较高,全历史均值在80%左右,绝对数量均值约240只;占中证500指数的覆盖度均值也约为80%,绝对数量均值约410只。 前面我们使用了四种不同的主题因子计算方法,对于沪深300、中证500股票池,我们分别使用四种方法计算因子,并对原始研报文本分别采用剔除常规内容和不剔除两种方式,发现剔除常规内容的表现整体更好,下表仅展示剔除常规内容的因子IC结果: 从上述因子结果来看,基于行业研报的主题因子在沪深300中的IC普遍高于中证500,除了相似度计算方法在沪深300中表现较差,其他因子都有3%以上的IC,词频的计算方法表现最好;在中证500中行业研报主题因子的IC较弱。 我们进一步计算分组收益,分别取沪深300中的topic_word_frequency因子和中证500中的topic_prob因子,沪深300因子的单调性较明显,而中证500的多头组表现仍较好,但单调性较差: 多头第一组相比于基准指数都有 6%以上的年化超额收益,稳定性也较高: 沪深 300 中行业研报文本主题因子多头组合的年度收益如下: 可以看到,主题策略在 2014 年沪深 300 大幅上涨时表现偏弱,其他年份收益都较好,2020 年以来表现都较为突出。 3.研报文本主题因子的进一步改进 以上部分中,我们的测试主要基于行业研报,主要按照选定 40 个主题及对应选取 10 个主题词进行模型的训练及因子构建。实际上,研报具体的种类、主题的数量、主题词的数量等都可能对因子表现产生影响,本部分中我们主要对这些环节进行讨论。 3.1主题与主题词数量 根据此前的结果,行业研报主题因子中topic_word_frequency因子表现最好,本节中我们主要对这一因子进行主题与主题词数量的参数讨论。 在此前的计算中,我们构建了一个包含40个主题的LDA模型,且在计算因子时针对每个主题精选了前10个高频主题词,统计了个股相关行业研报中这些主题词的出现频率,以此来量化个股与市场热门主题的关联性,这里主题数和主题词的数量都为可调整的参数,直观来看,主题数量越少策略可能越激进,而主题词越少个股的选择也可能更聚焦,下面我们对不同的主题数量、主题词数量进行测试,以观察参数的影响。 对于LDA模型的主题数量,我们设置参数为5、10、15、20、30、40,对于主题词频统计时的主题词数量,我们设置为5、10、20、30进行尝试。下表列出了在沪深300作为股票池时IC值超过3.3%的topic_word_frequency因子,结果显示,将主题词的数量从原来的10个增加到30个后,尽管Rank_IC均值从3.50%微幅提升至3.56%,但在多头第一层的收益表现上,增加主题词数量后的因子并未优于原始因子,说明主题词数量增加后进攻性有所下降: 若对比不同参数设置下的Rank_IC均值,我们发现当主题数为30、40时IC均值相当,其他主题数IC均值明显偏低;主题词数上升时IC均值有小幅上升,但差异不大。而若从多头表现来看,结果和我们此前猜想的一致,主题数、主题词数越少时年化收益整体越突出、进攻性越强,但相比于40/10组合的提升并不多,回撤也更大,沪深300多头组收益前6的组合表现如下: 综合多头组收益、IC的情况来看,此前我们尝试的主题数为40、主题词为10的参数组表现最为稳定。 3.2 剔除行业周报 在此前的测算中,我们主要进行了常规词的剔除处理,即对每个行业以及全市场研报中高频出现的词汇进行剔除。事实上,在行业研报中有较大量的报告为行业周报,例如表2展示的案例,虽然这类报告中也时常有热点话题点评,但常规跟踪内容较多,可能有一定噪声,因此我们尝试直接剔除周报后进行文本主题因子的构建,并与此前剔除常规内容的结果进行比较。 在剔除周报之前,我们的回测期数据共有206万条(每条行业研报可能关联多只个股,去除重复后为实际报告数量为37万条)。经过剔除周报的处理,数据量减少至96万条(去除重复研报后为19万条),即约减少了一半的样本。 下表展示了2023年12月和2024年4月去除周报后的行业研报文本通过LDA主题建模得到的靠前热门主题,若与表3、4的结果进行对比则会发现,去除周报后进行的主题建模细分程度相对更高,但部分实际较重要的主题如“红利”可能反而排序落后: 下面展示了沪深 300 中剔除周报后部分因子的表现,并与未剔除时的因子进行了对比,其中我们也对比了是否去除原先常规内容的结果: 结果我们发现,在原先未剔除常规内容的情况下,剔除周报后的因子 IC 能有显著提升,但若已经剔除常规内容,则再剔除周报反而减少了文本量、IC 小幅下降。仅剔除常规内容和仅剔除周报的结果差异不大,因此在后续多因子的测算中,我们仍使用剔除常规内容、不剔除周报的 word_frequency 因子。 3.3 个股研报主题因子 前面的因子计算主要基于行业研报构建,行业研报关联的个股多数时候更偏向龙头股,因此我们也看到行业研报主题因子在沪深300中的表现更加出色。下面我们尝试使用个股研报进行类似的主题训练和因子构建,观察结果的差异。 除了之前按照词频等计算个股与主题的关联度的方法,我们进一步尝试了一种新的个股因子计算方法topic_prob_max,此前的topic_prob因子计算个股对应研报中属于所有热门主题的段落的概率和,而该方法针对每偏个股报告,仅关联出现概率最高的一个核心主题,并在个股层面对该概率进行累加。 由于个股研究报告主要为深度报告、事件点评,相比于行业研报的数量相对较少,数据库中大约只有行业研究报告的22%,因此我们对缺失的因子值采取了向后填充的策略,即对于当月未发布个股研究报告的个股,使用前一个月的因子值进行补充。 根据个股研报构建的因子在中证500中的表现更加出色,其中根据最热门主题得到的主题词概率因子IC最高,而在沪深300中个股研报主题因子IC弱于行业研报: 但从多头组收益来看,个股与行业研报文本因子的差异不大: 可以看到,虽然在中证 500 中个股研报的 IC 更高,但多头组收益仍然弱于行业研报。 以上各因子多头组相比于基准指数的年度超额收益如下: 从多头组合表现来看,沪深300中2017年以来个股研报组合的表现好于行业研报,而中证500 2020年行业研报表现明显突出。整体而言,主题因子在“赛道行情”中表现突出,2023年市场偏弱时表现较弱,但今年以来有所回升。 基于个股和行业研报同计算方法的主题因子截面相关性不高,在沪深300、中证500中的平均相关性都不到0.4,说明两类文本的主题信息存在一定差异。对此,我们展示2024年4月沪深300多头组合中相同计算方法的部分因子在基于行业和个股研报计算的标准化因子值上的差异: 多头组重合的股票数量约有 40%,且重合部分大多数股票呈现出基于行业研报的因子值更高的特点。仅在行业研报多头组中的个股整体市值偏大、龙头效应明显,而仅在个股研报多头组的股票市值偏小。 整体而言,个股研报因子对相对偏小的股票作用更强,行业研报因子对龙头股的作用更强,多头组表现较为接近。从月度换手来看,行业研报多头组的月度换手在15%以下,而个股研报多头组多数超过 25%。 4.研报文本主题因子在多因子模型中的应用 以上部分中,我们介绍了研报文本主题因子的构建方法并展示了单因子结果,同时也讨论了参数、文本范围调整的影响。下面我们进一步尝试将上述表现较好的因子纳入多因子选股模型中观察增量效果,本部分中我们主要使用沪深300中IC最高的行业研报topic_word_frequency因子和中证500中表现出色的个股研报topic_prob_max因子,根据前面的计算,两个因子在两个股票池中的多头组合都有较高的超额收益。 首先,我们计算全市场2个因子和其他申万金工选股因子的相关性特征,2013.1~2024.4因子的截面秩相关系数(Word_Ind为行业研报topic_word_frequency因子,Word_Comp为个股研报topic_prob_max因子)的均值如下: 可以看到,研报主题因子和多数因子相关性较弱,和分析师因子的相关性接近与0,仅有行业研报主题因子和大市值相关性较高,而个股研报对大市值的偏向也有所降低,这一特点也和3.3中行业、个股研报因子值的差异现象吻合。 为了观察加入研报文本主题因子后的表现,我们首先构建中证800中的选股组合。在中证800成分股中,我们使用成长、盈利、价值、低波、长期动量、分析师预期与红利因子,分别加入行业研报文本主题因子和个股研报文本主题因子后等权合成,每月选取前50只股票,组合结果如下: 加入行业研报因子后的组合在 2022 年前表现都较强,但 2023 年回撤较大,最终净值略弱于无文本因子的组合;而加入个股研报因子的组合进攻性更强,收益提升较明显。 可以看到,对于本身弹性较大的选股组合来说,个股研报因子更激进的特点使其超额贡献更大。 此外,我们也尝试在沪深 300、中证 500 的指数增强组合中加入上述两个因子。对此,我们分别在控制所有风格暴露在 0.3 倍标准差以内和使用因子共振框架的两个指数增强组合中分别加入行业、个股研报文本因子,结果如下: 控风格的组合受风格 beta 的影响相对较小,更容易看到 beta 因子的增量,行业研报文本因子同样在 2022 年前增量更明显,2023 年表现偏弱;个股研报因子对增强组合的贡献更明显。 中证 500 增强组合中,行业研报因子虽然 IC 偏低,但对组合的贡献反而略大,整体来看在控风格的情况下行业、个股研报主题因子都能对组合有较明显的贡献: 我们关注控制所有风格的增强组合中,加入研报文本主题因子相比于不加入的半年度超额表现情况: 我们发现2017~2021年研报主题因子都有较明显的超额贡献,尤其是在2019-2020年市场环境较好时超额贡献更多,但2022、2023年上半年市场偏弱时因子出现阶段回撤,2023年下半年以来主题因子表现又有所回升,今年以来中证500中的贡献更明显。 总结来看,基于研报文本挖掘的主题因子偏向“热点追踪”的逻辑,经过测算我们构建了基于行业研报和个股研报两类文本的因子,在沪深300中基于行业研报的主题因子IC更高,在中证500中基于个股研报的主题因子IC更高,但两类因子的多头表现接近。在加入传统因子构建多因子组合时,我们发现研报文本主题因子与传统因子相关性较弱,个股研报文本主题因子对组合的增量贡献相对更明显。2022-2023年上半年市场偏弱时,研报文本主题因子表现偏弱,但23年下半年以来有所回暖,该因子一定程度上也代表了市场对于主题行情的接受程度。 5.风险提示及声明 本报告模型根据历史数据构建,准确度受限于历史数据的长度;模型历史表现不代表未来,宏观及市场环境大幅变化时模型可能失效。
大部分微信公众号研报本站已有pdf详细完整版:https://www.wkzk.com/report/(可搜索研报标题关键词或机构名称查询原报告)
郑重声明:悟空智库网发布此信息的目的在于传播更多信息,与本站立场无关,不构成任何投资建议。