通过测量价格变化率的变化速率,捕捉市场情绪的加速变化过程
动量加速度是量化分析中的重要因子,它通过计算价格变化的二阶差分(加速度)来衡量市场情绪变化的速率。
\( 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}} \)
加速度为正表示动量在增强,市场情绪加速变化;为负表示动量在减弱,市场情绪变化减速。
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)
当价格持续上涨但加速度开始下降时,可能预示上升趋势即将结束。同样,当价格持续下跌但加速度上升时,可能预示下跌趋势即将结束。
价格突破关键阻力位或支撑位时,如果伴随加速度的大幅增加,可以确认突破的有效性,提供更强的交易信号。
加速度的绝对值大小可以反映市场波动率的变化,高加速度通常与高波动率时期相关。
动量加速度可以作为趋势跟踪策略的过滤器,只在加速度增加时入场,或在加速度减弱时提前退出。