【研报分享】渤海证券:多因子模型研究之一:单因子测试

多因子
标签: #<Tag:0x00007fc070932280>

(hu1996) #1

多因子模型研究之一:单因子测试

核心观点:

 内容
1、多因子模型(Multiple Factor Model)是金融量化研究的重要课题之一。该模型通过探寻的多种因子和股票收益率之间的统计关系,预测股票未来的收益与风险,从中选择优质标的。

2、多因子模型的建立主要包括单因子测试、收益模型建立、风险模型建立三个步骤。首先通过单因子测试确定模型因子,然后通过收益预测模型估计各个因子的因子收益率,从而得到股票的预期收益率,最后,通过估计因子的协方差矩阵,刻画股票池未来的波动风险,选股结果以及股票配置仓位进行二次优化。本报告为系列研究报告的第一篇:单因子测试部分。

3、本篇报告中,我们共提取了估值、盈利、成长、动量、波动率、流动性六大类共 107 个因子。对因子进行去极值中性化的预先处理后,在每一个横截面上使用同时考虑行业与市值因素影响的回归模型进行加权最小二乘回归(WLS),得到 t 值序列、因子收益序列以及 IC 值序列,并进行统计分析,得到显著性检测结果。然后,我们对因子进行历史收益分层回测,在每个截面期的最后一个交易日,按照因子将样本内股票排序,并按照序号从大到小平均分为 N 组(本报告中N=5),在下一个截面期的首个交易日,对 N 组股票的历史收益率进行回测,并计算其年化收益率、波动率、夏普比率等值。如果 N 组股票的收益率呈现较好的单调性,且每一组股票间的收益差距较大,表示因子在选股上体现了较好的区分度。最终,综合显著性检测和分层回测结果,我们选出 10 个各方面表现较为优异的因子,为下一步多因子收益模型的建立做准备。

4、在分层回测时,我们将股票池分为大市值、中市值、小市值三种。我们发现,不同种类的因子的适用范围也略有不同,如估值、盈利类因子更适用于大中市值股票,动量、流动性因子在小市值股上的表现更好。未来,我们计划根据不同因子的性质,更好的构建模型,使因子的选股能力更大化。

目 录

1.概述
1.1 历史背景
1.2 理论介绍
1.3 基本步骤
2. 单因子测试流程
2.1 数据采集
2.2 基于回归模型的因子显著性测试
2.2.1 数据前期处理
2.2.2 建立回归模型
2.3 单因子选股模型分层回测
2.4 因子的多重共线性问题
3.测试结果
3.1 估值因子
3.2 盈利因子
3.3 成长因子
3.4 动量因子
3.5 波动率因子
3.6 流动性因子
4.总结

表目录
表 1:因子定义
表 2:估值因子的回归测试结果
表 3:估值因子的选股回测结果
表 4:盈利因子的回归测试结果
表 5:盈利因子的选股回测结果
表 6:波动率因子的回归测试结果
表 7:成长因子的选股回测结果
表 8:动量因子的回归测试结果
表 9:动量因子的选股回测结果
表 10:波动率因子的回归测试结果
表 11:波动率因子的选股回测结果
表 12:流动性因子的回归测试结果
表 13:波动率因子的选股回测结果
表 14:单因子测试结果汇总

图目录
图 1:估值因子超额年化收益率分组回测结果
图 2:估值因子多重共线性分析
图 3:盈利因子超额年化收益率分组回测结果
图 4:盈利因子多重共线性分析
图 5:成长因子超额年化收益率分组回测结果
图 6:估值因子多重共线性分析
图 7:动量因子超额年化收益率分组回测结果
图 8:动量因子多重共线性分析
图 9:波动率因子超额年华收益率分组回测结果
图 10:波动率因子多重共线性分析
图 11:流动性因子超额年化收益率分组回测结果
图 12:波动率因子多重共线性分析

1.概述

1.1 历史背景

