立即注册找回密码

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

手机动态码快速登录

手机号快速注册登录

搜索

图文播报

查看: 212|回复: 5

[分享] 多因子模型的因子有效性检验?

[复制链接]
发表于 2025-5-11 14:26 | 显示全部楼层 |阅读模式

登陆有奖并可浏览互动!

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录 手机动态码快速登录

×
对于多因子模型,检验因子有效性的方法有哪些?

如果采用Barra模型中的结构化风险模型,那么在检验因子有效性的时候是多个因子同时检验还是单个因子单独检验?如果用多个因子同时检验那么是一锅烩?还是有筛选的一部分检测?如果针对单个因子单独检验,那么如何排除相互之间的共线性影响?

如果采用排序的检验方法,同样的,如何排除每个单独因子之间的共线性?
原文地址:https://www.zhihu.com/question/37655954
楼主热帖
回复

使用道具 举报

发表于 2025-5-11 14:27 | 显示全部楼层
此文章或与这个问题有关,但楼上的回答更加通用。

ML阅读笔记-No.016-驯服因子动物园:新因子的测试0.文章信息

文章标题:驯服因子动物园:新因子的测试(Taming the Factor Zoo: A Test of New Factors)
Feng, Guanhao and Giglio, Stefano and Xiu, Dacheng, Taming the Factor Zoo: A Test of New Factors (June 29, 2019). Fama-Miller Working Paper, Chicago Booth Research Paper No. 17-04, Available at SSRN: https://ssrn.com/abstract=2934020  or http://dx.doi.org/10.2139/ssrn.21.934020
PS1:很久没更新论文阅读笔记了。这次选取的论文是资产定价领域的比较重要的进展。作者讲述了一种新的方法,在考虑众多冗余因子的情况下,避免遗漏变量误差,以评估新因子的有效性。文章运用了LASSO,也算是机器学习的文章了。
PS2:后台收到挺多催更的,下次一定更新Barra CNE6(对不起……)
1.文章摘要

我们提出了一种模型选择方法来系统地评估任何新因子,对资产定价的超出现有因子的高维集合所解释的范围的贡献。 我们的方法指出,由于遗漏变量而产生偏差的潜在的模型选择错误,与假设完美变量选择的标准方法不同,在实践中很少发生。 我们将我们的程序应用于最近在文献中发现的一组因子。 虽然这些新因子中的大多数相对于现有因子是多余的,但有一些因子(例如盈利能力),相对于过去提出的数百个因子,具有统计上显著的解释力。 此外,我们表明我们的估计及其显着性是稳定的,而简单 LASSO 选择的模型不是。最后,我们提供了我们程序的其他应用,说明它如何帮助控制因子动物园。
关键词:因子、随机贴现因子、选择后推理、正则化双通估计、变量选择、机器学习、LASSO、弹性网络、主成分分析
2.引言

本文提供了一个框架,用于系统地评估单个因子相对于无数现有因子的贡献,并在此高维环境中进行适当的统计推断。 特别是,本文展示了如何估计和测试任何新因子的横截面预期回报解释力超出高维潜在因子集 的解释力,其中 是可交易或不可交易的因子。本文 假设真正的资产定价模型是近似低维的; 然而,除了相关的资产定价因子外, 还包括对模型没有解释力的多余因子,以及根本没有解释力的无用因子。 本文从 中选择相关因子,并对 在这些因子之外的贡献进行适当的推断。本文的方法可以被认为是对新因子的保守测试,它以现有因子的大维集为基准。
包含少量因子时,要测试 是否有助于解释资产价格,同时直接控制 中的因子:它只需要估计 上随机贴现因子 (SDF) 的载荷,并测试 的载荷是否不同于零 (参见 Cochrane (2009))。 这个做法不仅告诉本文 对横截面定价是否有用,而且还揭示了 的冲击如何影响其他因子的边际效用,这个做法具有直接的经济解释。
然而,当 ht 可能包含数百个因子时,由于维数灾难,估计和测试 SDF 载荷的标准统计方法变得不可行或导致估计不佳和推断无效。 尽管变量选择技术(例如,LASSO)可用于在某些条件下选择正确的变量,从而降低 ht 的维数,但依赖于此结果对估计量的有限样本分布产生非常差的近似值, 除非使用适当的计量经济学方法来明确解释模型选择错误(参见 Chernozhukovet al. (2015))。 这意味着,简单地将像 LASSO 这样的模型选择工具应用于大量因子并检查特定因子是否显着(或者甚至只是检查它是否被选中)并不是可靠方法。
3.方法

3.1.模型设置

文章首先假定了线性形式的SDF(随机贴现因子):

其中,是零贝塔率,是一个的因子向量(被测试的),是一个的因子向量(已有的)。都是去均值的,即为对应形状的SDF载荷(SDF loadings)。
在此基础上,我们假定资产收益率向量为。满足:

