我如何正确计算股票的均线使用泰利布或Pandas?

2024-10-01 00:19:47 发布

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

编辑!

如果有人想知道这件事,我就想出来了。下面的实现没有问题。事实上,EMA需要超过21个数据点才能计算出20个数据点的指数移动平均数。这是因为先前的数据点会影响您试图计算的数据点。简单地说,我测试了你需要大约40-50个数据点来获得与100个以上数据点相同的20天均线。在


我试图计算一只股票的均线指数,但我的计算有点错误。我已经导出了AAPL最近22天以上的股票数据,当我试图为此计算均线时,每次都会出错。在

以下是我的示例的数据:https://pastebin.com/raw/2MsgCeQx

以下是我试图计算20天均线的解决方案。在

#Imported the data as "data".
#With Ta-lib
data["EMA20Talib"] = talib.EMA(data.uClose, timeperiod = 20)

#And with pandas
data["EMA20Pandas"] = data["uClose"].ewm(span=20, adjust = False).mean()

这是数据和结果的图像。 https://i.imgur.com/pFtc7x8.png

如您所见,Real20EMA与TA lib或pandas 20EMA不匹配。我做错什么了?在

uClose是计算均线的专栏,“Real20EMA”取自tradingview(与marketwatch交叉引用以确保其正确)。在

我注意到前面这里有一个类似的问题,有相同的问题:Pandas' EMA not matching the stock's EMA?。当你对索引进行排序时,问题就解决了,我已经确保了它的正确排序,但遗憾的是,我仍然遇到了同样的问题。在

我想用一些工具得到与其他金融网站相同的数字。奇怪的是,我尝试的这两种方法甚至都没有返回相同的结果。在


Tags: the数据httpscom编辑pandasdata排序