YFinance - tickerData.info 不适用于某些股票
YFinance - tickerData.info not working for some stocks
import yfinance as yf
#define the ticker symbol
tickerSymbol = "AFT.NZ"
#get data on this ticker
tickerData = yf.Ticker(tickerSymbol)
print(tickerData.info)
这似乎不起作用。 IndexError: list index out of range
将 "AFT.NZ" 替换为 "MSFT" 或 "FPH.NZ",效果很好。去雅虎网站,看不出为什么上面没有数据。
更令人困惑的是,将 print(tickerData.info)
替换为 tickerDf = tickerData.history(period='max')
确实打印了一些数据。
我需要这些信息,因为我想要公司的全名以及股票交易的货币。这就是为什么仅仅拥有价格数据不是解决方案的原因。
AFT.NZ只是一个例子,NZX50 上的大多数其他人似乎都有同样的问题。
我遇到了同样的问题,看到 github 上有很多帖子有同样的错误。
我已经通过 try & 除了 yfinance
的 base.py 文件中的错误修复了错误
第 282 行
# holders
try:
url = "{}/{}/holders".format(self._scrape_url, self.ticker)
holders = _pd.read_html(url)
self._major_holders = holders[0]
self._institutional_holders = holders[1]
if 'Date Reported' in self._institutional_holders:
self._institutional_holders['Date Reported'] = _pd.to_datetime(
self._institutional_holders['Date Reported'])
if '% Out' in self._institutional_holders:
self._institutional_holders['% Out'] = self._institutional_holders[
' % Out'].str.replace('%', '').astype(float)/100
except:
print("institutional_holders error")
不是很好的解决方案,但对我来说 运行。我不是一个优秀的程序员,所以我希望开发人员能够以更微妙的方式解决这个问题。
williamsiuhang 提出了一个合并请求来解决这个问题,目前已有 9 天了。
https://github.com/ranaroussi/yfinance/pull/371/commits/7e137357296a1df177399d26543e889848efc021
我只是自己手动更改,进入base.py(在your_py_dir\Lib\site-packages\yfinance)并更改第 286 行:
旧行:
self._institutional_holders = holders[1]
换行:
self._institutional_holders = holders[1] if len(holders) > 1 else []
import yfinance as yf
#define the ticker symbol
tickerSymbol = "AFT.NZ"
#get data on this ticker
tickerData = yf.Ticker(tickerSymbol)
print(tickerData.info)
这似乎不起作用。 IndexError: list index out of range
将 "AFT.NZ" 替换为 "MSFT" 或 "FPH.NZ",效果很好。去雅虎网站,看不出为什么上面没有数据。
更令人困惑的是,将 print(tickerData.info)
替换为 tickerDf = tickerData.history(period='max')
确实打印了一些数据。
我需要这些信息,因为我想要公司的全名以及股票交易的货币。这就是为什么仅仅拥有价格数据不是解决方案的原因。
AFT.NZ只是一个例子,NZX50 上的大多数其他人似乎都有同样的问题。
我遇到了同样的问题,看到 github 上有很多帖子有同样的错误。
我已经通过 try & 除了 yfinance
的 base.py 文件中的错误修复了错误第 282 行
# holders
try:
url = "{}/{}/holders".format(self._scrape_url, self.ticker)
holders = _pd.read_html(url)
self._major_holders = holders[0]
self._institutional_holders = holders[1]
if 'Date Reported' in self._institutional_holders:
self._institutional_holders['Date Reported'] = _pd.to_datetime(
self._institutional_holders['Date Reported'])
if '% Out' in self._institutional_holders:
self._institutional_holders['% Out'] = self._institutional_holders[
' % Out'].str.replace('%', '').astype(float)/100
except:
print("institutional_holders error")
不是很好的解决方案,但对我来说 运行。我不是一个优秀的程序员,所以我希望开发人员能够以更微妙的方式解决这个问题。
williamsiuhang 提出了一个合并请求来解决这个问题,目前已有 9 天了。 https://github.com/ranaroussi/yfinance/pull/371/commits/7e137357296a1df177399d26543e889848efc021
我只是自己手动更改,进入base.py(在your_py_dir\Lib\site-packages\yfinance)并更改第 286 行:
旧行:
self._institutional_holders = holders[1]
换行:
self._institutional_holders = holders[1] if len(holders) > 1 else []