经典价量因子巡礼:动量、反转、低波动与换手率
本课目标:掌握动量、反转、低波动、换手率四类经典价量因子的构造方法和行为金融直觉,并了解它们在 A 股的经验特点。
价量因子只用行情数据(价格、成交量)就能计算,数据门槛低、更新频率高,是因子研究最好的练手对象。本课逐个拆解四类经典价量因子:每个因子讲三件事——怎么算、为什么可能有效(行为金融直觉)、在 A 股的经验特点。需要强调的是,“为什么有效”的解释都是事后归因,不是物理定律;理解直觉的价值在于帮你判断因子在什么环境下可能失效。照例提醒:本文只讨论研究方法,不构成任何投资建议。
动量:强者恒强的赌注
构造方式:最经典的动量因子是”过去 N 个月的累计收益率”,常见参数是回看 12 个月并跳过最近 1 个月(跳过是为了避开短期反转的干扰):
# close: index=日期, columns=股票, 月末收盘价momentum = close.shift(1) / close.shift(12) - 1 # 12-1 月动量行为金融直觉:投资者对新信息反应不足——好消息公布后,价格不会一步到位,而是缓慢消化,形成趋势延续。另一种解释是处置效应:投资者急于卖出浮盈股票、死扛浮亏股票,减缓了价格向新信息的调整速度。
A 股经验特点:经验上,教科书式的中长期动量在 A 股个股层面表现平平,甚至常常失效;相对而言,动量效应在行业和风格层面通常更容易观察到。因此 A 股研究者更常测试行业动量、板块动量,而非个股动量。
常见参数:回看 3、6、12 个月;是否跳过最近 1 个月;用累计收益还是风险调整后收益。
反转:涨多了会跌回来
构造方式:短期反转通常用”过去 N 日(如 20 日或 1 个月)的收益率”,然后反向使用——过去跌得多的打高分:
reversal = -(close / close.shift(20) - 1) # 值越大代表近期跌得越多行为金融直觉:与动量相反,短期反转对应”反应过度”——情绪驱动的追涨杀跌把价格推离基本面,随后均值回归。流动性冲击也是来源之一:大单砸出的超跌需要时间修复。
A 股经验特点:经验上,A 股的短期反转效应通常比动量显著得多,这也是”A 股反转强于动量”这句行话的来源。常见的解释包括散户占比高、换手率高、追涨杀跌行为普遍。但要注意两点:一是反转因子换手率极高,交易成本会吃掉相当一部分纸面收益;二是极端反转股常伴随基本面恶化,选股时容易接飞刀。
常见参数:回看 5、10、20、60 日;是否剔除涨跌停无法成交的样本。
涨跌停这一点在 A 股尤其要注意:跌停的股票你在调仓日可能根本买不进,回测里却”顺利成交”了。反转因子的高分组恰好聚集了大量刚经历暴跌、可能仍在跌停的股票,不处理这个细节,回测收益里会掺进无法实现的部分。稳妥做法是在调仓日剔除一字板股票,或把成交价设为次日均价。
低波动:无聊股票的溢价
构造方式:常用”过去 N 日收益率的标准差”(总波动)或回归市场后的残差波动,因子值越低打分越高:
ret = close.pct_change()low_vol = -ret.rolling(60).std() # 负号:波动越低分越高行为金融直觉:传统理论认为高风险应有高回报,但经验上低波动股票的风险调整后收益往往不差。行为解释是”彩票偏好”——投资者愿意为高波动、可能暴涨的股票支付溢价,导致这类股票被系统性高估;此外基金经理有博取排名的激励,也偏好高弹性股票。
A 股经验特点:经验上低波动、低换手的组合在 A 股长期风险调整后表现通常不错,但在快速上涨的行情里会明显跑输,持有体验是”熊市抗跌、牛市踏空”,对使用者的耐心要求很高。
常见参数:回看 20、60、120 日;总波动还是特质波动。
换手率:拥挤度的温度计
构造方式:常用”过去 N 日日均换手率”,或当前换手率相对自身历史均值的比值(异常换手)。通常低换手打高分:
turnover_factor = -turnover.rolling(20).mean()行为金融直觉:换手率是关注度和分歧度的代理。高换手往往意味着股票处于情绪风口、被过度交易,价格里挤满了乐观者出价;热度退潮后收益平庸。低换手股票缺乏关注,容易被系统性低估。
A 股经验特点:经验上换手率类因子在 A 股长期表现较为突出,与低波动因子相关性较高,两者常被归为同一”低风险/低关注”家族。使用时要注意它与小市值、流动性的纠缠——低换手股票往往也是流动性差的股票,实盘容量有限。
常见参数:回看 5、20、60 日;是否用对数换手;是否做市值中性化。
四个因子讲完,可以看出一条共同的脉络:价量因子赚的多是”交易对手行为偏差”的钱——追涨杀跌、彩票偏好、过度关注。这也决定了它们的性格:信号来得快、去得也快,参数敏感,需要比基本面因子更频繁的体检。
因子衰减:好因子也有保质期
因子衰减(decay)有两层含义:
| 层面 | 含义 | 观察方法 |
|---|---|---|
| 信号衰减 | 同一期因子值对越远期收益的预测力越弱 | 计算因子对未来 1、5、10、20 日收益的 RankIC,画衰减曲线 |
| 历史衰减 | 因子公开、被大量资金使用后,长期有效性下降 | 分年度统计 IC 与分层收益,观察趋势 |
信号衰减决定了合理的调仓频率:衰减快的因子(如短期反转)需要高频调仓,交易成本敏感;衰减慢的因子(如低波动)适合低频持有。历史衰减则提醒我们:任何”经典因子”的历史表现都不能线性外推,检验时务必分段看逐年表现。
历史衰减的机制值得多想一层。因子有效性的来源大致两类:一类是行为偏差——只要参与者结构不变,偏差会持续存在,但套利资金增多会压缩其空间;另一类是风险补偿——你赚的是承担某种风险的报酬,这类收益理论上更持久,但也意味着一定会有难熬的回撤期。判断手里的因子偏向哪一类,能帮你在它连续跑输时决定”再等等”还是”该放弃”。
本课小结
- 动量赌反应不足,反转赌反应过度,两者是同一价格序列在不同期限上的两面;
- 经验上 A 股个股层面反转通常强于动量,动量更多体现在行业与风格层面;
- 低波动与换手率同属”低风险/低关注”家族,长期稳健但牛市难熬,且与小市值纠缠较深;
- 高换手因子的纸面收益必须扣减交易成本后再评价;
- 用 IC 衰减曲线确定调仓频率,用分年度表现警惕因子的历史衰减。
动手练习:用上一课的检验框架,分别测试 20 日反转和 12-1 月动量在同一股票池、按月调仓下的 RankIC 与 5 组分层表现,对比两者方向与强度,验证”反转强于动量”在你的样本区间里是否成立。