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上的大多数其他文件似乎也有相同的问题。
我遇到了同样的问题,并且看到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")
不是一个很好的解决方案,但是可以让我运行。我不是一个优秀的程序员,所以我希望开发人员以更精致的方式解决问题。
[还有另外一个雅虎财务软件包似乎没有相同的问题: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
}
}