Barra系列(一):Barra因子构建和因子测试框架

2020-02-24 13:38:57 浏览数 (1)

文章转自知乎专栏:量化投资小笔记

作者:一令

摘要

主动管理决策是由预测和一致预期收益率之间的差异驱动的,套利定价理论在主动投资组合管理中具有重要意义,它给出了预测收益率的框架,但并未说明用什么因子预测,应用套利定价理论进行收益率预测和主动投资更像是一种艺术。

数据预处理过程包括缺失值填充、标准化、相关性分析和斯密特正交化等。依照CNE5和数据预处理步骤构建21个小类风格因子,合并成10个大类风格因子。

常用的因子测试步骤包括检验因子有效性、稳定性和单调性等。10个风格因子在A股市场总体表现良好,Size、Liquidity等因子风格明显。另外,因子在不同样本下表现略有差异,因子对全市场风格的描述相对优于沪深300成分股和中证500成分股。

一、背景

本系列通过介绍Barra模型,测试Barra因子表现,窥探市场风格,通过构建多因子风险-收益模型形成一套有效的主动投资管理体系。

本篇是Barra系列的首篇,我们从介绍主动投资组合管理开始,到大类风格因子构建、因子分析等,希望在正式进入Barra模型之前为读者介绍多因子模型的理论基础,观察Barra因子在A股市场的表现情况。

二、主动投资组合管理

I、资本资产定价模型

众所周知的资本资产定价模型(下简称CAPM:Capital Asset Pricing Model)研究的是资产的期望收益率和风险之间的关系。它认为个股的收益率可以完全由市场因素和个股自身因素决定,即将收益分解为系统性部分和残差部分,而残差收益的期望值为零,预期超额收益与股票的

成正比。因此,CAPM的信徒不会成为主动投资经理,因为任何主动管理带来的主动收益期望值为零。

但是CAPM带来一个重要的副产品,即一套确定一致预期收益率的步骤。主动管理决策就是由预测和一致预期收益率之间的差异驱动的。一种替代CAPM生成预期收益率的方案是套利定价理论(下简称为APT:Arbitrage Pricing Theory),它适合主动投资经理生成自己的预期收益率。

II、套利定价理论

和传统的多因子模型一样,Barra模型以APT为基石。APT关注的是预测收益而非风险,是一种生成预期收益率的模型,该理论认为个股的预期收益是由个股的因子暴露决定的,每个因子有一个因子预期收益,股票的预期收益等于每个因子暴露度与相应因子预测收益的乘积之和。

为因子暴露度,

为相应的因子预期收益,

为股票预期收益。若上式成立,有:

若不成立,则可以找到一个对所有因子具有零暴露度,且具有正的预期收益的主动头寸,这也就意味着套利空间的存在。

对于主动投资经理来说,主动管理就是预测,APT虽然告诉我们预测收益率是可行的,但是并没有说明如何预测收益率,这就是为什么人们也称之为任意(arbitrary)定价理论。

APT既可以是纯粹统计模型,也是可以是结构化的模型。统计模型中的因子通常不具有经济学意义,几乎不能被预测,而结构化模型中的因子与股票特征相关,可以被预测,且因子预测可以被理解为对具有相似特征的股票群体的预测。Barra模型就是结构化模型中的一种:给定暴露度,估计因子收益率。在Barra模型中,这些因子又分为国家因子、行业因子,以及各类风格因子。

为国家因子预期收益,在公式中即截距项,

为行业因子暴露度,为哑变量,

为相应的行业因子预期收益,

为风格因子暴露度,

为相应的风格因子预期收益。

为因子在

期的暴露度,是先验因子,

期的资产超额收益,

期的因子预期收益。这样的时间结构并不意味着任何因果关系,而是为了解释收益来源和试图预测下一期收益和风险。

三、Barra风格因子构建和数据预处理

I、十大类风格因子

我们根据MSCI发布的CNE5,总共构建21个二层因子,合并为十个大类风格因子,具体如下表所示。

II、数据处理

在进行数据处理之前,首先对初始样本池的选择和样本时间范围做出说明。我们选择三个样本池分别进行下面步骤的测试,三个样本池分别为:

  • 全市场A股剔除选股日ST股票、上市不满一年股票、由于停牌等原因无法交易的股票(下简称全市场);
  • 选股日沪深300成分股剔除由于停牌等原因无法交易的股票(下简称沪深300成分股);
  • 选股日中证500成分股剔除由于停牌等原因无法交易的股票(下简称中证500成分股)。

