量化投资与机器学习微信公众号,是业内垂直于量化投资、对冲基金、Fintech、人工智能、大数据领域的主流自媒体公众号拥有来自公募、私募、券商、期货、银行、保险、高校等行业30W+关注者,曾荣获AMMA优秀品牌力、优秀洞察力大奖,连续4年被腾讯云+社区评选为“年度最佳作者”。

核心观点
  • 本文将产业链关系网络、供应链关系网络、新闻共现关系网络社群检测后的集群属性作为预定义概念,输入HIST 模型中预测股票未来收益,上述三个图谱网络分别代表了公司经营业务、公司经济活动、投资者注意力这三个维度的信息。
  • 相比传统直接的公司主营产品等概念,图谱网络聚类后的集群概念表现更优,集群属性确实包含了有价值的增量信息。
  • 同时用三种集群为预定义概念做策略回测。其中一个子策略 topk=90 & n_drop=9 ,扣除交易成本后,在 20220101-20230630 期间取得了 14.10% 的年化超额收益率,信息比率有 2.061,最大回撤为 -5.08%。
今日直播预告
前言
在之前的文章中,我们分别构建了产业链关系网络、供应链关系网络和新闻共现关系网络,都做了图聚类,并分析了各类关系下和集群内外股票间收益率相关性,最终也都得出了“关联股票比非关联股票表现出更强相关性,集群内股票比集群外股票也表现出更强相关性”的结论,三大网络关系和三大集群属性能提供有用的增量信息。本文将进一步以这些集群属性为预定义概念,借助 HIST模型提取集群的共有信息用于预测股票未来收益。
三大图谱网络概述
早期系列文章中,我们利用ChinaScope的三大另类数据(产业链数据、供应链数据、新闻舆情数据)分别构建了三大图谱网络:产业链关系网络、供应链关系网络、新闻共现关系网络,三大图谱网络刻画的关系分别对应公司经营业务、公司经济活动、投资者注意力这三方面的信息。构建好三大图谱网络后,还对它们分别做了社群检测,进一步挖掘上述关系下公司间的集群属性,丰富股票分类的方式。三大图谱构建步骤和部分效果图如下所示:
产业链关系网络构建步骤:
1、对 A 股上市公司,基于ChinaScope产业链数据中的原始分项表和产品字典表,将下属层级的产品收入统一映射到数库二级产品上,从而构建公司在数库二级产品收入上的分布向量。
2、对同一个报告期下的不同公司,计算公司与公司在产品上的关联度,具体的计算方式如下:
A,B 分别代表两个企业,𝑤𝑒𝑖𝑔ℎ𝑡𝐴,𝐵,𝑖 为在报告期 i 中企业 A 与企业 B 的企业关联度,𝑠𝑢𝑚(𝐴∪𝐵)𝑖为在报告期 i 中在企业 A 或企业 B 有收入的产品营收金额总和,𝑠𝑢𝑚(𝐴 ∩ 𝐵)𝑖为在报告期 i 中在企业 A 且企业 B 有收入的产品对应的营收金额总和,关联度的计算如下:
3、根据以上计算得到的企业关联度,去除其中关联度为 0 的关系,构造对应报告期下的加权无向产业链网络图,图中的点为A股上市公司,边的权重则为公司与公司在产品上的关联度。
4、补充:当二级产品营业收入为负时,令负营业收入为 0;若最终边的权重为 0 ,则用该横截面所有边权重的最小值代替,这样能保留该产品下的股票关系。
供应链关系网络构建步骤:
1、ChinaScope现有的供应链中间表即为供应链关系网络,但原始表中存在人物节点、“配对公司互为对方的供应商和客户”的双向边、“ 供应商和客户都为公司本身 ”的自环等情况,需对其做进一步处理。
2、直接删除人物节点和自环边;对于双向边的选择,主要遵循如下规则:① 保留金额更高的那个方向, 金额优先级为交易金额>期末余额>坏账准备;② 如果 ① 无法满足,则选历史上出现次数更多的那个方向;③ 如果 ② 无法满足,则随机选一个方向。
新闻共现关系网络构建步骤:
1、首先以每个交易日下午 3 点为切割时间,把收盘后的新闻算做下一交易日的新闻,将日历日映射到交易日。
2、剔除相关性不高的新闻,只保留 relevance>10% 的公司新闻。
3、新闻共现基础网络:直接将每日公司新闻转化为新闻共现的形式,每行数据为:日期、共现的公司a、共现的公司b、共现次数,该新闻数据构成了新闻共现的基础网络。
4. 新闻共现扩展网络:每日的股票共现情况变动相对比较频繁且 A 股覆盖率低,因此在每月末计算共现矩阵过去 90 日的总边数,即如果公司 a 和公司 b 在过去 90 日中存在新闻共现情况,那么也将其纳入新闻共现网络中,该网络的覆盖度更高,股票共现关系也相对更稳定,之后的分析主要基于扩展后的新闻共现网络。
社群检测:
1、选用 leiden 算法对三大网络进行社群检测。
2、关于网络是否包含权重和方向:产业链关系网络和新闻共现关系网络为无向图,供应链关系网络为有向图(方向为:供应商指向客户);供应链关系网络的边无权重,产业链关系网络边权重为关联度,新闻共现关系网络边权重为新闻共现数量。
图1:图谱网络和社群检测局部效果图
HIST 模型参数配置
HIST模型的英文缩写为(sHare Information for Stock Trend forecasting),是“基于图的可通过挖掘概念共有信息进行股票趋势预测的预测框架”。HIST 模型的一大特色是从概念中提取共有信息时会考虑概念的不完备性和动态可变性,将预定义概念(如行业,主营业务,业务范围和其他概念)输入到 HIST 模型中,模型还会进一步动态的学习预定义概念中未包含的隐含概念。基于预定义概念和隐含概念,模型将股票的特征信息分解为预定义概念共有信息、隐藏概念共有信息和股票特质信息三部分,这三部分信息分别对应双重残差结构中连接的三个不同模型,然后同时用这三部分信息来预测股票价格的未来趋势。
图2:HIST模型框架
用于训练的股票集为沪深 300 成分股,训练区间为 20170201 ~ 20201231,验证区间为 20210101 ~ 20211231,测试区间为 20220101 ~ 20230630。选 Qlib 的 Alpha360 和 GRU 用于股票的特征表征,2 层网络,隐藏单元数为 64个,为避免过拟合,设置了 0.5 的 dropout。初始预定义概念表征由总市值加权得到,选取 cos 相似度最高的前 K=3 个概念作为隐含概念。训练的 label 为 Ref($close, -2)/ Ref($close, -1)- 1,损失函数为常规的 mse,学习率为 0.001,epoch 为 200,early stop 为 15。为了减少模型训练随机性的影响(如初始参数的随机性,early stop 对最终局部最优解的影响等),会对每个模型独立重复训练 5 次,最终预测结果为 5 次预测的均值。
表1:HIST模型参数配置详情
前文对各类网络进行社群检测后的集群就是 HIST 模型的预定义概念,因预定义概念的区别,本次报告共测试 5 个 HIST 模型:
  • industry_chain_relation - 以产业链关系网络集群为预定义概念的 HIST
  • supply_chain_relation - 以供应链关系网络集群为预定义概念的 HIST
  • news_cooccurance - 以新闻共现关系网络集群为预定义概念的 HIST
  • all_relation - 同时将上述三种集群为预定义概念的 HIST
  • sam_last_product - 以公司所属最细层级主营产品为预定义概念的 HIST
