因子与因子选择

1. 前言

正如之前所介绍的,因子是量化股票组合管理的重要构成要素,就像只有高质量的原料和高超厨艺的配合,才能做出美味的佳肴,只有高质量的因子并加以正确的组合,才能构建出业绩优异的模型。

实际上,市场中有成千上万的因子可供我们选择,我们在挑选因子的时候,需要时刻牢记量化股票投资的基本原则提到的原则五和原则六:量化模型应当能够反映合理的经济学理论,并且具备持续、稳定的模式。同时,我们还要避免数据挖掘问题。

2. 因子分类方法比较

本节对因子的分类和之前因子的基本概念中的有所不同。我们在本节对因子的分类,是基于经济逻辑和业务来源来进行的,关注的是因子背后的投资逻辑。而之前的基本面因子/经济因子的分类,是基于计量经济学和统计建模的属性来分类的,关注的是数据的获取和计算问题。

虽然两种分类下都有“基本面因子”这一个概念,但本节提到的“基本面因子”范围更小,详见下方表格比较:

经济逻辑分类统计分类说明
基本面因子基本面因子数据源于财报,因子暴露直接可见,但因子溢价需回测。
技术面因子基本面因子(广义)虽非财报数据,但在建模逻辑上与基本面因子一致
经济因子经济因子数据源于宏观统计,两者定义完全一致。
其他因子基本面因子(广义)属于公司层面的微观特征,暴露(如是否回购)是确定的。

3. 因子分类

3.1 基本面因子

既然因子是预测股票收益率的变量,那么公司的财务状况显然是影响股价表现最直接的因素,而描述公司财务状况的因子,就是基本面因子(fundamental factors)

常见的基本面因子是通过三张财务报表中的数据计算出的各种比率,我们将其大致分为6小类,包括估值因子、偿债能力因子、营运效率因子、盈利能力因子、财务风险因子和流动性因子,我们下面对每类中的重点因子进行总结。

3.1.1 估值因子

估值因子的目的是衡量股价是否相对偏高或偏低,主要包括:市盈率(PE)、市净率(PB)、市销率(PS)、股利率(D/P)、市现率(P/CF)、P/EBITDA、市值等。 这些变量之间高度相关,可根据自身喜好进行选择。很多研究已经表明,对于同行业的公司来说,低PB、低PE、高D/P、低PS、低P/CF、低P/EBITDA的公司股价表现从长期来看一般更优。

3.1.2 偿债能力因子

偿债能力因子的目的是衡量公司未来短期的偿债能力,主要包括:流动比率(CUR)、速冻比率(QR)、现金比率(CR)和经营现金流比率(CFOR)。

3.1.3 营运效率因子

营运效率因子的目的是衡量公司经营效率的高低,分析短期营运效率使用存货周转率(IT),分析长期周转率则一般使用总资产周转率(TAT)、净资产周转率(ET)和固定资产周转率(FAT)。

3.1.4 盈利能力因子

盈利能力因子顾名思义,是衡量公司盈利能力的强弱,主要包括:毛利率(GPM)、营业利润率(OPM)、净利率(NPM)、总资本收益率(ROTC)和普通股权收益率(ROCE).

3.1.5 财务风险因子

营运能力因子的目的是衡量公司财务的健康状况,主要包括:债务股本比(D/E)、资产负债率(TDR)、利息覆盖率(ICR)、现金流覆盖率(CFCR)。

3.1.6 流动性因子

营运能力因子的目的是衡量公司股票交易的难易程度,主要指标是换手率(TT),即日均交易额(ADV)除以市值得到。

3.2 技术面因子

潜在的技术因子数以千计,其中绝大多数的技术因子是由过去的价格、成交量数据(例如开盘价、最高价、最低价、持仓量等)以及其他可获得的金融信息所构建的。

技术面因子的一大优势是可以做到实时更新。前面提到的基本面因子最多只能按季度获取,而最新的技术指标每隔几秒就能得到,尽管多数时候日频数据已经能够满足我们的要求了。

比较经典的技术面因子包括动量指标、各种各样的移动平均线以及经移动平均线改进而来的布林带。

更多技术指标,推荐阅读 Steven B.Achelis 的 《Technical Analysis from A to Z 》

