动量加速度因子构建

通过测量价格变化率的变化速率,捕捉市场情绪的加速变化过程

核心概念

动量加速度是量化分析中的重要因子,它通过计算价格变化的二阶差分(加速度)来衡量市场情绪变化的速率。

  • 动量:价格相对变化率
  • 加速度:动量变化的速度
  • 捕捉市场情绪加速变化过程

数学公式

动量(相对变化率)

\( M_t = \frac{P_t}{P_{t-n}} - 1 \)

动量加速度

\( A_t = M_t - M_{t-1} \)

\( A_t = \left( \frac{P_t}{P_{t-n}} - 1 \right) - \left( \frac{P_{t-1}}{P_{t-1-n}} - 1 \right) \)

\( A_t = \frac{P_t}{P_{t-n}} - \frac{P_{t-1}}{P_{t-1-n}} \)

量化意义

加速度为正表示动量在增强,市场情绪加速变化;为负表示动量在减弱,市场情绪变化减速。

Python实现

import numpy as np
import pandas as pd

# 生成示例价格序列
prices = np.array([45.2, 46.5, 47.8, 48.1, 47.5, 
                   46.8, 45.9, 46.2, 47.5, 48.8])

# 设置动量周期(例如5天动量)
n = 3

# 计算动量(相对变化率)
momentum = []
for i in range(n, len(prices)):
    momentum.append(prices[i] / prices[i-n] - 1)

# 计算动量加速度
acceleration = np.diff(momentum)

# 创建DataFrame展示结果
df = pd.DataFrame({
    'Price': prices[n:],
    'Momentum': momentum,
    'Acceleration': [np.nan] + acceleration.tolist()
})

print(df)
3

实际应用案例

趋势反转预测

当价格持续上涨但加速度开始下降时,可能预示上升趋势即将结束。同样,当价格持续下跌但加速度上升时,可能预示下跌趋势即将结束。

突破确认

价格突破关键阻力位或支撑位时,如果伴随加速度的大幅增加,可以确认突破的有效性,提供更强的交易信号。

波动率估计

加速度的绝对值大小可以反映市场波动率的变化,高加速度通常与高波动率时期相关。

量化策略构建

动量加速度可以作为趋势跟踪策略的过滤器,只在加速度增加时入场,或在加速度减弱时提前退出。