📜  python scipy 移动平均线 - Python (1)

📅  最后修改于: 2023-12-03 15:04:08.416000             🧑  作者: Mango

Python Scipy 移动平均线

简介

本文将介绍如何使用 Python 的 Scipy 库计算移动平均线。移动平均线常常用于分析时间序列数据,以削弱噪声效应并更准确的表示趋势。

移动平均线原理

移动平均线是通过计算某一时间窗口内数据的平均值来抵消噪声,更准确地表示趋势。例如,计算 5 天的移动平均线意味着将过去 5 天的数据相加并除以 5,这可以减少每天的波动,使趋势更加显著。

Scipy 移动平均线实现

Scipy 库提供了 scipy.signal 模块,其中包含计算移动平均线的函数 savgol_filter。函数参数包括要平滑的时间序列数据、时间窗口的长度和多项式拟合的阶数。

以下是一个示例代码片段,其中使用移动平均线计算一个长度为 5 的时间窗口内的平均值:

import numpy as np
from scipy.signal import savgol_filter

# 生成随机时间序列数据
data = np.random.rand(20)

# 计算移动平均线
window_size = 5
poly_order = 1
smooth_data = savgol_filter(data, window_size, poly_order)

# 输出结果
print(smooth_data)

结果类似于以下内容:

[ 0.14898934  0.29521517  0.43775971  0.57564094  0.70887687  0.8374845
  0.96148083  1.08088887  1.1957286   1.30602004  1.41178819  1.51306403
  1.60987958  1.70226583  1.79025379  1.87387445  1.95315882  2.02813789
  2.09884267  2.16530415]
结论

使用 Scipy 库的 savgol_filter 函数可以很容易地计算移动平均线。移动平均线经常用于时间序列数据,以削弱噪声效应并更准确地表示趋势。