优化收益,控制风险,是投资永恒的主题。在 H.M.Markowitz 提出的均值-方差模型中,股票的风险被定义为未来收益率期望的标准差。1964 年,美国学者William Sharpe 等人在资产组合理论和资本市场理论的基础上提出了资本资产定价模型(Capital Asset Pricing Model,简称 CAPM),对证券市场中资产的预期收益率与风险资产之间的关系进行了刻画。套利定价理论(Arbitrage Pricing Theory,简称APT) 是 CAPM 的拓广,其假设证券的回报率与未知数量的未知因素相联系,给出了因素模型。因素模型是一种统计模型,套利定价理论利用因素模型来描述资产价格的决定因素和均衡价格。1992 年,Fama 和 French 对美国股票市场决定不同股票回报率差异的因素的研究发现,股票的市场的 beta 值不能解释不同股票回报率的差异,而上市公司的市值、账面市值比、市盈率可以解释股票回报率的差异。于是建立了 Fama-French 三因子模型。但是,三因子模型并不代表资本定价模型的完结,模型中还有很多未被解释的部分,如动量、波动率、流动性等因素。于是最后诞生了出了利用多个因子刻画股票未来收益率与风险的多因子模型(MultipleFactor Model,简称 MFM)。

1.2 理论介绍

Barra 结构化风险模型是目前全球最知名的多因子模型之一。根据 Barra 手册的内容,多因子模型被分为两部分,收益模型与风险模型,收益模型的基本表达形式如下:

1

已知股票在每个因子上的因子暴露,通过多因子的收益预测模型,估计各个因子的因子收益率,从而得到股票的预期收益率,这就是多因子收益模型的主要思路。多因子风险模型的基本思路为,通过估计因子的协方差矩阵,刻画股票池未来的波动风险。而后对选股结果以及股票配置仓位进行二次优化,一般表达形式为:

2

以上模型仅为多因子模型的基础形式,实际应用中,还结合其他约束条件(如单支股票权重上限、风格中性要求、约束误差要求等),对优化模型做出修正。

1.3 基本步骤

多因子模型的建立主要包括以下步骤:
1)单因子测试;
2)收益模型的建立;
3)风险模型的建立与二次规划;
在本篇报告中,我们主要完成了单因子测试部分,通过因子的显著性和选股能力,结合多重共线性检测,筛选出有效的因子,供未来使用。

2. 单因子测试流程

2.1 数据采集

样本范围:全体 A 股,剔除 ST/PT 股票,剔除上市交易不满两年的股票。
样本期:2006 年 1 月-2017 年 6 月,按月提取。
因子的选择上,我们具体测试了估值、盈利、成长、动量、波动率、流动性六大类因子,并在测试名单中涵盖了 Barra CNE5 手册中的大部分因子,具体因子定义见下表:






2.2 基于回归模型的因子显著性测试

2.2.1 数据前期处理

提取的因子数据需经过数据对齐、去极值、标准化、缺失值处理等步骤,才可进入下一步的因子回归模型。
数据对齐:上市公司财报的报告期和报告发布日期之间有一定延迟,为避免未来信息,在提取数据的时候,需要对日期进行修正,保证因子数据为当时能获取的最新财报数据。
去极值:为避免数据中的极端值对回归结果产生过多影响,我们使用“中位数去极值法”,将超过上下限的极端值用上下限值代替。

9
10

标准化:由于各个因子的单位不同,为了使其具有可比性,需要对其进行 ZScore标准化处理,即减去序列均值除以序列标准差,使因子序列近似成为一个符合N(0,1)正态分布的序列。
缺失值处理:提取出的因子可能会因为技术原因等情况出现缺失值,在分层回测时,为避免缺失值影响收益结果,选股时直接采取了移除处理。

2.2.2 建立回归模型

根据 Barra 手册中关于因子显著性测试的内容,对因子进行横截面回归,同时考虑行业与市值因素的影响:

11
在每一个横截面上使用上述模型进行加权最小二乘回归(WLS),权重采用流通市值的平方根,一定程度上消除了异方差性。经过回归模型,我们可以得到 t 检验的t 值序列与因子收益序列𝑥𝑑𝑇。下一步,计算因子 IC 值。

