因子投资基础:什么是因子、常见因子分类与构建检验
聊到量化投资,因子是个绕不开的话题。我刚开始接触这行时,总觉得「因子」这词儿挺玄乎的。说白了,因子就是能解释股票收益率差异的某种特征。你想想看,为什么有的股票涨得好,有的就趴着不动?背后一定有原因。因子就是这些原因的量化表达。
一、到底什么是因子?
因子,本质上是一个系统性风险源。它捕捉的是某类股票共同暴露的风险特征。举个例子,小盘股往往比大盘股有更高的预期收益,这就是「规模因子」在起作用。
我个人习惯把因子理解成「选股的角度」。你从哪个维度去挑股票?是看它便宜不便宜?还是看它最近涨得好不好?每个角度就是一个因子。
核心要点:因子必须满足三个条件——持续性(长期有效)、普遍性(跨市场存在)、可解释性(有经济逻辑支撑)。
我在项目中遇到过不少新手,上来就搞一堆花里胡哨的因子,回测曲线漂亮得不行。结果实盘一跑,直接崩了。为什么?因为那些因子没有经济逻辑,纯粹是数据挖掘出来的噪音。
二、常见因子分类
目前业界公认的四大类因子,我一个个说。
1. 价值因子
买便宜货,这是最古老的选股逻辑。价值因子通常用市盈率(PE)、市净率(PB)、市销率(PS)等指标来衡量。低估值股票长期跑赢高估值股票,这个现象在全球市场都被验证过。
构建方式: 按估值指标排序,做多估值最低的30%,做空估值最高的30%。
我的经验: 价值因子在熊市末期表现特别好。我记得2018年底,A股很多银行股跌到0.6倍PB,那时候建仓价值因子组合,后面两年的收益相当可观。
2. 动量因子
趋势是你的朋友。过去涨得好的股票,未来一段时间往往继续涨。这个现象叫「动量效应」。反过来,过去跌得多的股票,容易继续跌,这叫「反转效应」。
动量因子的构建很简单:计算过去12个月(剔除最近1个月)的累计收益率,排序后做多高动量股,做空低动量股。
避坑指南: 我曾经吃过动量的亏。2015年股灾时,动量因子直接崩了,一个月亏了15%。后来我学乖了,动量因子必须搭配低波因子一起用,能有效过滤掉那些暴涨暴跌的妖股。
3. 质量因子
买好公司。质量因子关注的是公司的盈利能力、财务健康度、成长稳定性。常用的指标有ROE(净资产收益率)、毛利率、资产负债率、盈利波动率等。
质量因子有个特点:它跟其他因子的相关性很低。这意味着在组合中加入质量因子,能起到很好的分散化效果。
构建方式: 综合多个质量指标,用Z-score标准化后等权合成一个综合得分。
4. 低波因子
这个因子很有意思。传统金融理论说高风险高收益,但现实中恰恰相反——低波动股票长期跑赢高波动股票。这就是「低波动异象」。
我刚开始做量化时也不信这个,直到自己跑了A股10年的数据,发现低波组合的年化收益确实比高波组合高出3-5个百分点,而且回撤还小得多。
构建方式: 计算过去252个交易日的日收益率标准差,排序后做多低波动股票。
| 因子类别 | 核心逻辑 | 常用指标 | 我的使用建议 |
|---|---|---|---|
| 价值 | 买便宜货 | PE、PB、PS、PCF | 熊市末期重点配置 |
| 动量 | 趋势延续 | 过去12个月收益 | 需搭配低波使用 |
| 质量 | 买好公司 | ROE、毛利率、负债率 | 适合长期底仓 |
| 低波 | 低风险溢价 | 年化波动率 | 降低组合回撤 |
三、因子的构建与检验
光知道因子分类还不够,你得会自己动手构建和检验。这部分我踩过不少坑,分享点干货。
3.1 因子构建步骤
- 数据清洗: 剔除ST股、次新股、停牌股。我习惯用Python的pandas做数据预处理,缺失值用行业均值填充。
- 因子计算: 按公式计算每个股票的因子值。比如计算PE,就用市值除以净利润。
- 标准化处理: 截面数据做Z-score标准化,或者用分位数排名。我个人偏好排名法,对极端值不敏感。
- 中性化处理: 剔除行业和市值的影响。这一步很关键,否则你得到的可能是行业因子或市值因子的噪音。
# 一个简单的因子中性化示例(Python伪代码)
import statsmodels.api as sm
def neutralize_factor(factor, industry_dummies, log_market_cap):
# 回归剔除行业和市值影响
X = pd.concat([industry_dummies, log_market_cap], axis=1)
X = sm.add_constant(X)
model = sm.OLS(factor, X).fit()
residual = model.resid
return residual
3.2 因子检验方法
因子构建完了,怎么知道它有没有用?我一般做三件事:
- IC分析: 计算因子值与下期收益的相关系数(Spearman秩相关)。IC均值大于0.03就算不错了。
- 分组回测: 按因子值分成10组,看多空组合的收益曲线。我要求多空夏普比率至少大于1.0。
- 换手率分析: 因子组合的月度换手率最好控制在30%以内,太高了交易成本吃不消。
我的检验标准: 一个合格的因子,IC均值>0.03,IC标准差<0.15,IR(IC均值/IC标准差)>0.3,多空组合年化收益>8%。达不到这个标准的,我建议直接扔掉。
四、因子投资的核心逻辑图
下面这张图是我自己总结的因子投资全流程,从数据到组合,每一步都环环相扣。
五、一些实战心得
最后聊点实在的。因子投资不是一劳永逸的事。我见过太多人,找到一个好因子就以为找到了圣杯,结果过两年因子失效了,亏得底朝天。
我的建议是:永远保持对因子的敬畏。定期做因子衰减分析,看看IC是否在下降。如果连续6个月IC为负,果断砍掉,不要恋战。
另外,因子组合的再平衡频率也很关键。我个人习惯月度再平衡,既能捕捉到因子的短期信号,又不会产生过高的交易成本。当然,这个频率得根据你的资金规模和流动性来调整。
一个小技巧: 构建因子组合时,我通常会留10%的仓位做「因子择时」。当某个因子的估值处于历史低位时,适当超配;处于历史高位时,减配。这个操作能额外贡献2-3个点的年化收益。
好了,因子投资的基础就聊到这儿。记住,因子是工具,不是信仰。用得好,它是你的利器;用得不好,它就是你的陷阱。