样本时间范围为2014年1月至2018年12月。

另外,在下文中许多地方会出现t期和t 1期的数据,虽然在Barra模型的收益模块中,我们会对日度数据做回归求因子收益率,并在此基础上进行风险建模,但是本文中所涉及的t期和t 1期均指月度数据。这是有必要区分清楚的,因为因子起有效作用的时间长度需要和预测期限或是投资期限相匹配。

1、缺失值填充

数据缺失是一个很常见的问题,缺失值填充是所有实证过程开始之前需要处理的步骤。对于收益率缺失,可以直接填充为零,对于风格因子缺失,有不同的填充方法,下面简要介绍两种常见的方法。

  • 行业均值/中位数填充

用行业均值/中位数填充是一种非常简便和常用的方法。虽然归属于同一行业的股票依旧在各个方面存在较大差异,但相较于直接用全市场股票中位数或均值填充,用数据缺失股票的所属行业均值/中位数填充显然更加合理。中位数填充比均值填充更为合理,因为均值容易受到极值影响。

  • 回归法填充

回归填充是另一种常用的填充方式,它基于完整数据集建立回归方程,令完整数据集中不缺失的因子值对有缺失的因子值回归,拟合出回归系数后可以估计该缺失值。

除此之外,还可以用随机森林、KNN、K-means等方法填充。无论用哪种方法,需要注意未填充之前数据缺失的严重程度,如果缺失严重,简单粗暴的填充不能很好刻画数据的特征,也就失去了从这组数据中寻找规律的意义了,这样的因子应当舍弃。通常而言,财务因子数据缺失的情况会比量价因子缺失情况更加严重,分析师预测数据缺失的情况最为严重,一些不受关注的公司甚至没有分析师预测数据。在实证中,我们首先对全部因子缺失的个股做行业中位数填充,合并大类因子时只选用有数据的小类因子合并,将缺失的小类因子权重等权分配在有数据的小类因子上,这样可以避免估计缺失值导致的偏差。对于所有小类因子数据都缺失导致的合并后大类因子数据缺失的情况,用回归法填充。

2、数据标准化

由于不同因子量纲不同,并且分布通常不服从正态分布,需要进行标准化处理再进行更多操作。通用的处理办法是计算因子的z-score。在计算z-score之前需要去极值处理,其中一种去极值的方法为中位数去极值法。假设

为序列中位数,

中位数,则序列大于

的数设为

,小于

的数设为

。去除极值之后计算z-score作为因子原始值的替代。

其中,

为市值加权均值,

为标准差。在实际操作中可以循环多次重复进行上面的步骤,因子的z-score值大致服从正态分布。标准化处理之后,按照CNE5中公布的权重合成十个大类因子。

3、因子相关性分析

  • 相关性分析

构建一个好的回归模型,变量之间的相关性是一个需要注意和处理的方面,当变量之间的相关性过高时,会带来严重的估计偏差。同一类型的小类因子之间的相关性通常较高,比如Stoa,Stoq,Stom之间具有高相关性,因此需要进行大类因子合成。然而,某些大类因子之间也会存在高相关性的情况,我们计算因子间IC值的相关系数做一个大致的判断。

在此先引入IC的概念。因子的IC是指个股第t期在该因子上的暴露度与t 1期收益率之间的相关系数。IC值反映的是个股下期收益率和本期因子暴露度之间的线性相关程度,衡量的是使用该因子进行收益率预测的有效性和稳健性。

相较于依赖两组随机变量服从正态分布假设的Pearson相关系数,实证中更经常使用的是非参数指标Spearman相关系数。我们统计十个因子在全市场样本下2014年至2018年间的月度IC的相关性,结果如下图所示,可以看出某些因子之间相关性较高,比如Midcapitalization因子和Size因子间的相关性几近于1。

  • 方差扩大因子

相关系数只能衡量两两之间的相关性,不便于定量的判断因子有无必要做正交化消除相关性的处理。另外一种判断因子间相关性高低的指标是方差扩大因子(下简称VIF:Variance Inflation Factor),该指标可以衡量一个因子和其他所有因子之间的相关性高低程度。令被检测因子的暴露度对其他因子回归,VIF表示回归的解释力度强弱。通常而言,VIF不应该大于5,小于5则可以接受。

