4. 动量因子基础:动量策略的定义、逻辑与经典文献回顾(Jegadeesh & Titman)
动量因子,说白了就是「追涨杀跌」的学术版。听起来有点俗气对吧?但别急着笑,这玩意儿在量化金融里可是拿过诺贝尔奖级别的待遇。我刚开始做策略研究那会儿,第一个实盘跑通的策略就是动量策略,虽然赚得不多,但那种「市场确实有规律可循」的感觉,至今难忘。
4.1 动量策略的核心定义
动量策略的逻辑其实特别简单:过去涨得好的股票,未来一段时间还会继续涨;过去跌得惨的股票,未来还会继续跌。你想想看,这不就是趋势的延续吗?
具体操作上,我们通常这样做:
- 排序期(Formation Period):比如过去6个月,计算每只股票的累计收益率
- 分组:按收益率从高到低排序,买入前10%(赢家组合),卖出后10%(输家组合)
- 持有期(Holding Period):持有这个多空组合一段时间,比如6个月
嗯,这里要注意:排序期和持有期可以灵活调整。我见过有人用3个月排序+3个月持有,也有人用12个月排序+1个月持有。没有标准答案,全看你的数据特征。
4.2 经典文献回顾:Jegadeesh & Titman (1993)
说到动量因子,绕不开这篇神作。1993年,Jegadeesh和Titman在《Journal of Finance》上发表了那篇著名的论文——"Returns to Buying Winners and Selling Losers: Implications for Stock Market Efficiency"。
他们做了什么?简单说:
- 用美国股市1965-1989年的数据
- 测试了各种排序期和持有期的组合(3、6、9、12个月)
- 发现6个月排序+6个月持有这个组合效果最好
核心发现:买入过去6个月的赢家组合,卖出过去6个月的输家组合,持有6个月,平均每月能获得约1%的超额收益。而且这个收益在统计上极其显著,t值高得吓人。
为什么会这样?Jegadeesh和Titman给出了两个解释:
- 价格反应不足:市场对新信息的消化需要时间,不是一步到位的
- 趋势延续:投资者的跟风行为会强化已有的趋势
我个人习惯把这种现象叫做「市场的惯性」。就像你推一个重物,刚开始推不动,但一旦动起来,它就会沿着原来的方向滑一段。市场也是这个道理。
4.3 动量策略的数学表达
咱们用公式来定义一下动量因子。假设在时刻 \( t \),我们要构建动量因子 \( MOM_t \):
# 动量因子计算伪代码
def compute_momentum_factor(prices, formation_period=126, holding_period=126):
"""
prices: 股票日度价格矩阵 (T x N)
formation_period: 排序期天数(默认126个交易日 ≈ 6个月)
holding_period: 持有期天数(默认126个交易日)
"""
# 1. 计算排序期累计收益率
returns = prices[-formation_period:] / prices[-formation_period-1] - 1
# 2. 按收益率排序,取前10%和后10%
top_decile = np.argsort(returns, axis=1)[:, -int(N*0.1):]
bottom_decile = np.argsort(returns, axis=1)[:, :int(N*0.1)]
# 3. 构建多空组合
momentum_factor = (top_decile.mean() - bottom_decile.mean()) / 2
return momentum_factor
这段代码看着简单,但坑不少。我曾经在实盘里踩过一个雷:排序期和持有期之间要跳过一天。为什么?因为要避免微观结构噪声,比如买卖价差、非同步交易这些。Jegadeesh和Titman原文里也特意强调了这一点,他们用的是「跳过一周」的版本。
避坑指南:计算动量因子时,一定要在排序期和持有期之间留一个间隔期(通常1周或1个月)。否则你算出来的收益里混入了短期反转效应,结果会失真。我曾经因为这个疏忽,回测曲线漂亮得不像话,实盘一跑就崩了。
4.4 动量因子的变体
经典动量策略是「过去6个月收益」,但后来研究者们玩出了各种花样:
| 变体名称 | 定义 | 特点 |
|---|---|---|
| 短期动量 | 过去1个月收益 | 容易受噪声干扰,但捕捉短期趋势 |
| 中期动量 | 过去6-12个月收益 | 经典版本,最稳健 |
| 长期动量 | 过去3-5年收益 | 接近价值因子,趋势性弱 |
| 残差动量 | 剔除市场、行业等因素后的动量 | 更纯粹,但计算复杂 |
我个人比较喜欢用残差动量。为什么?因为经典动量里混杂了行业趋势和市值效应。比如过去半年涨得好的股票,可能只是因为它们都在新能源行业。残差动量把行业因素剥离掉,剩下的才是真正的个股动量信号。
4.5 动量策略的争议与局限
动量策略不是万能的。我见过太多人一上来就无脑跑动量,结果遇到风格切换直接亏到怀疑人生。这里有几个关键点要注意:
- 动量崩溃:2009年3月,动量策略一个月亏了40%以上。市场剧烈反转时,动量会死得很惨
- 交易成本:动量策略换手率高,频繁交易会吃掉大量利润。我建议用期货或ETF来降低摩擦成本
- 样本外失效:Jegadeesh & Titman的数据是1965-1989年,后来很多研究发现在90年代后期动量效应减弱了
警告:动量策略在牛转熊的初期会遭遇「动量崩溃」。2009年、2020年3月都是典型案例。如果你不做风险控制,一次崩溃就能把你之前所有的收益全部抹平。我自己的做法是:动量策略永远搭配一个波动率止损机制,当组合波动率超过阈值时,立刻减仓。
4.6 本章知识体系
下面这张图帮你理清动量因子的核心逻辑:
这张图把动量因子的三个核心维度串起来了:定义是基础,文献是证据,变体是延伸。但最下面那个红色框框里的内容,才是你真正要记住的——动量策略不是印钞机,它需要严格的风险控制。
好了,关于动量因子的基础就聊到这儿。记住Jegadeesh & Titman那篇论文的核心结论,然后自己去跑一遍数据。纸上得来终觉浅,绝知此事要躬行。