量化百科

多因子模型水平测试题试答(因子部分)

由polll创建,最终由polll 被浏览 140 用户

前一段时间,李腾、陈烨、邓岳、陈志岗几位老师在知乎上发布了一份多因子模型的测试题,其中囊括了多因子建模过程中大部分需要考虑的理论和实践问题:

多因子模型水平测试题 - 科学投资 - 知乎专栏

在过去几个月时间,RQ量化策略团队对这套经久不衰的量化模型进行了系统研究,相关的产品项目也即将发布。我打算通过回答这份测试题的形式,分享这个过程中获得一些经验和想法。由于题目众多,在这里先对测试题的第一部分的问题进行试答,希望对大家有所帮助。

*************** 多因子模型测试题回答开始 ***************

问题2: 常见的因子类别?

答:我个人倾向于以下简单的分类方式:量价因子、基本面因子和外部响应因子。

量价因子包含一些简单的指标,例如成交量、换手率和日内最高/最低价等;有一些量价因子则较为复杂,例如一些技术分析因子和数据挖掘得到的统计因子;

基本面因子通常是一些反映企业经营状况(市盈率、负债率等)和经营特征(行业因子)的变量。其包括来自于企业自身公布的报表,也可以是其它专业机构发布的一致预期预测(Consensus Forecast)。

外部响应因子则取决于交易选择的证券池。例如如果一个机构是只做股票类证券的交易,那么和债券市场相关的指标对他们而言就是外部响应因子;如果一个机构是做全球资产配置,涉及多个市场和不同类型的证券,那么像某些国家和地区的通胀率、GDP等,对这个机构来说才是外部响应因子。

问题1: A股市场驱动因子能分为哪几大类?

答:因子分类同问题2。

以上三类因子应用于A股市场各自存在优缺点:

量价因子通常对行情变化非常敏感,能够有效捕捉市场的趋势,但简单因子因为广为人知,其影响早已体现在证券价格中(有效市场理论);一部分技术分析因子由于流传甚广,可能存在一定的自我实现效应,但同样地,其影响可能已体现在证券价格中;而另一部分技术分析的描述接近于玄学,存在一定的模糊性;通过数据挖掘获得的,意义不明的统计因子容易出现多重比较谬误(multiple comparison fallacy)的问题。

基本面因子通常被做长期资产配置或者信奉价值投资理念的投资者采用。而在应用中过程中,存在以下困难:1 基本面因子数据获得时间点不统一(取决于企业发布报表的时间和机构发布预测的时间);2 相比量价因子,其数据噪声大、缺失值多,数据质量取决于审计机构的专业性和企业的诚信程度;3 因子取值的分布通常远远偏离正态分布,对于离群值的判断不能用标准差这个常用的统计量; 4 一致预期的数据采集难度较大。

外部响应因子在某些情况下有很强的解释力,但在建模过程中,由于不同因子的量纲千差万别,通常要先估计其响应系数,因此会引起变量误差(error-in-variables)的问题,另外,部分外部响应因子来源于政府发布的数据,其可能存在采样质量差,而且数据被人工删改等问题。

问题3: 除了最常用的回归法,还有没有其他方法可以进行单因子测试?各自优劣是什么?

答:在不使用回归的前提下,如果我们希望测试单因子对于预期收益率的预测能力:

1 直接计算其信息系数(Information Coefficient,IC),并应用精炼预测公式(refined forecast)进一步预测其效果;

2 构建因子对应的投资组合,其构建方法可以简单也可以复杂,例如选择不同的证券池和不同的中性化处理方法,计算其累计收益率;

3 如果希望捕捉非线性关系,也可以考虑使用距离相关系数(distance correlation)或者最大信息系数(Maximum Information Coefficient)等统计量。但任何非线性关系的分析和应用都存在过拟合的风险。

在不使用回归的前提下,如果我们希望测试该因子是否适合于风险预测模型:

可以计算该因子的自相关系数、和模型其它因子的共线性程度、和基准组合的相关程度等。

问题4:单因子测试是否需要纠正版块、市值偏离等问题?如何纠正?