信息比率 IC(Information Coefficient)是衡量因子收益预测能力的重要参数,它的计算方法是将每一期的因子值作为因变量,与行业哑变量和市值变量进行回归,取其残差,作为剔除行业与市值影响后的因子值。再计算新因子值与下一期股票收益序列间的 Spearman 相关系数。最终,回归模型输出以下几个指标:
a) t 值绝对值平均值:衡量因子整体显著性的指标;
b) t 值绝对值>2 概率:衡量因子显著性是否稳定;
c) 因子收益平均值:衡量因子收益能力大小的指标;
d) 因子收益标准差:衡量因子收益能力波动率的指标;
e) 因子收益 t 值:衡量因子收益率统计上是否显著不为 0 的指标;
f) 因子收益>0 概率:衡量因子收益率方向性是否一致的指标;
g) IC 平均值:衡量模型预测能力的指标;
h) IC 标准差:衡量模型预测能力是否稳定的指标;
i) IRIC:IC 平均值/IC 标准差;
j) IC>0 概率:衡量模型预测收益方向性是否一致的指标。
在选取因子时,我们希望首先筛选出 t 值普遍大于 2,因子收益与 IC 值的平均值较大,标准差较小,因子收益与 IC 大于 0 的概率较为接近 0 或 1(而不是在 0.5附近)的因子。当然,选择因子的标准也不是绝对的,例如 Barra 手册中收录的beta 因子与市值因子,IC 大于 0 的概率都接近 50%,但却具有较高的 t 值,这意味着因子对选股收益的影响显著,但是方向却并不稳定,在以风险控制为主要目标的模型中依然是需要考虑的一类因子。

2.3 单因子选股模型分层回测

在使用回归模型筛选出相对显著的因子后,一个更为直观观察该因子选股能力的方式就是观察因子值高的股票与因子值低的股票在走势上的不同之处。于是诞生了分层回测模型。模型构建方法如下:

测试样本范围、测试样本期:与回归模型相同。在每个截面期的最后一个交易日,提取样本内股票因子值,并剔除因子值缺失的股票。按照因子将样本内股票排序,并按照序号从大到小平均分为 N 组(本报告中N=5)。在下一个截面期的首个交易日,以当天的收盘价换仓并剔除当天因停牌、涨停等因素不能交易的股票。股改股票由于在复牌当日不受涨跌停板限制,可能出现极端涨幅,影响回测结果,故在复牌当月同样剔除股票池。对 N 组股票的历史收益率进行回测,并计算其年化收益率、波动率、夏普比率等值。

如果情况理想,N 组股票的收益率会呈现较好的单调性,如 12345 或 54321,且每一组股票间的收益差距较大。这样的因子在选股上体现为较好的区分度。在进行回测时,我们发现不同市值的股票对于不通种类因子的敏感性呈现很大的区别。大市值股票在通过估值类因子分层回测时呈现较好的区分度,而小市值股票对动量、波动率、流动性等因子更敏感。所以我们在接下来的测试中,将全体股票池按市值等分为大市值股票、中市值股票和小市值股票三种。对三种不同的股票进行分层回测,以描述在不同市值的股票中不同因子的区分度表现。

2.4 因子的多重共线性问题

传统的多因子模型是线性回归模型,线性回归模型中的解释变量之间如果存在高度相关关系,模型估计会失真或难以估计准确。为避免这一问题,我们测试了大类因子间各因子历史序列的相关性,得到相关性矩阵,辨别出相关性较高因子。对于这类因子,未来考虑采用因子剔除、合并或逐步回归等方式做进一步处理。检测与处理多重共线性的方法很多,本文中只给出了初步筛选结果,在接下来的报告中,我们还会尝试使用更严谨的理论工具,如 VIF 膨胀系数、逐步回归等方法对多重共线性问题进行进一步考察。

3.测试结果

3.1 估值因子

Barra 手册中收录了 4 个有关估值的因子:市盈率一致预期倒数 EPFWD、现金市盈率倒数 CETOP、市盈率倒数 ep_ttm、市净率倒数 bp_ttm。除了以上四个因子,我们还测试了扣非市盈率倒数 epcut、市销率倒数 sp、相对市盈率倒数 ep_rel、相对市净率倒数 bp_rel 和 peg。在最初的因子库中,我们还收录了 NCFP、OCFP 等现金流因子,但是最终测试结果并不理想,故为了结果展示的简洁性舍去。

通过回归结果可以看出,大部分估值因子都表现出了较高的显著性(t 值平均值大于 2),其中市净率相关因子 bp_lf、bp_rel 表现尤其显著。而 Barra 因子中的 CETOP因子和 peg 因子显著性表现较差。接下来,我们对估值因子做分层回测,将全体股票池按市值等分为大市值股票、中市值股票和小市值股票三种。将每种市值的股票按因子取值排序,分为 5 等份,统计每组股票的超额年化收益率。这里超额年化收益率的定义为:大/中/小市值第 n组股票年化收益率-大/中/小市值全体股票年化收益率。估值因子的回测结果见下图:

