舆情因子和 BERT 情感分类模型¶
本文总结了研报 舆情因子和 BERT 情感分类模型 - 华泰证券 的主要内容。
思路与框架¶
- 基于 Wind 金融新闻数据,提取其中的情感正负面标签,构建日频的新闻舆情因子。
- 使用回归法、IC 值分析法和分层测试法,检验新闻舆情因子。
- 基于已有情感标注的 Wind 金融新闻数据,测试 BERT 模型在金融情感分类任务的表现。
新闻舆情因子构建过程¶
-
对原始新闻数据进行预处理(如剔除特定新闻、文本合并等)。
-
每只股票 \(i\) 在每个自然日 \(t\) 的情感得分为
$$ S_{i, t}=\text { 正面新闻数量 - 负面新闻数量 } $$
- 每只股票 \(i\) 在每个交易日 \(T\) 的新闻舆情因子为
$$ F_{i, T}=\sum_{t=T-29}^T w_t S_{i, t}, \quad w_t=\frac{30-(T-t)}{30} $$
上式中的 \(w_t\) 使得新闻舆情因子是个股情感得分的线性衰减加权和。
-
剔除证券行业的个股。
-
对新闻舆情因子进行行业市值中性。
单因子测试方法¶
回归法¶
将第 \(T\) 期的因子暴露度向量与 \(T + 1\) 期的股票收益向量进行线性回归:
其中,回归系数 \(a^T\) 即为因子在 \(T\) 期的因子收益率,还能得到该因子收益率在本期回归中的显著度水平,即假设检验的 t 值。
细节处理¶
- 预测目标:\(r^{T+1}\) 可选未来 20 个交易日内个股收益率。
- 中位数去极值:避免极端值对回归结果造成较大的影响。
- 中性化:回归方程中加入了 \(Indus_j^{\mathrm{T}}\) 和 \(ln\_m k t^{\mathrm{T}}\),考虑了行业和市值对个股收益率的影响。(个人认为研报中的符号没有表述清楚,不明白研报中的符号究竟是标量还是向量。)市值取对数是为了让其更加符合正态分布,否则极少数大市值的公司会使得市值呈右偏分布。
- 标准化:将因子暴露度减去其现在的均值、除以其标准差。让不同因子的暴露度之间具有可比性。
- 缺失值处理:例如填充缺失值。
- 采用加权最小二乘回归(WLS):使用个股流通市值的平方根作为权重。
因子评价方法¶
因子评价方法
- t 值序列绝对值均值——因子显著性的重要判据;
- t 值序列绝对值大于 2 的占比——判断因子的显著性是否稳定;
- t 值序列均值——与第 1 点结合,能判断因子 t 值正负方向是否稳定;
- 因子收益率序列均值——判断因子收益率的大小。
IC 值分析法¶
因子的 IC 值是指因子在第 T 期的暴露度向量与 T+1 期的股票收益向量的相关系数,即
细节处理¶
上式中因子暴露度向量 \(X^T\) 一般不会直接采用原始因子值,而是经过去极值、中性化等手段处理之后的因子值。
在实际计算中,使用 Pearson 相关系数可能受因子极端值影响较大,使用 Spearman 秩相关系数则更稳健一些,这种方式下计算出来的 IC 一般称为 Rank IC。
因子评价方法¶
因子评价方法
- Rank IC 值序列均值——因子显著性;
- Rank IC 值序列标准差——因子稳定性;
- IC_IR(Rank IC 值序列均值与标准差的比值)——因子有效性;
- Rank IC 值序列大于零的占比——因子作用方向是否稳定。
分层回测法¶
构建分层组合¶
依照因子值对股票进行打分,在每个截面期核算因子值,构建分层组合。例如将股票池 内所有个股按处理后的因子值从大到小进行排序,等分 N 层,每层内部的个股等权重配置。
计算多空组合收益¶
用 Top 组每天的收益减去 Bottom 组每天的收益,得到每日多空收益序列 \(r_1, r_2,\cdots, r_n\),则多空组合在第 \(n\) 天的净值等于 \((1+r_1) (1+r_2) ⋯(1+r_n)\) 。
因子评价方法¶
因子评价方法
全部 N 层组合年化收益率 (观察是否单调变化) ,多空组合的年化收益率、夏普比率、最大回撤等。
因子测试结果¶
新闻舆情因子在沪深 300 成分股内表现最好,因子收益率均值达 0.29%,RankIC 均值达 6.13%,多空组合年化收益率达 18.73%。
BERT 运用于文本情感分类¶
我不太清楚 BERT 的底层学习机制,目前只能大概理解如何将 BERT 运用于分类问题的关键思路:
-
带有情感标注的金融新闻是具有 [CLS] 字符信息的,我们可以在 BERT 模型的最顶层添加一个 Softmax 分类层,并以 [CLS] 字符的输出信息作为分类层的输入,即可得到 BERT 对该语句的情感分类结果。
-
对于那些不带有情感标注的金融新闻,我们就可以用已经训练好的模型来预测这条新闻的 [CLS] 字符,将 [CLS] 字符作为 Softmax 分类层的输入,即可得到情感分类结果。
-
我们可以将训练好的模型运用于大量不带有情感标注的金融新闻,对个股新闻舆情进行更全面、无偏的判断,再用上述因子测试方法对新闻舆情因子进行检验。