下图展示了 all_relation 预定义概念的部分数据结构(非二分类图展开状态),其中 nc_xx 对应新闻共现网络集群、sc_r_xx 对应产业链网络集群、sc_t_xx 对应供应链网络集群,xx 对应的数字为集群编号,单个横截面的预定义概念数量平均在 176 个,其中产业链集群约为 49 个,供应链集群约为 100 个,新闻共现集群约为 26 个。其余预定义概念的数据结构与图中类似。
图3:all_relation 预定义概念的部分数据结构
预测结果分析
可以将 HIST 输出的收益预测值 y 作为合成后的单因子,对其进行 IC 分析、分组收益分析、板块分析等一系列单因子测试,考察预测值的选股能力。
IC 分析
下表2 统计了 5 种预定义概念下模型预测值的 RankIC 和模型准确度情况。下图 4 绘制了测试区间内,每月的日度 RankIC 均值。相比原始的 sam 公司主营预定义概念,来自三大网络的集群预定义概念表现都更为出色。它的RankIC 在 3.86%~4.25%,年化 ICIR 有 4.368~4.812;但模型整体准确率并不是很高,低于 50%,而且准确率还呈现“正收益的召回率比负收益的召回率要高很多”的特点。对于 RankIC,从 2023 年开始也出现了大幅下跌,方向频繁变动。
表2:收益预测值 IC 表现和模型准确度表现
图4:日度 RankIC 的月度均值
为了查找上述现象的原因,我们进一步绘制了模型准确度的时序变化图和未来收益预测值和原始值的分布。对于模型准确度,从图5可以明显看到 2023 年开始,负收益的召回率下降明显,更多的负收益被预测为了正收益,这就增加了负 IC 出现的频率,拉低了整体的平均 IC,甚至改变了 IC 的方向。本次测试只做了一次模型训练,即用 2022 年之前的数据训练和调试模型,来预测 2022 年至 2023 年的收益,预测时间和模型训练所用历史时间间隔较长,而且之间还经历了疫情,可以改为滚动训练或训练时剔除掉疫情前的时间,模型预测效果会得到较大提升。
图5:模型准确率和正负收益召回率的月度均值
从下面的分布图来看,HIST 模型输出的未来收益预测值分布相对左偏,平均每天只有 39% 的预测值小于 0,而沪深 300 在测试区间内的行情表现本就很差,平均每天有 52 %的股票为负收益,进而抬高了正收益的召回率,拉低了负收益的召回率。
图6:模型未来收益预测值和未来收益真实值的分布图
分组收益分析
分组收益分析中的股票分组方式为各横截面按未来收益预测值从小到大对沪深 300 成分股进行排序,将股票分为 8 组,其中收益前 top30% 的股票位于第 8 组,1-7 组各按 10% 做划分,收益最差的 bottom 10% 股票位于第 1 组。之所以这样划分,是因为收益预测值的 70% 分位点是一个明显的分界点,收益预测值高于 70% 分位点的股票组合能取得稳定的正收益。表 3 和图 7-8 详细展示了 5 种预定义概念下模型预测值的分组收益情况。top-bottom 多空对冲的收益表现虽然出色,但相比空头组,通常更关心多头组的收益,多头组年化收益最高的是综合三个集群的 all_relation 收益预测值。
表3:沪深 300 成分股分组收益评价指标
图7:沪深 300 成分股的分组平均收益
图8:沪深 300 成分股的分组累计收益曲线
下表 4 和图 9 进一步测试了 top30% 组相对沪深 300 基准的收益表现。与上面分组的收益表现一致,以三个图谱网络集群为预定义概念的模型预测值表现整体优于以原始的 sam 主营产品为预定义概念的模型预测值,说明集群代表的共有信息包括集群间的关系也能用于股票趋势的预测,是一个有效的另类信息源。其中,表现最优的 all_relation 的年化超额收益为 25.63%,信息比率为 3.135,最大回撤为 -4.2 %。传统主营产品 sam_last_product 和产业链集群 industry_chain_relation 反映的都是公司经营业务维度的关系,但后者表现要优于前者。
表4:沪深 300 成分股排名前 30% 组相对沪深 300 基准的收益表现
图9:沪深 300 成分股排名前 30% 股票组合的超额累计收益曲线
板块分析
下图 10 和图 11 模型预测值分组后各组内的市值分布和行业分布情况。从图 10 可以看出,各组内大小市值股票分布都是相对分散的,并没有哪一组全部都是大市值股票或小市值股票;各组间的市值分布也相差不大,较为一致。从图 11 可以看出,各组内行业分布也是相对分散的,并没有集中在个别行业上;各组间的行业分布也相对一致。在行业和市场维度,基于模型预测值构建的投资组合不会集中暴露在单一风险下。
图10:沪深 300 成分股分组后各组内市值分布情况
图11:沪深 300 成分股分组后各组内中信一级行业分布情况
策略研究
上文主要是分析收益预测值的选股能力,计算收益时未考虑手续费等真实交易条件的影响,下文我们将进一步对预测值构建 qlib 内置的 Topkdropout 策略进行回测,以此得到更符合实际交易条件的收益表现。为了让起始持仓与预测收益排名靠前的 30% 股票相对一致,让持仓量 topk=90,n_drop=9,其余回测参数设置如下:
account=100000000、benchmark为CSI300、deal_price为close、open_cost=0.0005、close_cost=0.0015、 min_cost=5、limit_threshold=0.095。
Topkdropout 的策略收益在扣除交易费用后收益有所降低,但也能取得 10% 以上的年化超额收益率。收益表现最优的 all_relation,年化超额收益率为 14.10%,信息比率有 2.061,最大回撤只有 -5.08%,综合更多维度的集群信息能使得预测值的收益表现更稳健。
表5:Qlib 的 TopKdropout 策略收益表现(扣除交易成本,topk=90,n_drop=9)
图12:Qlib 的 TopKdropout 策略累计收益曲线(扣除交易成本,topk=90,n_drop=9)
总结
本文将产业链图谱网络、供应链图谱网络、新闻共现图谱网络做社群检测衍生得到的集群作为预定义概念,输入HIST 模型预测股价未来趋势。从收益预测值选股和策略表现看,相比公司主营产品或行业分类等传统概念,从图谱网络中聚类得到的集群属性确实包含了有价值的增量信息。HIST 模型框架下,给模型的信息维度越丰富(如同时考虑公司经营业务、公司经济活动、投资者注意力三个维度的信息),模型能学到更多,收益预测值表现也更优,这体现了 HIST 模型对高维信息的学习能力。股票间的关系复杂多样。挖掘更多的关系并从中提取更多的增量信息,也是提升信息优势的重要途径。
今日直播预告
参考阅读
继续阅读
阅读原文