简单的PythonPandasEMA(ewma)?

2024-03-28 20:40:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我写了一些代码来构建自己的EMA/MACD,但是我决定让Pandas试试。

我正在使用以下网站作为对EMA的基本了解,并试图让熊猫给我相同的答案,以确保我正确使用熊猫:

http://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:moving_averages

这是我正在处理的数据图表。

enter image description here

下面是我试图开始工作的代码,但它给出的输出与10天EMA列不同

import pandas as pd

data=[22.27,22.19,22.08,22.17,22.18,22.13,22.23,22.43,22.24,22.29,22.15,22.39,22.38,22.61,23.36,24.05,23.75,23.83]

df=pd.Series(data)

pd.ewma(df, span=10)

我也试过,但没有成功。

pd.ewma(df, span=10, min_periods=10)

如有任何帮助,我们将不胜感激。


Tags: 答案代码comhttppandasdfdata网站
2条回答

巧合的是,这个问题在这里被问和回答:Does Pandas calculate ewm wrong?

看看@chrisb的答案。要计算本文中所述的EWM:

  1. 手动计算第一个有效的简单MA作为EWA的起点
  2. adjust=False运行pandas的EWM

根据calculate-exponential-moving-average-with-pandas自我回答,并假设close序列与close price对应,您可以使用此函数获取EMA 10(如果您想要另一个跨度,请将跨度更改为所需的范围)

df['ema10'] = pd.Series.ewm(df['close'], span=10).mean()

相关问题 更多 >