其中是一个元素全为1的n维向量(为了对齐维度)。,形状分别为。此外,我们假设的动力学遵循一个标准的线性因子模型:

其中因子载荷矩阵,是公司特质收益,满足
式(2)将资产的预期收益表示为因子的(单变量)协方差的预期回报乘以。资产的期望回报可以等价表示为:

其中,为因子暴露(即多变量贝塔值),为这些因子的风险溢价。SDF载荷和风险溢价通过这些因子的协方差矩阵直接相关,但它们在解释上有很大差异。
一个因子的风险溢价告诉我们,投资者是否愿意为对冲某个风险而支付费用,但它并没有告诉我们,这个因子是否对回报的横截面定价有用。例如,一个因子可以要求一个非零风险溢价,甚至不会出现在SDF中,仅仅因为它与真实的因子相关。正如在Cochrane(2009)中广泛讨论的,要了解一个因子在资产横截面定价时是否有用,我们应该关注它的SDF载荷,而不是风险溢价。
由于SDF载荷和风险溢价之间的联系取决于各因子之间的协方差,因此明确地写出的投影:

最后,对于的估计,必须描述之间的截面依赖性,因此本文将上的截面投影写为:

其中,是一个的向量,是一个的矩阵。是一个的矩阵,代表截面回归的残差。
3.2.Double-Selection LASSO

第一次选择,使用标准的LASSO,搜索中的因子,其协方差对于解释预期回报的横截面是有用的。然后添加第二个选择(也使用LASSO)来搜索第一步中可能遗漏的因子,但是,如果省略第二次选择,将会导致一个大的遗漏变量误差。
从双选择程序的两个阶段中排除的因子必须有较小的SDF载荷,并且其协方差在横截面中仅与感兴趣的因子gt和回报之间的协方差轻度相关。
(1)两次变量选择

(1.a) 对 ht 和收益之间的样本协方差对资产平均收益进行横截面 LASSO 回归:

其中,

对于任意矩阵,有
代表求矩阵的L1范数,即是求矩阵最大特征值的函数。
表示为本步骤中所选因子对应的索引。
(1.b) 对于在中的第个因子(),进行一次横截面LASSO回归。

对于任何矩阵,本文使用分别表示A的第i行和第j列。
这一步确定了那些暴露在横截面中与暴露高度相关的因子。这是双选择算法中关键的第二步,即搜索第一步可能遗漏的因子。但由于它们的协方差特性,仍然可能在的估计中导致较大的遗漏变量偏差。
表示在第次回归中与所选因子高度相关的因子的索引。
(2)选择后估计

使用两个步骤回归的选定因子与资产收益之间的协方差运行OLS横截面回归:

我们将此过程称为双选择(double-selection, DS)方法,而不是单选择(single-selection, SS)(只涉及(1.a)和(2)的方法)。
4.主要实证结果

4.1.评估新的因子

该表报告了对2012-2016年引入的因子相对于截至2011年引入的135个潜在控制因子的贡献的测试。测试资产包括截至2016年公布的750 个3×2双变量分类投资组合。采样周期为1976年7月至2017年12月。对于列(1) - (4),显示了SDF载荷的估计值,和t统计量。第一列使用了双选择(DS)方法,即本文的基准。所选择的调优参数是使用200个随机种子进行10折交叉验证的选择的平均值。第二列使用仅控制第一阶段模型的单选择(SS)方法。第三列使用FF3因子作为控制。第四列使用所有因子作为控制,不使用降维技术,并使用简单的OLS。最后一列报告了每个可交易因子的风险溢价。


第一列报告了我们的主要结果——自2012年以来引入的因子的SDF载荷的估计值,以及通过我们的DS程序获得的相应的t-统计量。大多数新因子在统计上显得不重要——因此,我们的测试认为,相对于截至2011年引入的因子,它们是冗余的或无用的。然而,我们仍然发现了一些重要的因子来解释横截面收益,因为他们的估计与零有显著的不同:特别是,盈利能力非常显著(HXZ版本和FF版本都是正确的)。HXZ的投资因子也很重要,intermediary investment和QMJ也是如此,所有其他因子在统计学上似乎都不显著。这些结果表明,我们的DS方法可以区分有用的和冗余的因子,即使控制集包含数百个因子。
综上所述,表1显示了选择哪些因子作为控制,使用哪些计量经济学方法进行估计,对关于SDF负载和因子有效性的结论有很大的影响。本文提供的理论分析和仿真结果表明,DS方法允许研究人员在考虑效率损失的同时,充分利用现有的因子动物园中的信息,而不引入偏差。


