问题描述
我在使用 Ta-lib 库时遇到问题。我正在尝试找到 BTC-USD 的 RSI 和布林带。问题是,当我尝试为任何加密货币查找它们时,它没有任何价值(NaN)。但是当我尝试为任何股票找到它们时,它就起作用了。当我显示数据(打开关闭高低成交量)时,它一直有效(对于加密货币和股票)。它给了我正确的: picture_0
但是当我计算加密货币的 RSI 和 BANDS 时,它不起作用。
这是我的代码:
classification.prediction(test_data.values)
当我运行它时,它给了我,当我的 df 是股票的数据框时: picture_1
当我运行它时,当我的 df 是加密货币的数据框时,它给了我: picture_2
一开始,我认为问题出在指标上,所以我尝试用 ROC 替换 RSI,看看它是否有变化。
因此,我将 def get_indicators(data):
# Get RSI
data["rsi"] = talib.RSI(data["Close"],timeperiod=7)
data["upper"],data["middle"],data["lower"] = talib.BBANDS(data["Close"],timeperiod=10,nbdevup=2,nbdevdn=2)
# pprint(upper)
# pprint(middle)
# pprint(lower)
return data
df2 = get_indicators(df)
df2
替换为 data["rsi"] = talib.ROC(data["Close"],timeperiod=7)
,这一次它正确计算了股票和加密货币的 ROC。它给了我:
我不明白问题出在哪里,可以计算股票的 RSI 和布林带,但不能计算加密货币。有人可以帮我吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)