链接:Technical Analysis from A to Z Technical Analysis from A to Z

3.3 经济因子

经济因子是指在一定程度上对所有股票的收益率会产生影响的因子,较为主流的经济因子包括GDP增速、收益率曲线斜率、失业率以及通货膨胀率等。

值得注意的是,由于经济因子的发布时间往往晚于其实际对应的期间,因此我们需要针对时滞来调整数据的使用。

3.4 其他因子

其他因子是不能归类为以上三类的因子,包括以下三类:

3.4.1 分析师因子

一般来说,购买上月评级上升的股票或卖出评级下降的股票能够跑赢大盘。

有趣的是,对于那些缺少分析师覆盖的股票,“缺少覆盖”本身可能也是这些股票的优势。有分析表明,缺少分析师覆盖的股票往往有更高的超额收益率。

3.4.2 公司财务政策因子

一般来说,购买刚刚进行了股票回购或内部购买的公司股票会具有正的超额收益率。

3.4.3 社会责任因子

关于社会责任因子,一种观点是是否承担更多社会责任包含了其他信息所不能明显展示的信息,而这或许反映了公司运营中所存在的问题或是未来竞争优势的种子,所以可以考虑放入模型中。

目前最为有效的社会责任因子是雇员关系因子,其他的社会责任因子对公司股价的影响尚无定论。

4. 因子选择

在选择因子时,我们主要用到的方式是回归检验和构建零投资组合检验,此外,我们还会使用简单的相关性统计或肯德尔秩相关性来确定因子之间的相关性。

4.1 回归检验

4.1.1 一元回归检验

一元回归检验的目的在于快速测试单个基本面因子与股票收益率之间是否存在显著的线性关系。基本公式如下:

ri,t=α+λβi,t+ϵi,tr_{i, t} = \alpha + \lambda \cdot \beta_{i, t} + \epsilon_{i, t}

其中,βi,t\beta_{i, t} 为股票 iitt 时刻的因子暴露。

我们的做法是:在每个时间截面,用所有股票的收益率对基本面因子的因子暴露的做横截面回归,重复多个时期,观察回归系数(即因子溢价 λ\lambda )是否持续显著,若 λ\lambda 值持续显著,那么说明该因子在解释股票收益率方面是有效的。

一元回归检验通常是筛选因子的第一步,通过一元回归检验的筛选,我们可以剔除掉那些连单独看都无效的指标。

4.1.2 多元回归检验

对于通过了一元回归检验的因子,我们进一步利用多元回归(multiple regression)来判断同一时间截面因子之间的关系,从而确定模型中具体应当包括哪些因子。多元回归检验的基本公式为:

ri,t=α+λ1βi1,t+...+λKβiK,t+ϵi,tr_{i, t} = \alpha + \lambda_1 \cdot \beta_{i1, t} +...+ \lambda_K \cdot \beta_{iK, t} + \epsilon_{i, t}

其中, KK 为考察的因子数量, βik,t\beta_{ik, t} 股票 iitt 时刻对因子 kk 的因子暴露。

进行多元回归检验之后,所有不显著的因子都将被剔除,而显著的因子则会进入因子模型。

需要注意的是,虽然多元线性回归可以同时处理多个因子,但我们仍然应当将解释变量的数据KK控制在合理的数量范围内(一般应当小于10个),否则会因为设定偏误(misspecification bias)而造成误导性的统计推断(Simple is powerful)。

同时,需要再次强调,我们在这里也需要避免任何形式的数据挖掘。选择因子最好的方法始终是基于理论,并从理论中寻找足够有力的解释。

4.2 零投资组合

4.2.1 零投资组合的基本流程

零投资组合的基本思想是:我们可以基于因子来构建零投资组合,进而研究该投资组合的特征。

具体来说,我们会进行以下操作:

(1)将股票池中的股票,依据其对目标因子的因子暴露大小分成若干份(常见的分类为3份、5份和10份);

(2)用第一个分位中的股票构建一个等权重组合(第一组),用最后一个分位中的股票构建另一个等权重组合(最后一组);

(3)通过买入第一组并卖空最后一组来构建“零投资组合”,计算该零投资组合的收益率及其显著性(方法见4.2.2),若该零投资组合的收益率显著性不为零,则说明该因子有效。