我们计算十个风格因子在全市场样本下2014年至2018年间每月最后一个交易日的VIF均值,结果如下表所示。可以发现所有因子中仅有Midcapitalization因子的VIF均值大于5,这是Midcapitalization因子和Size因子高度相关导致,而其他因子的VIF均值都处于可接受范围。

  • 斯密特正交化

解决因子间相关性高的方法有很多,根据CNE5构建因子的描述,Nlsize因子对Size因子进行正交化,Hsigma因子对Beta因子进行正交化。对因子进行正交化处理是非常有必要的步骤,在多元线性回归中,解释变量

的回归系数

表示

经过其他解释变量调整,即正交化,之后仍能对

产生的增量贡献。如果

与其他解释变量高度相关,

会有较大估计误差,这样对因子表现评价是非常不利的。

因此我们依照CNE5用斯密特正交化的方法对相关因子进行处理。斯密特正交化是从一组线性无关向量组构造出正交向量组,使得原来的线性无关组和正交向量组等价,具体步骤不在此展开。正交化处理后的十大因子间的VIF如下所示。Midcapitalization因子的VIF均值降至1.27,而Size因子的VIF均值有所上升,总体而言,全部因子的VIF值均处于可接受范围内。

四、因子检测

I、Alpha因子和风险因子

一直以来,风险因子和alpha因子没有严格的区分方法,普遍的看法是alpha因子盈利性更强,且作用方向稳定,而风险因子相反。当alpha因子被越来越多人所知和应用时,alpha收益逐渐消失殆尽,alpha因子就会变成风险因子。比如最近几年市值因子从被很多投资者当作是alpha因子到渐渐显露其风险属性。

传统的多因子模型通过对因子打分选择排名靠前的股票组成投资组合,最理想的情况是所使用的因子都是稳定盈利的alpha因子,那么在这些alpha因子上暴露越大的股票越能盈利。与传统多因子模型不同,Barra模型通过组合优化将收益模型和风险模型连接,构建在一定风险控制下的最大收益组合。Barra因子不一定是alpha因子,更大可能是风险因子,而这些因子可以一定程度解释A股市场的风险。对部分或全部风险因子暴露度进行控制,可以实现精确的风险暴露管理和更加稳健的组合收益。

对于收益模型和风险模型我们放在Barra系列的下一篇介绍,接下来我们介绍一些常用的因子测试方法,用于检验因子有效性、稳定性和单调性。包括但不限于这些方法可以用于挖掘alpha因子,也可以单纯用于测试因子质量,无论其是否为alpha因子还是风险因子。

II、因子测试方法

1、截面回归法和IC值检验因子有效性

截面回归法是检验因子有效性的一种最为常用的方法。将样本内个股的因子暴露度对未来一期的收益率进行回归,所得

值可用于判断回归系数是否显著,即因子暴露度对下期收益率是否有显著的解释作用。

当回归模型出现设定偏误或测量误差时,会导致异方差的情况出现,即回归随机干扰项的方差不是常数。异方差的情况下回归模型的参数估计仍然是无偏的,但不具有有效性,参数的检验统计量失效。我们按照USE4中处理异方差的方法,用加权最小二乘法回归(Weighted Least Squares Regression)估计因子收益率,假设残差收益与总市值平方根成反比,因而以股票总市值平方根倒数作为加权权重。

除了截面回归法外,IC值也可用于检验因子作用显著性,上文中已经介绍了IC的定义,这里不再赘述。IC值越大,说明当期因子暴露度与下期收益率相关性越高,预测性越强,因子越有效。

计算因子在不同样本下的相关统计量,部分结果如下表所示。

总体而言,大部分因子显著有效,全市场样本下因子的显著性普遍好于沪深300成分股和中证500成分股。在全市场样本下所有因子都非常显著,沪深300成分股样本下仅Growth因子和Midcapitalization因子不显著,中证500成分股样本下Beta因子、Growth因子和Midcapitalization因子不显著,Leverage因子和Midcapitalization因子的IC均值几近于零。Size因子、Btop因子、Liquidity因子、Residualvolatility因子以及Earningsyield因子在三个样本下都表现出极佳的显著性,t绝对值均和IC均值绝对值均较大。

2、因子稳定系数和IC值测试因子稳定性

