gpt4 book ai didi

python - 指数移动平均线 Pandas vs Ta-lib

转载 作者:太空狗 更新时间:2023-10-30 01:12:02 25 4
gpt4 key购买 nike

我目前正在编写涉及一些财务计算的代码。尤其是一些指数移动平均线。为了完成这项工作,我尝试了 Pandas 和 Talib:

talib_ex=pd.Series(talib.EMA(self.PriceAdjusted.values,timeperiod=200),self.PriceAdjusted.index) 
pandas_ex=self.PriceAdjusted.ewm(span=200,adjust=True,min_periods=200-1).mean()

它们都工作正常,但它们在数组的开头提供不同的结果:

200 day EMA - Talib vs Pandas

所以有一些参数需要更改为 pandas 的 EWMA 或者这是一个错误,我应该担心吗?

提前致谢

卢卡

最佳答案

对于 talib ema,公式是:

所以在使用pandas的时候,如果你想让pandas ema和talib一样,你应该这样使用:

pandas_ex=self.PriceAdjusted.ewm(span=200,adjust=False,min_periods=200-1).mean()

如果要使用与talib相同的公式,请根据文档(https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.ewm.html)将adjust设置为False:

When adjust is True (default), weighted averages are calculated using weights (1-alpha)(n-1), (1-alpha)(n-2), ..., 1-alpha, 1.

When adjust is False, weighted averages are calculated recursively as:weighted_average[0] = arg[0]; weighted_average[i] = (1-alpha)weighted_average[i-1] + alphaarg[i].

您也可以引用这里: https://en.wikipedia.org/wiki/Moving_average

PS:但是,在我的项目中,我仍然发现 talib 和 pandas.ewm 之间存在一些小差异,并且还不知道为什么......

关于python - 指数移动平均线 Pandas vs Ta-lib,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45186262/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com