如何解决yfinance 给出错误的数字
我一直在尝试计算股票的 14 RSI,但 yfinance 一直给我错误的数字
import time
import pprint as pp
import pandas as pd
import pandas as pd
import datetime as dt
import pandas_datareader as web
ticker = 'TSLA'
start = dt.datetime(2018,1,1)
end = dt.datetime.now()
data = web.DataReader(ticker,'yahoo',start,end)
delta = data['Adj Close'].diff(1)
delta.dropna(inplace=True)
positive = delta.copy()
negative = delta.copy()
positive[positive < 0] = 0
negative[negative > 0] = 0
days = 14
average_gain = positive.rolling(window=days).mean()
average_loss = abs(negative.rolling(window=days).mean())
relative_strenght = average_gain / average_loss
rsi = 100.0 - (100.0 / (1.0 + relative_strenght))
print(ticker + str(rsi))
当我应该得到 70.13(14 天 RSI)时,它最终给了我 77.991564(14 天 RSI),不知道是否有修复它,或者有其他更好的库吗?
解决方法
众所周知,yf中经常会出现一些错误的数据。尽管如此,请验证您是否在以两种方式在同一收盘价上计算 RSI。在这两种情况下都应该出价,询问中。
最好的办法是在经纪商处获得一个专业账户。即使在那种情况下,我也曾经有过一些糟糕的惊喜。
您应该尝试使用 https://alpaca.markets/docs/,因为那里的数据非常安全。
我认为无论如何你应该感到满意。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。