因子稳定性是检验因子质量的另一个重要方面,IC值法除了可以用于检验因子作用显著与否外,还可以用于检验因子作用稳定性。通过IC序列标准差可以判断因子稳定性,通过IC序列大于/小于零的占比可以判断因子作用方向的稳定性,此处我们称之为IC胜率。

USE4中也提供了一种检测因子稳定性的方法,即计算因子稳定系数(Factor Stability Coefficient)

其中

因子在

期的暴露度,

因子在

期的暴露度,

因子在

期的标准差,

因子在

期的标准差。上式的形式即为计算两个序列之间的相关系数(correlation),只是此公式中的两个序列分别为

期和

期的因子暴露度。当该值大于0.9时,认为因子稳定性较好,当该值小于0.8时,因子被认为不够稳定。

计算因子在不同样本下的IC胜率(通过IC均值判断方向,如IC均值为正,则计算IC大于零占比,反之,则计算IC小于零占比)和稳定系数均值,结果如下。

统计量未在三个样本下表现出明显差异。从因子稳定系数来看,所有因子在三个样本下均大于0.8,而除了Beta因子和Momentum因子之外的所有因子的稳定系数均在0.9之上,表示这些因子稳定性较好。从IC胜率来看,Liquidity因子、Residualvolatility因子、Earningsyield因子的IC胜率普遍较高,大致在0.7左右,表示这三个因子在样本时间范围内作用方向稳定。总体而言,十个风格因子稳定性较好。

3、分层法测试因子单调性

分层回测法逻辑简单,结果直观清晰,操作方便,具有区分因子单调性的独特优势,是常用的一种单因子测试手段。分层法根据因子值对股票分层,构建投资组合回测,根据各组合的收益情况判断因子是否具有单调性。我们保持行业中性和市值中性,在每个一级行业内根据个股暴露度分层,这样每个行业内可分为L个组合。计算在

期建仓,

期平仓的各层组合的收益率,行业内各层组合收益率用个股总市值加权平均,行业间的组合收益率用业绩基准的行业权重加权平均。

为了观察因子不同层组合的表现差异,对不同层组合收益画图,计算不同层组合表现相关统计量进行比较。下面为十个风格因子在全市场样本下的分层收益曲线图。

从上图可以发现,Beta因子、Growth因子、Leverage因子、Midcapitalization因子分层效果不佳,而其余六个因子分层效果明显。从Size因子和Momentum因子的分层图还可以明显的看出这两个因子在2017年后发生风格转换的情况。

另外一种可以定量判断分层效果的方法是计算层数和每层组合收益率的相关系数。对于一个单调性好的因子,因子暴露度越大的组合收益率越高(或越低),即层数和组合收益高低成正比(或反比),因此我们可以计算每一期分层层数和相应组合的收益率的Spearman相关系数。当因子单调性非常好时,每一期的相关系数应该趋近于1(或-1)。我们将该指标命名为分层rankIC。统计十个风格因子在不同市场下的分层rankIC,以及分层rankIC绝对值大于0.5的占比。

分层rankIC可以很好的佐证分层收益曲线图的结果。Beta因子、Growth因子、Leverage因子、Midcapitalization因子的分层rankIC绝对值均值和绝对值大于0.5占比相对更低,表明分层效果不佳,而其他因子都表现出较好的单调性。全市场样本下因子单调性要整体好于沪深300成分股和中证500成分股。

五、总结

如上文所述,APT虽然告诉我们预测收益率是可行的,但是并没有说明如何预测收益率。找到合格的模型是相对简单的,选择用什么因子以及预测因子收益则是困难的部分,按照“量化圣经”《主动投资组合管理》的说法:APT的应用是一种艺术,而非科学。

回到Barra模型本身来说,Barra因子可以很好的表现市场风格,其中一些因子显露出风险因子的特征,在构建多因子组合时要注意约束其暴露。

参考文献

  • Jose Menchero, J., D. J. Orr, and J. Wang(2011). The Barra US Equity Model (USE4). Methodology Notes.
  • Yang Liu, Jose Menchero, J., D. J. Orr, and J. Wang(2011). The Barra US Equity Model (USE4). Empirical Notes.
  • Richard C. Grinold, Ronald N. Kahn. Active Portfolio Management. A Quantitative Approach for Providing Superior Returns and Controling Risk(2nd Edition).
  • 华泰金工,多因子1:华泰多因子模型体系初探
  • 光大证券,光大证券多因子系列报告一:因子测试框架

原创不易,未经授权禁止转载。

0 人点赞