观察可知,估值因子在大市值股票上的区分度明显高于中小市值股票(单调性更好,组间收益差更大)。对于大市值股票,除了 CETOP 之外的所有估值因子均表现出了很好单调性,但对于中小市值股票,只有 EPFWD、bp_lf、ep_cut 等因子表现出了较好单调性,其余因子区分度不高。这证明估值因子是一类对于大市值股票更有效的因子。

年化收益率仅仅是对因子选股能力的初步考察,为了进一步考察因子的选股能力的稳定性,我们选取了每个因子选出的股票在时间维度上的表现。对于收益和因子值正相关的因子,如估值、盈利、成长因子,选择分组回测的第一组股票;对于收益和因子值负相关的因子,如动量、波动率、流动性因子,选择分组回测的第五组股票。计算它们的年化收益、波动率、最大回撤、夏普比率,力求找到获利能力和稳定性俱佳的因子。结果见下表:

表 3:估值因子的选股回测结果

大市值 中市值 小市值

对于其他大类因子,我们采取了同样的分层回测思路,下面不再一一说明。通过观察上表可知,EPFWD 在所有市值股票的分层回测中均表现良好,对于大市值股票,可额外考虑 bp_rel、ep_rel 因子,对于中小市值股票,可额外考虑epcut_ttm因子。

通过相关性矩阵可以看出,市盈率类因子(EPFWD、ep_ttm、epcut_ttm、ep_rel)、市净率类因子(bp_lf、bp_rel)自身相关程度较高。故在建立选股模型时,建议选用 EPFWD 和 bp_rel 因子作为估值因子的代表。

3.2 盈利因子

Barra 手册中没有收录盈利因子。在最初的因子检测时,我们尝试了非常多种类的盈利因子(见 2.1 节的因子说明),但大部分因子显著性和选股能力不强,最后,我们选择了其中相对表现较好的几个因子:扣非利润率 profitmargin、净资产收益率 ROE、资产收益率 ROA、投入资本回报率 ROIC 和盈利收益率 sales2EV 进行展示。

通过回归结果可以看出,除了年化扣非利润率之外,我们选择的大部分盈利因子都表现出了较高的显著性(t 值平均值大于 2),而在时间维度上,当季的盈利因子表现出的显著性优于同一因子的 ttm 值。

分组回测后,我们发现盈利因子在大中市值股票上的区分度明显高于小市值股票。传统的 ROE、ROA 因子在大中市值的股票中均表现出了一定的单调性。对大市值股票来说,sales2EV 表现出了很好的单调性,对中市值股票来说,profitmargin_q和 roic 也表现出了很好的区分效果。这证明盈利因子是一类对于大中市值股票相对更有效的因子。


通过观察上表可知,ROE、ROA 类因子表现较好,其中 qfa_roe 在所有市值股票的分层回测中表现相对更加优秀。

通过相关性矩阵可以看出,ROE 类因子、ROA 类因子与 ROIC、profitmargin_q 相关程度均较高。故在建立选股模型时,选择 qfa_roe 因子作为盈利因子的代表。

3.3 成长因子

Barra 手册中收录了 4 个有关成长的因子:过去 5 年营业总收入复合增长率 sgro、过去 3 年归母净利润复合增长率 egro、未来三年一致预期净利润增长率 EGRLF和未来一年一致预期净利润增长率 EGRSF。在因子检测时,除了以上四个因子,我们还在时间维度上增加了 3 年、1 年、单季度的营业收入和归母净利润增长率作为对比。在最初的因子库中,我们收录的因子更多(见 2.1 节的因子说明),最终测试结果不理想的因子为了结果展示的简洁性舍去。

通过回归结果可以看出,成长因子的显著性普遍低于估值因子和盈利因子,这可能与中国股市的市场特性有关。

分组回测后,可以发现在时间维度上,季度、年度因子的表现要好于 3 年、5 年的长时间周期。而 Barra 因子由于其时间周期过长表现普遍不太好。

通过观察上表可知,qfa_yoyor 和 qfa_yoynp,即营业收入和利润的季度增长率表现相对较好。

通过相关性矩阵可以看出,成长类因子彼此相关程度均不算太高,同一因子仅在相邻的时间跨度会表现出较高相关性,故建议选择 qfa_yoyor 和 qfa_yoynp 作为成长因子的代表。

3.4 动量因子

