移动平均是什么?
移动平均(Moving Average, MA)是一种常用的时间序列平滑技术,通过计算连续数据点的平均值来消除短期随机波动,从而突显数据的长远趋势或周期模式。它在金融分析、经济预测、信号处理等领域应用广泛。
1. 基本思想
移动平均的核心是“移动窗口”:对于一组按时间顺序排列的数据,依次取固定大小的窗口(例如最近 5 天的数据),计算窗口内数据的平均值,得到一个新的平滑序列。随着窗口向后滑动,平均值不断更新,因此称为“移动平均”。
例如,某股票收盘价:
第 1 天:10
第 2 天:12
第 3 天:11
第 4 天:13
第 5 天:14
第 6 天:15
若取 3 天移动平均:
第 3 天的 MA = (10+12+11)/3 = 11
第 4 天的 MA = (12+11+13)/3 = 12
第 5 天的 MA = (11+13+14)/3 = 12.67
第 6 天的 MA = (13+14+15)/3 = 14
2. 常见的移动平均类型
2.1 简单移动平均(SMA)
将窗口内的每个数据点赋予相同权重,直接求算术平均。

n:窗口长度
xi: 第 i 期的原始值
优点:计算简单,直观。
缺点:对近期和远期数据同等看待,对最新变化反应较慢;所有历史数据一旦离开窗口就被完全丢弃。
2.2 加权移动平均(WMA)
给窗口内的数据赋予不同权重,通常越近的数据权重越大,以更快反映最新变化。

权重 wi 可以自行设定,例如线性递增权重(最近数据权重最高)。
2.3 指数移动平均(EMA)
一种特殊的加权平均,权重随时间呈指数衰减,越近的数据权重越大,且理论上所有历史数据都会参与计算(但越早的数据权重趋近于零)。EMA 的计算通常采用递推公式:

阿尔法 = 2/n+1,n 为指定的窗口长度(或平滑系数)。
初始值 EMA1 通常设为 x1 或前几期的简单平均。
EMA 对价格变化更敏感,常用于技术分析中的短期趋势判断。
3. 移动平均的作用
识别趋势:上升的移动平均线表明价格或指标处于上升趋势,反之则为下降趋势。
支撑与阻力:在技术分析中,移动平均线常被视为动态的支撑位或阻力位。
过滤噪音:消除日常随机波动,让分析师更容易看出长期方向。
生成交易信号:例如短期均线上穿长期均线形成“金叉”(买入信号),下穿形成“死叉”(卖出信号)。
预测基础:在简单的时间序列预测中,移动平均可作为未来值的朴素预测(如取最近 k 期的均值作为下一期预测)。
4. 如何选择窗口长度
短窗口(如 5、10 日):对价格变化敏感,能及时反映最新变动,但保留较多噪音。
长窗口(如 50、200 日):平滑效果强,趋势更稳定,但滞后性明显。
取决于分析目的:短线交易者常用短期均线,长线投资者关注长期均线。
5. 注意事项
滞后性:移动平均本质上是一种滞后指标,因为它基于历史数据计算,趋势反转时均线可能延迟反应。
边界效应:在序列开头,窗口长度不足时,通常不计算移动平均值或采用部分数据计算。
不适用于非平稳序列:如果数据存在明显的季节性或其他复杂模式,单纯的移动平均可能无法充分捕捉,需结合其他方法(如季节分解、ARIMA 模型)。
6. 简单 Python 实现
import pandas as pd
import matplotlib.pyplot as plt
# 示例数据:假设有一列收盘价
data = {'price': [10, 12, 11, 13, 14, 15, 16, 14, 13, 15]}
df = pd.DataFrame(data)
# 计算简单移动平均(窗口 3)
df['SMA_3'] = df['price'].rolling(window=3).mean()
# 计算指数移动平均(窗口 3,span 参数对应窗口长度)
df['EMA_3'] = df['price'].ewm(span=3, adjust=False).mean()
print(df)输出:
price SMA_3 EMA_3 0 10 NaN 10.000000 1 12 NaN 11.000000 2 11 11.000000 11.000000 3 13 12.000000 12.000000 4 14 12.666667 13.000000 5 15 14.000000 14.000000 6 16 15.000000 15.000000 7 14 15.000000 14.500000 8 13 14.333333 13.750000 9 15 14.000000 14.375000
移动平均是一种简单却强大的工具,它通过平滑数据帮助人们洞察潜在趋势。无论是股票交易员用来判断买卖时机,还是数据分析师用来预处理时间序列,移动平均都是基础且必备的方法。在实际应用中,通常结合多种均线或与其他指标(如相对强弱指标 RSI、布林带)共同分析,以提高决策的准确性。

发表评论
所有评论