答:对于收益预测而言,是否需要纠正取决于你对该因子的判断。如果你认为该因子对于行业的预期收益率没有预测能力,就应该实现行业中性,反之不应该实现行业中性;市值偏离是否需要纠正亦是同理。

对于基于净值的业绩归因而言,中性化处理是必须的。市场和市值和影响力很大,不进行中性化处理的话,因子之间的共线性会导致系数估计的方差变大。

问题5:行业归属因子是否应选择动态变化的数据?

答:应该。答案如几位老师所言,不使用动态数据会出现使用未来数据的问题。

问题6:混业经营的上市公司,其行业因子有哪些处理方式?利弊?

答:对于混业经营的上市公司,其行业因子不能简单使用取值为 0 或 1 的哑变量(dummy variable)来表示。此时对行业因子暴露度的处理有两个思路:

1 继续使用哑变量代表行业因子,而虚拟变量的权重可以直接使用等权重,或通过一些财务数据分析来确定;

2 不再使用哑变量,而使用连续变量表示行业因子。其暴露度可以通过该上市公司的收益率对行业收益率做多元回归决定。

第 1 种方法受数据噪音干扰减少,但可能存在欠拟合(underfitting);第 2 种方法受数据噪音干扰较大,可能存在过拟合的问题。而且选择什么变量进行回归存在主观性。

问题7:行业因子采用GICS、证监会、申万、中信等第三方数据更好?还是利用相关性、聚类分析等算法来动态确定更好?各自利弊?

答:就其使用而言,行业因子一般都是模型中风险控制的维度。它的选择应当符合市场上大部分投资者的认知。我个人的观点是,用复杂统计分析或机器学习来构建行业因子一来没有必要,二来由于引入额外的数据和分析步骤,模型的误差也会随之增加。

问题8:规模因子(Size,也叫市值因子)为什么在中国具有如此重大的影响?选择长期暴露小盘股有哪些利弊?

答:就一般而言,中国A股市场的四个特点导致小盘股更受青睐,市值因子影响巨大:

1 证券市场不规范,内幕交易盛行。部分机构投资者(所谓庄家)和公司股东存在不当的合作关系,利用小盘股股价易于操纵的特点获利;

2 相比成熟的证券市场,中国股票市场个人投资者比例偏高,个人投资者而且对股票市场的认识不成熟,希望通过投资股价变化更快的小盘股短时间内获利;

3 大盘股对应的通常为大型国有企业,其分红意愿不强,投资者难以通过价值投资的方式获得收益;

4 此外,《主动投资组合管理》的一个理论分析和模拟给出了一个很有意思的角度:如果做空个股受限,只能通过基准组合实现对冲的话,阿尔法对冲策略的优化结果通常是在小盘股上持有正头寸,而在大盘股上持有负头寸。这个结论也适用于A股市场。

问题9:市值因子应该怎么取?取市值本身、市值对数、市值平方根有什么区别,哪种更好?你认为流通市值和市值哪个信号更强?

答:取市值平方根计算或市值对数,会减少个股之间市值暴露度的差距。具体哪一种因子计算方式更好,流通市值还是市值哪一个更好,可以通过因子测试验证。就直觉而言,流通市值是一个更能精确地反映股票市值变化的变量,效果可能更好。

问题10:换手率应该怎么计算?如遇长时间停牌,如何处理?

答:换手率一般定义为 交易量/流通股本。由于换手率一般是衡量股票流动性的指标,所以根据多因子模型的调整频率,可以用周换手率、月换手率或年换手率作为指标或者流动性因子。

对于长时间停牌的股票,我个人认可的处理方法是剔除该股票。因为停牌通常意味着有重大消息要发布,其复牌后的收益出现异常波动的可能性较大。这种消息面因素导致的特异收益 (specific return) 通常是无法被多因子模型解释的,所以会给模型的参数估计带来额外噪音。

问题11:若某一因子包含长期平均数据(比如5年平均净利润),而中间有数据缺失的片段(比如最近5年中有2年的年报缺失),应该如何处理?现有两种参考方法:设为空值,或取现有数据的平均值充作长期均值。哪种更好?还是无所谓?

答:作为例子,假设我们在处理一个盈利因子,其第2,3年的数据缺失,考虑三种情况:1 存在缺失值的企业盈利线性增加;存在缺失值的企业盈利线性减少;存在缺失值的股票经营情况来回波动。