Barra 因子中关于动量因子仅收录了 RSTR 一种,其计算方式是第 21-500 日的收益率序列以半衰期指数加权的和。Barra 的 RSTR 因子剔除了最近一月收益率的影响,在因子检测时,我们仿照 Barra 因子的构建方式,构建了 1 月、3 月、6 月、12 月、24 月的修正收益率 RSTR,其中 RSTR_m24 与 RSTR_barra 的差别仅在是否纳入最近一月的数据。作为补充,我们还检测了股票 1 月、3 月、6 月的传统意义上的收益率(即近 1/3/6 月涨跌幅)和 CAPM 模型中的 alpha 值:

通过回归模型,可以发现所有动量因子都表现出了较高的显著性,且修正后的动量因子 RSTR 显著性略高于修正前。

分组回测后,发现动量因子在中小市值股票上的区分度明显高于大市值股票。其中表现较好的股票有 1、3 月收益率和 6、12、24 月修正收益率。这说明,在较短的时间维度上,动量的半衰期效应并不明显,但是当时间周期拉长到半年以上时,动量的半衰期效应开始逐渐显现。

通过观察上表可知,动量因子在分层回测时普遍表现不错,RSTR_m6 表现相对更好。

在相关性矩阵中,我们发现动量因子两两之间均呈现较高的相关性,如直接使用,可选择 RSTR_m6 作为代表因子。

3.5 波动率因子

在波动率因子的测试中,我们主要检测了 Barra 手册中定义的四个因子:beta、dastd、cmra、hsigma,以及日收益与成交量在不同时间维度的波动率。我们还检测了最高价/最低价这一因子,但是该因子最终区分度并不理想,故在结果展示中舍去。


通过回归结果可以看出,各种波动率因子的回归表现都较为显著,其中 Barra 因子中的 DASTD 因子显著性最高。而成交量因子随着时间跨度的拉长,显著性呈现逐渐下降的趋势。

分组回测可知,VOL 因子对于大中小市值的股票都表现出了很好的区分度,是选股能力非常优秀的一类因子,且分层效果随着时间递减。有趣的是,Barra 因子中的 beta 因子和 cmra 因子虽然在显著性测试中表现很好,但是分层回测的效果却并不理想,这主要是因为其对收益率的影响方向并不稳定(IC>0 的概率均接近 0.5,证明因子收益率忽正忽负)。同样作为收益波动率的衡量指标,dastd 与 hsigma 因子区分度较为优秀,可作为收益波动率的代表。

通过观察上表可知,作为成交量波动率,VOL1 表现相对更好,作为收益波动率,dastd、hsigma 表现较好。

通过相关性矩阵可以看出,dastd 和 hsigma 序列的相关程度较高,考虑回测时的表现,故最后推荐使用 dastd 因子与 VOL_1 因子作为波动率因子的代表。

3.6 流动性因子

在流动性因子的测试中,我们主要检测了 Barra 手册中定义的三个换手率因子:STOM、STOQ、STOA,不同时间维度的相对换手率 MSM、MSQ、MSS 以及两个市值因子:流通市值 mkt_cap_float 以及 Barra 定义的 nonlinearsize。我们还检测了普通意义下的换手率因子,结果与 Barra 定义的换手率因子非常类似,故在结果展示中舍去。


通过回归结果可以看出,换手率因子的显著性明显强于相对换手率,且随着时间跨度拉长逐步递减,市值因子的显著性非常高,但是 IC>0 的概率接近 0.5,证明其预测的方向性不确定。

分组回测后,发现流动性因子是非常有规律的一类因子,在中小市值股票上的区分度明显高于大市值股票。换手率因子的表现略好于相对换手率,且分层效果随着时间递减。市值类因子对小市值股票选股效果十分明显。

通过观察上表可知,1 月换手率因子 STOM 在大中小表现均十分出色,而对于中小市值股票,流通市值因子和 nonlinearsize 也表现较为出色。

通过相关性矩阵可以看出,不同时间维度的换手率、相对换手率因子自身相关性较大,故选用 STOM 作为换手率因子的代表。流通市值与 nonlinearsize 的相关性也较大,虽然流通市值因子在回测时收益率更高,但是考虑到在显著性检测中该因子IC>0 的概率接近 0.5,对收益的影响方向十分不稳定,故最后还是选用nonlinearsize 作为流动性因子中市值指标的代表。

4.总结

第三部分的单因子测试结果汇总如下:

至此,我们已经通过单因子检测程序筛选出了 10 个表现优异的因子。下一篇报告中,我们将利用已选出的因子建立收益预测模型。敬请关注。

作者:渤海证券金工团队