第二章-因子投资方法论
前面提到,因子是一个抽象概念,它不是因子收益率
那么,对于定价模型
要解决这个问题,要用到变量值,此时称变量为构造因子的变量。
投资组合排序法
围绕估值这类股票的财务信息,或是量价数据构建的因子为风格因子,它是所有股票内生性的、共有的。风格因子适用于排序法。与此相对的,GDP、供应链等宏观、另类数据,不适用于排序法。
排序法是根据某个变量,将股票排序,构建投资组合。实际上用个股的变量值大小代替了其在因子上暴露的高低。
比如价值因子,采用账面市值比BM为排序变量构建。BM高的股票,是低估值股票,未来可能有更高的收益率。
单变量排序
具体操作方法如下:
- 排序:首先确定股票池,并将股票池中的全部股票在截面上按照排序变量的取值,从高到低(或反之,根据变量性质确定)将股票排序。
- 分组:按排名高低将全部股票分为
组。做多排名最高的股票组合,同时做空排名最低的股票组合,构造多空对冲的股票组合。这个股票组合的多空收益率,即作为因子收益率。 - 定期更新:定期完成以上两步,更新股票组合,称为再平衡(rebalance)。在时间序列上反复进行,即得到因子收益率的时间序列
。
接着以价值因子为例,选择股票池后,将股票按照BM变量分成10组。BM最高的变量为H组,BM最低的变量为L组,因子收益率用H组减去L组得到。这样反映的就是估值带来的收益。
独立双重排序
资产收益往往受到多个因子的影响。为了排除其他因子的干扰,需要进行多重排序。
考虑两个排序变量
这样,若要观察
类似的,
条件双重排序
与独立双重排序相比,条件双重排序有先后顺序。先按照某一个变量排序,再在每一个组内排序。
独立双重排序的组有可能为空,但是条件双重排序的组不会。
多因子模型回归法
时间序列回归
令
因子收益率$ { \lambda_t }
截面回归
因子收益率已知只适合于风格因子。若不能确定因子收益率,用截面回归。
- 第一步:得到因子暴露
假设t期一组因子的取值为 。首先通过以下回归得到因子暴露的估计: - 第二步:截面回归
以第一步得到的因子暴露为解释变量,以各资产收益率在时序上的均值为被解释变量,构建回归:得到因子收益率的估计 。
实际上很少用。有个BUG: 是怎么来的?
Fama-MacBeth回归
- 第一步:得到因子暴露
与截面回归第一步相同。 - 第二步: Fama-MacBeth截面回归
上面的截面回归是:先平均,再回归
此处的截面回归是:先回归,再平均
在每个时间点t,以t期的收益率 为因变量,以 为自变量,建立回归模型:得到因子收益率在t期的估计 ,再在时序上取均值:
巧妙之处在于,通过这种方式可以得到T个因子收益率样本,从而方便进行统计检验。
工具变量
在截面回归和Fama-MacBeth回归中,因子暴露是通过第一步回归来估计的。近年来发现用公司本身特征变量代替因子暴露的效果就很好。
这看起来很自然而又很方便。也回避了上面想不明白的BUG。
截面回归可以得到纯因子组合权重矩阵
在做资产组合时,假设给定每个股票的权重向量
若存在一个向量,使得:
易知,纯因子组合的收益率即为该因子的收益率,因此纯因子组合权重很重要。
而在截面回归
令
所以,
实证因子检验
数据预处理
-
股价复权
前复权:保持当前价格不变,调整历史价格,适合看盘
后复权:保持历史价格不变,调整当前价格,后复权价格会与当前真实价格产生差距 -
财务报表调整
财务报表调整,会产生多个财务数据,按照“在当前时点利用可得的最新信息”这一原则使用数据。
可参考https://xueqiu.com/9103835084/122956701
为了清除未来数据,RQData重算了300多个衍生财务指标https://xueqiu.com/7381621247/144995202 -
因子数值预处理
因子的预处理对因子的效果有非常明显的影响,一般对因子的预处理包括缺失值填补、异常值处理等。
缺失值填补,一般填0或者填横截面均值,财务数据一般向前填充。- 异常值处理包括异常样本的处理和离群值的处理
- 异常样本包括新股、ST、PT等。比如新股可以定义为上市未满一年的股票,去掉每一期的新股和PT、ST等股票,有时也会考虑ST摘帽不满一年也踢掉。
- 离群值为一些非常大或者非常小远超出正常范围的值,异常值产生的原因千奇百怪,这里不做总结,这里对离群值处理直接做winsor,即超出5%和95%分位数的点,拉到这两个分位点。
- 异常值处理包括异常样本的处理和离群值的处理
-
行业中性化
因子中性化主要是为了剔除因子在行业和市值上的特异性,让因子在行业和市值上可比。每个行业的因子大小和稳定性是有明显差异的,所以如果直接构建组合,结果会明显集中于部分行业。
有时除了这两个之外,也会考虑更多因素,做一些风格中性化,或者说正交化。- 中性化操作有两种
- 用因子值对市值和行业虚拟变量做回归,取回归的残差,因为回归残差和自变量之间是相互正交的其中,
为股票 的因子, 为行业虚拟变量,若股票 属于行业 ,则为1,否则为0。 - 对行业虚拟变量回归去残差和在行业内减去均值,除以标准差
- 两者的效果是一样的
- 用因子值对市值和行业虚拟变量做回归,取回归的残差,因为回归残差和自变量之间是相互正交的
- 中性化操作有两种
因子描述性统计
可以从因子的分布视角分析:
- 因子按时间分布
- 年度
- 月度
- 日度
- 因子按行业分布
- 分析哪些行业的因子暴露度高
- 与IC行业分布结合起来看
可以从因子自相关性视角分析,这是因子的时序特征。
因子的自相关性主要是反映因子整体的稳定性,或者说因子的动量特征,如果因子的正自相关性很高,说明这个因子的持续性会很好,强者恒强,可以合理预期组合的换手会很低,负相关性很高则反之。
信息系数IC与信息比率IR
因子的信息系数IC(Information Coefficient)定义为因子值和股票未来某一期的收益率之间的相关关系,即有:
又为了防止因子值当中的异常值对IC造成影响,引入Spearman相关系数方式计算IC,称为RankIC,这是非参数统计中的秩相关系数,计算方法如下:
经过简化后,可得:
其中,
因子的信息比率IR(Information Ratio),是因子IC的均值与标准差之比,代表因子获取稳定Alpha的能力。
IC信号衰减
因子所包含的信息在市场当中有时效性,一般情况下,随着时间的之后,因子的IC值会逐步下降。
IC信号衰减可以通过计算当前因子值与滞后n期的收益率计算,一般用IC半衰期来衡量IC衰减的快慢,即IC降为当前值一半所滞后的期数。
因子收益率检验
用排序法得到因子收益率序列
在因子收益率为0的原假设下,进行t检验。
对于Fama-MacBeth回归法得到的因子收益率序列,也可以用类似的方法检验。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?