第二章-因子投资方法论

前面提到,因子是一个抽象概念,它不是因子收益率λ,也不是某个变量。
那么,对于定价模型βiλ,因子暴露和因子收益率怎么计量呢?此为实证因子检验所要解决的问题。
要解决这个问题,要用到变量值,此时称变量为构造因子的变量。

投资组合排序法

围绕估值这类股票的财务信息,或是量价数据构建的因子为风格因子,它是所有股票内生性的、共有的。风格因子适用于排序法。与此相对的,GDP、供应链等宏观、另类数据,不适用于排序法。
排序法是根据某个变量,将股票排序,构建投资组合。实际上用个股的变量值大小代替了其在因子上暴露的高低。
比如价值因子,采用账面市值比BM为排序变量构建。BM高的股票,是低估值股票,未来可能有更高的收益率。

单变量排序

具体操作方法如下:

  1. 排序:首先确定股票池,并将股票池中的全部股票在截面上按照排序变量的取值,从高到低(或反之,根据变量性质确定)将股票排序。
  2. 分组:按排名高低将全部股票分为L组。做多排名最高的股票组合,同时做空排名最低的股票组合,构造多空对冲的股票组合。这个股票组合的多空收益率,即作为因子收益率。
  3. 定期更新:定期完成以上两步,更新股票组合,称为再平衡(rebalance)。在时间序列上反复进行,即得到因子收益率的时间序列λt
    接着以价值因子为例,选择股票池后,将股票按照BM变量分成10组。BM最高的变量为H组,BM最低的变量为L组,因子收益率用H组减去L组得到。这样反映的就是估值带来的收益。

独立双重排序

资产收益往往受到多个因子的影响。为了排除其他因子的干扰,需要进行多重排序。
考虑两个排序变量X1X2,将股票按这两个变量排序分别得到L1L2组,一共得到L1×L2个组合。

这样,若要观察X1的表现,可以纵向、横向对比。比如,X1为BM变量,X2为市值变量,则X1高组为低估值组合,低估值组合理应有较高的未来收益率,但是它是否受市值的影响呢?于是可以观察P11P15,看低估值在大公司里表现好还是在小公司里表现好。
X1代表的因子收益率计算如下:

λX1t=1L2(j=1L2P1jj=1L2PL1j)

类似的,X2代表的因子收益率计算如下:

λX2t=1L1(i=1L1Pi1i=1L1PiL1)

条件双重排序

与独立双重排序相比,条件双重排序有先后顺序。先按照某一个变量排序,再在每一个组内排序。
独立双重排序的组有可能为空,但是条件双重排序的组不会。

多因子模型回归法

时间序列回归

λt表示t期因子收益率向量,Rie为资产i在t期的超额收益率,这二者在时序上满足如下线性关系:

Rite=αi+βiλt+ϵit,t=1,2,...,T

因子收益率$ { \lambda_t }\epsilon_{it}i { R_{it}^e } { \lambda_t }iOLS\hat{\alpha_i}\hat{\beta_i} { R_{it}^e } { \lambda_t }$在时序上取平均,可得:

ET(Rie)=αi^+βi^λ^,i=1,2,...,N

截面回归

因子收益率已知只适合于风格因子。若不能确定因子收益率,用截面回归。

  1. 第一步:得到因子暴露
    假设t期一组因子的取值为ft=[f1t,f2t,...,fKt]。首先通过以下回归得到因子暴露的估计:

    Rite=ai+βift+ϵit,t=1,2,...,T

  2. 第二步:截面回归
    以第一步得到的因子暴露为解释变量,以各资产收益率在时序上的均值为被解释变量,构建回归:

    ET(Rie)=βi^λ+αi,i=1,2,...,N

    得到因子收益率的估计λ^
    实际上很少用。有个BUG:ft是怎么来的?

Fama-MacBeth回归

  1. 第一步:得到因子暴露
    与截面回归第一步相同。
  2. 第二步: Fama-MacBeth截面回归
    上面的截面回归是:先平均,再回归
    此处的截面回归是:先回归,再平均
    在每个时间点t,以t期的收益率Rite为因变量,以βi^为自变量,建立回归模型:

    Rite=βiλt+αit,i=1,2,...,N

    得到因子收益率在t期的估计λt^,再在时序上取均值:

    λ^=1Tt=1Tλt^

    αi^=1Tt=1Tα^it

巧妙之处在于,通过这种方式可以得到T个因子收益率样本,从而方便进行统计检验。

工具变量

在截面回归和Fama-MacBeth回归中,因子暴露是通过第一步回归来估计的。近年来发现用公司本身特征变量代替因子暴露的效果就很好。
这看起来很自然而又很方便。也回避了上面想不明白的BUG。

截面回归可以得到纯因子组合权重矩阵

在做资产组合时,假设给定每个股票的权重向量w,则该资产组合的收益率计算如下:

