YFinance-tickerData.info对于某些股票不起作用

问题描述 投票:1回答:2
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

用“ MSFT”或“ FPH.NZ”替换“ AFT.NZ”,它可以正常工作。转到Yahoo网站,看不到为什么它没有数据。

更令人困惑的是,用print(tickerData.info)替换tickerDf = tickerData.history(period='max')确实会打印一些数据。

我需要信息,因为我想要公司的全名以及股票交易所用的货币。这就是为什么仅提供价格数据不是解决方案的原因。

[AFT.NZ只是一个例子,NZX50上的大多数其他文件似乎也有相同的问题。

python yahoo-finance
2个回答
0
投票

我遇到了同样的问题,并且看到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")

不是一个很好的解决方案,但是可以让我运行。我不是一个优秀的程序员,所以我希望开发人员以更精致的方式解决问题。


0
投票

[还有另外一个雅虎财务软件包似乎没有相同的问题:yahooquery。您可以通过以下方式获取名称和币种(以及其他信息):

from yahooquery import Ticker

Ticker('AFT.NZ').price
{
  "aft.nz": {
    "maxAge": 1,
    "preMarketChange": {},
    "preMarketPrice": {},
    "postMarketChange": {},
    "postMarketPrice": {},
    "regularMarketChangePercent": 0.0216216,
    "regularMarketChange": 0.07999992,
    "regularMarketTime": 1583274629,
    "priceHint": 4,
    "regularMarketPrice": 3.78,
    "regularMarketDayHigh": 3.78,
    "regularMarketDayLow": 3.72,
    "regularMarketVolume": 2466,
    "averageDailyVolume10Day": {},
    "averageDailyVolume3Month": {},
    "regularMarketPreviousClose": 3.7,
    "regularMarketSource": "DELAYED",
    "regularMarketOpen": 3.72,
    "strikePrice": {},
    "openInterest": {},
    "exchange": "NZE",
    "exchangeName": "NZSE",
    "exchangeDataDelayedBy": 0,
    "marketState": "REGULAR",
    "quoteType": "EQUITY",
    "symbol": "AFT.NZ",
    "underlyingSymbol": null,
    "shortName": "AFT Pharmaceuticals Ltd Ordinar",
    "longName": "AFT Pharmaceuticals Limited",
    "currency": "NZD",
    "quoteSourceName": "Delayed Quote",
    "currencySymbol": "$",
    "fromCurrency": null,
    "lastMarket": null,
    "volume24Hr": {},
    "volumeAllCurrencies": {},
    "circulatingSupply": {},
    "marketCap": 367828032
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.