该图报告了表1中测试的控制因子选择率(即通过交叉验证的双重选择程序的第一步选择的因子)。图中显示了每个因子(在X轴上,每个点对应因子的ID),通过200个随机种子交叉验证选中的比例。
图1显示了,对于每个因子(由其ID区别),在200个套索选择的模型中,每个因子出现的比例。图中显示了模型选择步骤中的显著可变性。在135个因子中,只有SMB在70%以上的情况下被选中。相反,大多数因子在1%到20%的情况下中被选择中,但在其他模型中没有被选中。LASSO显然很难确定哪些因子是正确的。这个实验提醒你不要使用简单的LASSO来决定一个因子是否应该包含在SDF中。广义上说,没有一种机器学习方法可以可靠地确定真正的模型。
4.2.递归地评估因子

该表报告了从1994年到2016年的递归因子测试的结果。我们使用每篇论文发表年份之前的数据来测试这些因子。对于每年t,第(1)列报告该时间点可用于测试的测试资产数量,并根据此之前发布的特征进行排序。第(2)栏报告了时间t中可用的控制因子的数量,即根据在那之前公布的因子中潜在控制因子的数量。第(3)列显示了每年与数据发布的因子的id。然后,我们只使用发布年份t之前的数据,测试每个新因子是否有助于解释资产价格相对于前几年公布的因子。根据我们的双选择测试,每次该因子出现显著和稳健时,我们都会强调第(3)列中的id。所选择的调优参数是使用200号随机种子进行10折交叉验证的选择的平均值。


结果表明,如果我们的DS测试从1994年开始逐年应用,只有17个因子被认为是有用的,而且绝大多数因子被认为是冗余或无用的。
5.稳健性检验

5.1.方法稳健性

在本节中,我们将进一步探讨我们的结果的稳健性,关于用于估计的测试资产和用于选择控制因子的机器学习方法。与之前一样,我们将稳健性测试的重点放在最近因素的评估上(表1)。


该表报告了2012-2016年引入的因子相对于2011年引入的135个因素的稳健性测试。为了方便起见,第一列显示了与表1的第一列相同的结果。第二列显示了使用双变量排序的5×5投资组合的结果,第三列使用了202个下载的投资组合。在第四列中,我们使用弹性网选择控制因子使用双选择方法。在第五列中,我们使用双选择方法使用因子的主成分作为对照。所选择的调优参数是使用200个随机种子进行10倍交叉验证的选择的平均值。在最后一列中,我们在双选择过程中使用正向逐步回归代替LASSO。
5.2.超参数稳健性

这些图提供了2012-2016年引入的因子的DS测试的热图,如表1的第一列。本测试使用了广泛的调整参数,在X轴上为第一个LASSO的参数,在Y轴上为的第二个LASSO的参数。热图上显示了不同模型中每个因素的t-统计量。这些点是200个时间序列交叉验证估计的结果。红色的“×”是200个黑点的平均值,对应于表1中使用的模型。




6.文章结论

在本文中,本文提出了一种正则化的双横截面回归方法来建立一组因子相对于一组控制因子对资产定价的贡献,其中潜在的控制集可以具有高维度,并包含无用或冗余的因子。本文的程序使用最近的模型选择计量经济学技术(特别是Bellonietal.(2014b)的双选择程序),来系统地从大量因素中选择最佳控制模型,同时明确地考虑模型选择错误。本文的结果是相当令人鼓舞的。
回复 支持 反对

使用道具 举报

发表于 2025-5-11 14:27 | 显示全部楼层
选股因子有效性的检验,一般检验方法主要采用排序的方法检验候选因子的选股有效性。例如:可以每月检验。
具体而言,对于任意一个候选因子,在模型形成期的第一个月初开始计算市场中每只正常交易股票的该因子的大小, 按从小到大的顺序对样本股票进行排序,并平均分为 n 个组合,一直持有到月末,在下月初再按同样的方法重新构建 n 个组合并持有到月末,每月如此,一直重复到模型形成期末。
上面的例子就已经说明了这种检验的方法,同样的可以隔 N 个月检验,比如 2 个月, 3 个月,甚至更长时间。还有一个参数是候选组合的数量,是 50 支,还是 100 支,都是非常重要的参数。具体的参数最优的选择,需要用历史数据进行检验。
推荐阅读:
AQ量化:多因子选股——七因子截面分析策略
回复 支持 反对

使用道具 举报

发表于 2025-5-11 14:28 | 显示全部楼层
1 多因子模型简单介绍

预测未来哪支股表现好回报率高,往往需要一个或多个我们可以获得的指标,将它们与未来的股票表现建立联系,进而引导我们的投资。其实质是用变量对股价的波动情况进行拟合,一般而言一个因子是远远不够的。因此今天我们选取多个因子,给它们配以一定的权重合成一个终极因子,用此终极因子来与股票未来收益率建立某种联系,制定出我们的策略,并用历史数据进行检测。
指定多因子策略,我所理解的核心问题就只有两个: <1>哪些因子   <2>因子的权重
2 因子的选取