之所以该方法被称为零投资组合(zero-investment portfolio),是因为从理论上来说(不考虑税费、保证金等其他费用),同时买入并卖空等市值的股票不需要任何资本。

4.2.2 判断收益率显著性的方法

统计检验判断平均收益率是否显著不为0的方法是 tt 统计量检验:假设我们计算了 TT 期的零投资组合收益率并得到了 r1r_1 , r2r_2 ... rTr_T ,那么 tt 统计量的计算如下:

t^=rˉS^(rˉ)=rˉT1T1s=1T(rsrˉ)2\hat{t} = \frac{\bar{r}}{\hat{S}(\bar{r})} = \frac{\bar{r}\sqrt{T}}{\sqrt{\frac{1}{T-1}\sum_{s=1}^{T}(r_s - \bar{r})^2}}

其中, rˉ\bar{r} 为样本均值, S^(rˉ)\hat{S}(\bar{r}) 为均值的标准误。

严格来说,我们应当通过查询 tt 统计表确定显著性,但一个很好的经验法则是:如果 tt 统计量的绝对值大于2,则可以认为因子在统计上是显著的

4.2.3 一维与多维零投资组合

和回归检验类似,根据因子数量多少,我们将零投资组合分为一维零投资组合(仅一个因子)与多维零投资组合(多个因子)。

多维零投资组合可以更好地衡量因子组合的显著性,但构建方法和一维零投资组合基本一致。

假设存在两个因子,对于每个因子,我们将股票池分为5组,这样一共有5*5=25个组合,我们根据需要,对这25个组合构建零投资组合即可。

4.3 减少因子数量的方法

我们通过一些方法可以判断因子之间是否高度相似,如果存在高度相似的因子,则我们就可以排除掉冗余因子,进而提高模型的简洁性。

我们这里主要介绍两种检测相关性的统计量:皮尔逊相关系数肯德尔秩相关系数

4.3.1 皮尔逊相关系数

皮尔逊相关系数(Pearson Correlation Coefficient)基于简单相关性,其公式为:

ρXY=Cov(X,Y)σXσY\rho_{XY} = \frac{Cov(X, Y)}{\sigma_X \sigma_Y}

展开后为:

ρXY=i=1n(xixˉ)(yiyˉ)i=1n(xixˉ)2i=1n(yiyˉ)2\rho*{XY} = \frac{\sum*{i=1}^{n}(x*i - \bar{x})(y_i - \bar{y})}{\sqrt{\sum*{i=1}^{n}(x*i - \bar{x})^2} \sqrt{\sum*{i=1}^{n}(y_i - \bar{y})^2}}

其中, xˉ\bar{x}XX 的均值, yˉ\bar{y}YY 的均值。

皮尔逊相关系数的取值范围为:

1<=ρ<=1-1 <= \rho <= 1

4.3.1.1 皮尔逊相关系数的理解

皮尔逊相关系数实际上是在衡量两个变量是否沿着一条直线变化

例如,若两个变量完全保持正向线性:

XY
12
24
36

ρ=1\rho = 1

若两个变量完全随机,则 ρ0\rho ≈ 0

4.3.2 肯德尔秩相关系数

肯德尔秩相关系数(Kendall Rank Correlation Coefficient)基于秩相关性。它不关心数值大小,而只关心排序是否一致

4.3.2.1 计算方法

对于任意两个样本点:

(xi,yi),(xj,yj)(x_i,y_i),(x_j,y_j)

(xi,yi)(xj,yj)>0(x_i,y_i)\cdot(x_j,y_j) > 0

则称为一致对(concordant pair)

(xi,yi)(xj,yj)<0(x_i,y_i)\cdot(x_j,y_j) < 0

则称为不一致对(discordant pair)

设:

  • C = 一致对数量
  • D = 不一致对数量

则:

τ=CDn(n1)2τ = \frac{C-D}{\frac{n(n-1)}{2}}

其中 n(n1)2\frac{n(n-1)}{2} 是所有样本对数量。

肯德尔秩相关系数的取值范围同样为:

1<=τ<=1-1 <= τ <= 1