首页 >> 数据分析

移动平均是什么?

      移动平均(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)

将窗口内的每个数据点赋予相同权重,直接求算术平均。

bea1a1ac36e6d561f1f7cfa00.png

  • nn:窗口长度

  • xi: 第 i 期的原始值

  • 优点:计算简单,直观。

  • 缺点:对近期和远期数据同等看待,对最新变化反应较慢;所有历史数据一旦离开窗口就被完全丢弃。

2.2 加权移动平均(WMA)

给窗口内的数据赋予不同权重,通常越近的数据权重越大,以更快反映最新变化。

bea1a1ac36e6d561f1f7cfa01.png

权重 wiwi 可以自行设定,例如线性递增权重(最近数据权重最高)。

2.3 指数移动平均(EMA)

一种特殊的加权平均,权重随时间呈指数衰减,越近的数据权重越大,且理论上所有历史数据都会参与计算(但越早的数据权重趋近于零)。EMA 的计算通常采用递推公式:

bea1a1ac36e6d561f1f7cfa02.png

  • n阿尔法 = 2/n+1,n 为指定的窗口长度(或平滑系数)。

  • α=2n+

    初始值 EMA1EMA1 通常设为 x1x1 或前几期的简单平均。

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、布林带)共同分析,以提高决策的准确性。






发表评论

昵称:
联系方式:
评论内容:

所有评论

最新文章
移动平均是什么?2026-03-06
嗨,这里是 MySQL Tool2026-03-05
指数平滑法是什么?2026-03-04
mysql命令-mysqlimport2026-02-01
mysql命令-mysql_tzinfo_to_sql2026-02-01
mysql命令-mysql2026-02-01
mysql命令-my_print_defaults2026-02-01
mysql命令-mysqldumpslow2026-02-01
mysql命令-mysqld2026-02-01
mysql命令-mysql_secure_installation2026-02-01
备案号:蜀ICP备2023042032号-1