(1)wR=w1R1+w2R2+...+wNRN=[w1,w2,...,wN][β11β21...βK1β12β22...βK2............β1Nβ2N...βKN][λ1λ2...λK]

若存在一个向量,使得:i,wkβik=0;ji,wkβjk=1,即只有一个因子有为1的暴露,其他因子暴露均为0,则称这样的权重向量为纯因子组合权重向量。
易知,纯因子组合的收益率即为该因子的收益率,因此纯因子组合权重很重要。
而在截面回归ET(Rie)=βi^λ+αi中,因子收益率的估计为:

λ^λ^=(β^β^β^β^)1β^β^ET(ReRe)

Ω=(β^β^β^β^)1β^β^,可以发现:

Ωβ^=(β^β^)1β^β^β^Ωβ^=(β^β^)1β^β^β^=I

所以,Ω就是纯因子组合权重矩阵,其每一行就是一个纯因子组合权重矩阵。

实证因子检验

数据预处理

  1. 股价复权
    前复权:保持当前价格不变,调整历史价格,适合看盘
    后复权:保持历史价格不变,调整当前价格,后复权价格会与当前真实价格产生差距

  2. 财务报表调整
    财务报表调整,会产生多个财务数据,按照“在当前时点利用可得的最新信息”这一原则使用数据。
    可参考https://xueqiu.com/9103835084/122956701
    为了清除未来数据,RQData重算了300多个衍生财务指标https://xueqiu.com/7381621247/144995202

  3. 因子数值预处理
    因子的预处理对因子的效果有非常明显的影响,一般对因子的预处理包括缺失值填补、异常值处理等。
    缺失值填补,一般填0或者填横截面均值,财务数据一般向前填充。

    • 异常值处理包括异常样本的处理和离群值的处理
      • 异常样本包括新股、ST、PT等。比如新股可以定义为上市未满一年的股票,去掉每一期的新股和PT、ST等股票,有时也会考虑ST摘帽不满一年也踢掉。
      • 离群值为一些非常大或者非常小远超出正常范围的值,异常值产生的原因千奇百怪,这里不做总结,这里对离群值处理直接做winsor,即超出5%和95%分位数的点,拉到这两个分位点。
  4. 行业中性化
    因子中性化主要是为了剔除因子在行业和市值上的特异性,让因子在行业和市值上可比。每个行业的因子大小和稳定性是有明显差异的,所以如果直接构建组合,结果会明显集中于部分行业。
    有时除了这两个之外,也会考虑更多因素,做一些风格中性化,或者说正交化。

    • 中性化操作有两种
      • 用因子值对市值和行业虚拟变量做回归,取回归的残差,因为回归残差和自变量之间是相互正交的

        Factori=j=1nβjIndustryj,i+σi

        其中,Factori为股票i的因子,Industryj,i为行业虚拟变量,若股票i属于行业j,则为1,否则为0。
      • 对行业虚拟变量回归去残差和在行业内减去均值,除以标准差
      • 两者的效果是一样的

因子描述性统计

可以从因子的分布视角分析:

  1. 因子按时间分布
    • 年度
    • 月度
    • 日度
  2. 因子按行业分布
    • 分析哪些行业的因子暴露度高
    • 与IC行业分布结合起来看
      可以从因子自相关性视角分析,这是因子的时序特征。
      因子的自相关性主要是反映因子整体的稳定性,或者说因子的动量特征,如果因子的正自相关性很高,说明这个因子的持续性会很好,强者恒强,可以合理预期组合的换手会很低,负相关性很高则反之。

信息系数IC与信息比率IR

因子的信息系数IC(Information Coefficient)定义为因子值和股票未来某一期的收益率之间的相关关系,即有:IC=Corr(rt+n,ft),这里是Pearson相关系数。
又为了防止因子值当中的异常值对IC造成影响,引入Spearman相关系数方式计算IC,称为RankIC,这是非参数统计中的秩相关系数,计算方法如下:

ρ=i=1N(r(xi)r(x))(r(yi)r(y))i=1N[r(xi)r(x)]2i=1N[r(xi)r(x)]2

经过简化后,可得:

ρ=16i=1Ndi2N(N21)

其中,di=r(xi)r(yi)
因子的信息比率IR(Information Ratio),是因子IC的均值与标准差之比,代表因子获取稳定Alpha的能力。

IC信号衰减

因子所包含的信息在市场当中有时效性,一般情况下,随着时间的之后,因子的IC值会逐步下降。
IC信号衰减可以通过计算当前因子值与滞后n期的收益率计算,一般用IC半衰期来衡量IC衰减的快慢,即IC降为当前值一半所滞后的期数。

因子收益率检验

用排序法得到因子收益率序列λt后,则可以计算因子收益率均值和标准差:

λ^=1Tt=1Tλt

σ(λ)=1Tt=1T(λtλ^)2

在因子收益率为0的原假设下,进行t检验。

对于Fama-MacBeth回归法得到的因子收益率序列,也可以用类似的方法检验。

posted @   superzzh  阅读(32)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示