量化黑话:什么是因子、因子值、因子暴露、因子组合、因子收益
由bqu1vdra创建,最终由bqu1vdra 被浏览 2 用户
在投资的世界里,我们每个人都想找到那些未来能够持续上涨的好公司。这就像是在成千上万的学生里,找到那些未来能考上清华北大的“好苗子”。但问题是,标准是什么?是成绩好?是进步快?还是个子高?
在量化投资的领域,我们有一套系统性的方法来给股票做“体检”,而这套方法的核心,就藏在我们今天要揭秘的第一个黑话里——因子。可以说,一部现代量化投资史,就是一部不断发现、定义和应用各种因子的历史。
我们将从“因子”这个核心概念出发,剖析因子、因子值、因子暴露、因子组合、因子收益这几个概念。
什么是因子?
当我们在判断一种食物的营养高不高时,我们一般会从蛋白质、碳水化合物、脂肪、维生素……这些物质及其含量来判断。如果它富含这些营养物质并且含量很高,我们就说它是一种高营养食物。此时,蛋白质、维生素这些物质就是构成判断食物营养价值的“因子”。
股票的收益也是一样。那些能够系统性地解释股票收益来源的、最底层的驱动因素的,就是因子。它们就像是股票收益的营养成分表,可以将一只股票的长期表现,精确拆解为不同因子贡献的组合。
一个特征要从成千上万的可能性中脱颖而出,成为我们值得信赖的“因子”,必须满足五个最关键、最核心的条件。这五个条件,缺一不可,共同构成了专业因子投资的基石。
首先,它必须经得起时间的考验,这就是持续性(Persistent)。 一个真正的因子,不能只是在过去某一小段顺风顺水的时期里有效。它必须能穿越几十年的历史长河,历经牛熊转换、经济衰退与繁荣,都始终能证明自己的价值。
其次,它的影响力必须足够广泛,这就是普适性(Pervasive)。 一个强大的因子,它的有效性不能只局限于某个国家或某个特定市场。它应该像一个普世的规律,无论是在美股、A股,还是在欧洲、日本,甚至在股票、债券、大宗商品等不同类型的资产上,都能展现其威力。比如说Alpha101中的因子,虽然是基于美股市场开发的,但经过本土化后它依然适用于A股。
再者,它的定义不能吹弹可破,这就是稳健性(Robust)。 因子的定义必须是皮实的,不能过于脆弱和精确。比如,我们都想买便宜的股票,那“便宜”这个价值因子,无论我们用市盈率、市净率还是市销率来定义,它都应该有效,它结论都应该是大同小异的。
然后,它必须能落袋为安,这就是可投资性(Investable)。 在考虑了交易成本、流动性等现实因素后,投资者必须能够切实地通过构建投资组合来捕获这个因子带来的回报。一个理论上存在,但交易成本高到无法盈利的因子,是没有实战价值的。
最后,也是最根本的一点:它背后必须有硬核逻辑,也就是直观的经济学解释(Intuitive)。 一个因子之所以能长期赚钱,它背后必须有一个能让人信服的经济学故事。你必须能解释清楚,你赚的这个钱到底是什么?是你承担了别人不敢承担的某种风险,而获得的风险补偿?还是你利用了市场大众普遍存在的某种非理性情绪(比如追涨杀跌),而获得的认知红利?
只有满足这些要求,一个普通的特征,才能晋升为值得我们信赖和托付的因子。
现在,我们有了因子,接下来,我们还得知道它们各自的含量是多少,也就它们的数值大小。那我们应该如何去衡量这些它的大小呢?
寻找代理变量,获得因子值与因子暴露
对于因子来说,我们无法直接测量它本身,但可以找到它们的代理变量(Proxy)。例如,我们可以用市盈率(P/E)、市净率(P/B)、股息率等一系列财务指标来代表价值因子。这些指标可以具体地计算出它们的数值,这个数值就是因子值。
比如,股票A的PE是10倍,股票B的总市值是2000亿,此时10就是PE的因子值,2000亿就是总市值的因子值。通过这种方式,每一只股票在不同因子上我们都能计算出它们各自的因子值。
假设你想用市盈率(PE)这个指标,在整个A股市场里找出估值最低的股票。一个很自然的想法,就是把所有公司的PE从低到高排个序,然后买入最低的那一部分。但这个做法,从一开始就存在一个致命的逻辑漏洞。按照这种方式,你选出来的所谓“低估值”股票,会清一色地集中在银行、地产、建筑这类天然低估值的行业里。
因为不同的行业,它们的PE天差地别。银行股PE值普遍在5-10 倍,半导体股可能在30-50倍。把一个10倍PE的银行股和一个50倍PE的半导体股直接放在一起比谁更便宜,这本身就是不公平的。
简单地进行排序,你的投资组合看起来是在押注价值因子,但实际上,你是在无意中重仓了某几个特定的行业因子。你的价值因子,已经被强烈的行业特征给“污染”了。
因此,为了解决这个“橘子和苹果”的比较难题,此时就引入了行业中性化的方法。首先将所有股票按行业分组,然后通过线性回归的方式得到残差。在统计意义上,这个残差就代表了原始因子中无法被行业因素所解释的部分。这样我们就剔除了行业间的天然估值差异,得到该股票在“行业中性化”后的因子值。
除了行业因子之外,我们还需要警惕另一个同样强大的噪声,市值。这里的逻辑和行业中性化非常相似,但根源不同。根源在于,很多我们追求的“好公司”特质,比如代表“高质量”的ROE,天然就偏爱大公司。这几乎是一种必然:巨头们拥有宽阔的护城河,商业模式成熟,盈利能力自然稳定,ROE常年维持在高位。而绝大多数小公司还在野蛮生长,九死一生,ROE表现当然不稳定。
所以,当你用“高ROE”这个标准去筛选时,你的选股池会不可避免地向大盘股倾斜。你的“质量因子”再一次被污染了,只不过这次的“污染源”是“市值因子”。
所以为了分离这两种效应,市值中性化 (Size Neutralization)就应运而生。它通常也是通过回归分析来完成,需要注意的是,在进行回归分析之前,我们需要对市值因子取对数。
经过市值中性化、行业中性化的处理,我们才算真正拥有了评估和比较所有股票在任何因子上强弱的统一工具,这个处理后的标准得分就是因子暴露度。它衡量的是一只股票符合某个因子特征的程度。暴露度越高,说明这只股票越贴近该因子的定义。
中性化并非是金科玉律
在实际的运用中,中性化处理,尤其是行业中性化,在业界存在很大的争议,它并非一个必须执行的金科玉律。
行业中性化的有效性存在着两个问题:
首先是行业分类的问题。你如何给一家公司贴上“行业”的标签?
很多公司的业务是多元化的,并且公司的业务会转型。一家过去做房地产的公司,现在可能转型成了高科技企业。你用的行业分类标准是动态的还是静态的?不同数据服务商给出的标准还不一样。这个基础一旦不稳,行业中性化的效果就要打个问号。
其次是基本面数据的统计口径问题。
在中国市场,由于会计准则的不断演变,我们今天看到的“净利润”,和十年前的“净利润”,尽管名字一样,但计算方法和内涵可能已经天差地别。在这样前后不完全一致的数据上做精细化的中性化处理,其效果自然会受到挑战。
现实是,绝大多数公开的回测,默认就是不做市值中性化的。为什么?因为“小市值”本身就是一个能赚钱的因子。很多策略,它们的回测收益里天然就包含了“小市值效应”的红利。如果你把这部分剥离掉,回测曲线可能就没那么好看了。
捕获并检验因子收益
好了,市值中性化和行业中性化后,我们得到了因子暴露这个得分。我们就可以从数千只股票中,在每个时刻t筛选出符合我们特定要求的选手,从而去组建一个因子组合 (Factor Portfolio)。
最经典的方法是排序分组法:
- 排序:将市场上所有股票按照某个因子的暴露度,从高到低进行排序。
- 分组:将排序后的股票等分为N组,比如10组。第一组就是价值因子暴露度最高的股票,第十组就是暴露度最低的股票。
分好组后,我们就可以测算其因子收益 (Factor Return)。
因子收益,衡量的是由这个因子本身驱动的、独立于市场整体涨跌的纯粹回报。如何得到这个纯粹的回报呢?答案是构建多空组合 (Long-Short Portfolio)。构建的这个“多空组合”的每日收益率,就是该因子的因子收益。
具体的方法是:
- 等权重买入因子暴露最高的那一组股票,做多
- 等权重卖出因子暴露最低的那一组股票,做空
它的核心在于风险对冲,跟市场中性策略很像。假设今天市场整体上涨1%,我们做多的组合会受益,但我们做空的组合会亏损。由于投入多空两端的资金量相等,市场整体的涨跌对组合净值的影响,会在很大程度上相互抵消。这个组合的Beta接近于0,实现了市场中性 (Market Neutral)。
在对冲了市场影响之后,这个组合的最终收益,就几乎完全来源于多头组合与空头组合之间的相对表现。如果组合获得了正收益,那必然是因为我们做多的“便宜股票”跑赢了我们做空的“昂贵股票”。这个超额收益,就是由这个因子属性的差异所驱动的。
我们将每日的因子收益连接起来,就形成了一条因子收益率曲线。通过分析它的长期表现,我们就能客观地判断一个因子在历史上是否长期有效。