如果企业盈利线性增加,剔除缺失值再取平均会导致盈利因子暴露度被高估;

如果企业盈利线性减少,剔除缺失值再取平均会导致盈利因子暴露度被低估;

如果在5年时间区间内企业盈利大幅波动,剔除缺失值再取平均对盈利因子暴露度的暴露度误差的影响无法估计。

对于缺失值的处理没有一劳永逸的方法。其合适的处理方式依赖于数据特点、缺失情况(个别缺失还是大段缺失)、我们计算的目标是什么,等等。因此必须要对具体的问题和数据仔细斟酌,才能找到相对合适的处理方法。

问题12:财务数据应该在哪个时点进行更新?比如月频的多因子模型,年报公布时间可能为 3 月或 4 月,是在3月底的时候即时更新那些已出的数据,还是在4月底统一更新使用?

答:在用历史数据对基本面因子取值进行计算的时候,我们应当保证因子所包含的信息和当时市场上投资者获得的信息一致。对于题目中的例子,如果企业是在 3 月份公布年报,则这些股票的因子暴露度应当在 3 月底进行更新;对于没有公布年报的企业,因子暴露度则维持原来的取值。

问题13:有哪些指标可以用来衡量单因子测试的结果?

答:如果希望判断但因子的预测能力,==最常见的基本指标是信息率==(Information Ratio, IR)。一些业绩评价的常用指标,例如==夏普比率,最大回撤等也可以用于单因子效果判断。==

问题14:依据单因子测试结果,如何对因子的有效程度进行排序?或者说,如何用单一指标衡量因子有效性?

答:用问题13的指标对因子进行排序则可。在排序的时候,更常见的方法是采用多个股票池对因子进行多次测试 —— 橘生淮南则为橘,生于淮北则为枳。

问题15:所谓的 “alpha因子” 和 “风险因子”,应该怎么进行区分?

答:alpha 因子通常是对特定证券的预期收益率有预测能力的因子;而风险因子通常是投资者认为他们的信息或者策略对于该维度没有预测能力,并希望实现中性化处理的因子 (先验),或对投资组合的风险存在显著边际贡献的因子 (后验)。由此可见,一个因子是 alpha 因子还是风险因子,部分取决于投资者的信息和经验—— 此之蜜糖,彼之砒霜。

问题16:你理解中有效且有逻辑的因子应该包括哪些?有逻辑但效果较差的因子应该包括哪些?如果采用某种方法组合出一个古怪的因子解释力很强,但是看不出因子的经济意义,你该怎么办?

答:如果我知道有效又有逻辑的因子,那当然不能告诉你了;有逻辑但效果差的话,可能是因为该因子的效应已经体现在证券价格中(有效市场理论)。对于表达式非常复杂难解的因子,可通过计算其对特征组合的暴露度来判断其经济学意义。

问题17:如何打磨旧的因子,提高其有效性?

答:一个思路是,把旧因子和新因子进行组合。在旧因子的预测能力未完全衰减至0,且和新因子存在相关性的前提下,旧因子可以增强新因子的预测能力,或者对冲其风险。

问题18:构建因子的新信息源如何寻找?有哪些思路?

答:略。

问题19:现在常用的因子都是易于量化的因子,对于基本面因子、事件驱动因子、市场情绪因子等不易量化的因子,有无合适的处理方法?

答:在我看来,这些因子不难量化,尽管量化的方式可能因人而异。

问题20:本专栏的上一篇文章封面人物是谁?*

答:迷糊的乙姬睦美和机智的小蛋。

*************** 多因子模型测试题回答结束 ***************

小新一

嗯?

你很受欢迎哦。

嗯。。。你说的是步美吧。

不对,是小哀。

呃。。。她不可能吧。

不是哦。如果一个女生用这种眼神看着一个男生,那只有两个可能:1 他脸上黏了饭粒;2 她喜欢这个男生啦。

呃。。。

{w:100}{w:100}{w:100}

![](data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='640' height='480'></svg>)

{w:100}{w:100}{w:100}

![](data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='640' height='480'></svg>)

标签

多因子模型量化策略