质量因子入门:什么是质量因子?为什么质量因子能赚钱?
做量化投资这些年,我见过太多人一上来就盯着动量、低波这些因子猛干。说实话,他们忽略了一个最基础的东西——质量。
质量因子是什么?说白了,就是衡量一家公司“好不好”的标尺。好公司赚钱多、负债少、现金流稳、管理靠谱。你想想看,买股票不就是买公司吗?那买好公司,长期来看能亏到哪去?
我个人习惯把质量因子叫做“避坑指南”。为什么?因为A股、港股、美股,不管哪个市场,烂公司总能给你整出点幺蛾子。财务造假、债务暴雷、业绩变脸……这些坑,质量因子能帮你绕开一大半。
质量因子的核心逻辑
质量因子能赚钱,背后有三个硬道理:
- 好公司活得久——盈利能力强的企业,抗风险能力也强。经济下行时,它们能撑住;同行倒闭了,它们还能抢市场份额。
- 市场会奖励好学生——长期来看,ROE高、毛利率稳的公司,股价表现往往不差。这不是玄学,是复利的力量。
- 烂公司是价值陷阱——很多股票看着便宜,市盈率低,但一查财务数据,负债高得吓人、现金流是负的。这种公司,越跌越不能买。
我记得2018年做回测时,把质量因子加进多因子模型,年化收益直接提升了5个多点。当时我就意识到:质量不是锦上添花,是地基。
核心观点:质量因子不是万能药,但它能帮你过滤掉80%的垃圾股。剩下的20%,你再去做动量、估值、成长,胜率会高很多。
质量因子的常见衡量指标
做质量因子投资,你至少得盯住这几个维度:
| 维度 | 常用指标 | 说明 |
|---|---|---|
| 盈利能力 | ROE、毛利率、净利率 | 公司赚钱能力强不强 |
| 财务安全 | 资产负债率、流动比率 | 公司会不会暴雷 |
| 盈利稳定性 | ROE波动率、营收增长稳定性 | 赚钱是不是靠运气 |
| 现金流质量 | 经营现金流/净利润 | 利润是不是真金白银 |
嗯,这里要注意:单一指标容易骗人。比如ROE很高,但负债率也高得离谱,那这个ROE就是加杠杆加出来的,风险极大。我建议至少用3-4个指标综合打分。
质量因子的知识体系
下面这张图,是我自己梳理的质量因子投资框架。你看一眼,就能明白整个体系长什么样:
这张图的核心逻辑很简单:先通过质量因子筛出好公司,再在这个池子里做其他策略。顺序不能乱,否则你就是在垃圾堆里找宝贝。
避坑指南:质量因子不是万能的
我曾经踩过一个坑:2019年用纯质量因子选股,选出来的全是银行、白酒、家电这些“大白马”。结果2020年科技股暴涨,我的组合跑得跟乌龟一样慢。
后来我明白了:质量因子在熊市和震荡市里表现最好,但在牛市里容易跑输。为什么?因为牛市里资金喜欢追热点、炒概念,而好公司往往涨得慢。
警告:不要单独使用质量因子!它应该作为“过滤器”,而不是“决策器”。我建议把质量因子和动量、估值因子结合起来用,效果会好很多。
实战中怎么用质量因子?
给你一个我常用的简化版流程:
- 第一步:用ROE、资产负债率、经营现金流/净利润三个指标,给全市场股票打分。
- 第二步:选出得分最高的20%股票,作为“高质量股票池”。
- 第三步:在这个池子里,再叠加动量因子(比如过去6个月涨幅)或估值因子(比如市盈率分位数)。
- 第四步:定期调仓,比如每季度重新筛选一次。
你想想看,这样做的好处是什么?你买的每一只股票,首先得是“好公司”,然后才是“好价格”或“好趋势”。双重保险,胜率自然高。
小技巧:如果你用Python做回测,可以用pandas的rank()函数给每个指标打分,然后等权加总。代码很简单,但效果很稳。
# 简化版质量因子打分示例
import pandas as pd
# 假设df是股票数据,包含ROE、负债率、现金流比
df['roe_score'] = df['ROE'].rank(pct=True)
df['debt_score'] = 1 - df['资产负债率'].rank(pct=True) # 负债率越低越好
df['cash_score'] = df['经营现金流/净利润'].rank(pct=True)
# 综合质量得分
df['quality_score'] = (df['roe_score'] + df['debt_score'] + df['cash_score']) / 3
# 选出前20%
top_quality = df[df['quality_score'] >= df['quality_score'].quantile(0.8)]
嗯,代码虽然简单,但背后逻辑很扎实。我自己的实盘组合,就是用这个框架做底层的。说实话,效果比我预期要好。
最后说一句:质量因子不是用来抓牛股的,是用来避雷的。你避开了一个财务造假的雷,就等于赚了20%。这个账,你自己算算。
公众号:蓝海数据掘金营,微信 deep3321