根据影响市场的情况,我们为了赋予因子可解释的意义,将因子分为以下N类(可能会不全):
<1>估值类因子:PB,PE,PS…代表着市场对于公司价值和表现的预估
<2>盈利类因子:ROA,ROE,Gross Margin…代表着公司的盈利能力
<3>成长类因子:Profit_Growth_Rate,Asset_Growth_Rate…代表着公司的成长能力
<4>波动类因子:股价收益率在一定时间内的标准差…代表着股价的波动情况
<5>情绪类因子:换手率…代表着市场对这支股票的‘情绪’
<6>动量类因子…
<7>分析师类因子…
<8>价值类因子…
在此,我们分别选择EP(市盈率倒数),ROE,TotalProfitGrowRate作为我们的因子(可自行选择),来进行演示。

3 因子的权重

因子的权重有多种分配方式(等权,按照近期IC的平均值,按照线性回归系数,人为分配…)根据你想实现的目的而异。
想追求高收益,低风险,最大回撤小…都有着不同的因子权重分配方式,而且有高人不断探索中…
在此,我们探索目前市场上人们都说的表现极好的一种多因子加权方式:
基于IC的IR最大化(究极因子的IC在过去一段时间的平均值除以IC的方差最大)。
什么意思?假设有n个因子:
在某一时刻


这样得到的多因子权重,可以使得终极因子对于未来收益率的相关性保持比较高而且比较稳的性质。
由于我们本次的策略是月度调仓,所以选择过去六个月(120天)来进行某因子IC均值的计算,这样可以保证:
时间不短,协方差矩阵有效反映事实;
时间不长,对于未来不长的时间也有较准确的预测作用。
因此我们来看看代码用这种方法来实现多因子权重的确定以及回测过程。


3.1多因子的提取(EP,ROE,TotalProfitGrowRate)

时间时长为2012-06-12到2017-06-12这五年

月度调仓,但是IC按照日度进行计算



查看完整代码请前往优矿量化社区




查看完整代码请前往优矿量化社区






3.2多因子IC(相关系数)的相关计算(pearson系数,按照rank计算)




查看完整代码请前往优矿量化社区




查看完整代码请前往优矿量化社区












查看完整代码请前往优矿量化社区










查看完整代码请前往优矿量化社区






3.4计算alpha和beta


查看完整代码请前往优矿量化社区




结论:

可以看出,表现最好的是第五组分位数测试,证明这组因子构成的终极因子与未来收益率呈反比关系。
除了第五组和第一组之外,其余组数表现较为接近,还是可以一定程度说明此多因子模型具有比较好的单调性。
对于把因子归1化并按照因子进行投资的方式,只是我为了保证因子在0到1的范围内的一种方法。也可以对因子进行不同角度的处理,从而确定投资权重。
从alpha和beta的计算可以看出,alpha为22%,很大,beta为1.0839,受市场有一定程度的影响。和图像反应给我们的信息是一致的。(alpha很大,而且策略的收益和市场收益很相似。)
总而言之,按照这种加权方式的多因子策略,可能随着因子选择的不同而差异比较大。
但是总得来说,这种加权方式是根据历史最近一段时间内的真实情况给出的权重,对于较短的将来有不小的借鉴意义,表现不会太差。

本文作者:第几个一百天
回复 支持 反对

使用道具 举报

发表于 2025-5-11 14:28 | 显示全部楼层
这篇是依据丁鹏老师一本书上的理论方法做的实证检验,数据从09-15年,发表在我的专栏文章,供参考
【研究】量化选股-因子检验和多因子模型的构建 - 神秘的宽客们 - 知乎专栏
回复 支持 反对

使用道具 举报

发表于 2025-5-11 14:29 | 显示全部楼层
毕业论文就是做的多因子模型。最近工作也在进一步研究。
先简单说一下,有空细说。
如果采用Barra模型中的结构化风险模型,那么在检验因子有效性的时候是多个因子同时检验还是单个因子单独检验?如果用多个因子同时检验那么是一锅烩?还是有筛选的一部分检测?

我的做法是,先单因子检验,剔除不显著的因子。然后用逐步双向F检验确定因子,最好的结果是双向确定的因子相同。
如果针对单个因子单独检验,那么如何排除相互之间的共线性影响?如果采用排序的检验方法,同样的,如何排除每个单独因子之间的共线性?

这个在Barra的文章中有提到的,在检验前要进行因子间的正交化,比如size和nonlinear-size如果不进行正交化过滤的话,VIF会非常高。
嗯,先这样,去搬砖了。
回复 支持 反对

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册 微信登录 手机动态码快速登录

本版积分规则

关闭

官方推荐 上一条 /3 下一条

快速回复 返回列表 客服中心 搜索 官方QQ群 洽谈合作
快速回复返回顶部 返回列表