动量交易策略
动量交易策略(Momentum Trading)是基于”价格趋势具有持续性”原理的交易方法,核心假设是:价格走势具有惯性,过去表现较好(差)的资产在短期内可能继续表现较好(差)。
基本原理
动量策略的理论基础来自于投资者行为偏差和信息传播不完全:
- 投资者对新信息反应不足(Under-reaction)导致价格调整滞后
- 羊群效应(Herding Behavior)强化了趋势的持续性
- 市场摩擦(Market Friction)使信息在市场中逐步扩散
策略类型
时间序列动量
基于单一资产自身历史价格表现:
- 当资产价格高于过去N期均价时做多
- 当资产价格低于过去N期均价时做空
# 简单时间序列动量策略
def time_series_momentum(prices, lookback=12):
# 计算过去lookback期的收益率
returns = prices.pct_change(lookback)
# 生成信号:正收益率做多,负收益率做空
signals = np.sign(returns)
# 移动信号以避免前瞻偏差
signals = signals.shift(1)
return signals
横截面动量
比较不同资产在同一时期的相对表现:
- 买入过去N期表现最好的资产组合
- 卖出过去N期表现最差的资产组合
# 横截面动量策略
def cross_sectional_momentum(returns_df, lookback=12, n_top=10):
# 计算每个资产过去lookback期的累计收益
lookback_returns = returns_df.rolling(window=lookback).apply(
lambda x: (1 + x).prod() - 1
)
# 每期选出表现最好的资产
signals = pd.DataFrame(0, index=returns_df.index, columns=returns_df.columns)
for t in signals.index:
if t < lookback: continue
# 按收益率排序
ranked = lookback_returns.loc[t].sort_values(ascending=False)
# 做多表现最好的n_top只资产
signals.loc[t, ranked.index[:n_top]] = 1
return signals
行业轮动策略
利用行业之间表现的周期性差异:
- 投资于近期表现最好的行业ETF
- 定期调整持仓以跟踪最强势行业
参数选择
动量策略的关键参数包括:
-
回溯期(Lookback Period):常用时长为3-12个月
- 太短:容易受噪音影响
- 太长:信号滞后性增强
-
持有期(Holding Period):通常与回溯期相近
- 短期持有:更高换手率和交易成本
- 长期持有:可能错过趋势转折点
策略增强方法
波动率调整
根据资产波动率调整持仓比例,平衡风险贡献:
# 波动率调整的动量策略
def volatility_adjusted_momentum(returns, lookback=12, target_vol=0.15):
# 计算动量信号
momentum_signals = np.sign(returns.rolling(lookback).mean())
# 计算历史波动率
volatility = returns.rolling(lookback).std() * np.sqrt(252) # 年化
# 根据目标波动率调整头寸
position_size = target_vol / volatility
# 结合动量信号和头寸大小
final_signals = momentum_signals * position_size
return final_signals
动量因子结合
将动量指标与其他因子结合:
- 与价值因子结合:避免追高泡沫资产
- 与质量因子结合:筛选基本面健康的动量股
择时策略
根据市场环境调整动量策略的暴露:
- 牛市:增加动量暴露
- 熊市:减少动量暴露或转向反转策略
风险管理
动量策略面临的主要风险:
-
趋势反转风险:
- 设置止损限制最大损失
- 监控趋势减弱信号如背离
-
拥挤交易风险:
- 监控策略受欢迎程度指标
- 在极端市场情绪时减少仓位
-
波动率风险:
- 实施波动率控制机制
- 在高波动率环境减少杠杆
与其他策略的结合
动量策略可以与其他策略结合,形成更全面的交易系统:
策略绩效评估
评估动量策略表现的指标:
- 信号准确率:计算
signal × 实际收益
的胜率 - 风险调整收益:常用夏普比率、索提诺比率
- 最大回撤:评估策略承受市场逆转的能力
实证研究结果
学术研究普遍发现动量效应:
- Jegadeesh和Titman (1993)首次系统化记录了动量现象
- 动量效应在大多数市场和资产类别中均有表现
- 典型动量效应持续时间为3-12个月,随后可能出现反转