我写了一些代码来构建我自己的EMA / MACD,但我决定试试Pandas。
我在下面使用这个网站作为对EMA的基本了解,并试图让大熊猫给我相同的答案,以确保我正确使用熊猫:
http://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:moving_averages
这是包含我正在使用的数据的图表。
以下是我试图开始工作的代码,但它给出了与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)
感谢任何帮助。
答案 0 :(得分:4)
巧合的是,这个问题在这里得到了回答:Does Pandas calculate ewm wrong?
在那里查看@ chrisb的答案。要计算您正在学习的文章中描述的EWM:
adjust=False
答案 1 :(得分:0)
根据calculate-exponential-moving-average-with-pandas自我回答,并假设close
系列与close price
对应,您可以使用它来获取EMA 10
:(如果您想要另一个范围,请将范围更改为您想要的范围
df['ema10'] = pd.Series.ewm(df['close'], span=10).mean()