Pandas Data Reader Tiingo如果一个符号不存在或已摘牌,则在提取多个符号时出错



我正在编写一个应用程序来跟踪输入电子表格的股票数据。我目前的工作方式是为每个符号调用pandas_datareader.tiingo.TiingoDailyReader。数据读取器能够获取符号列表,并一次提取这些符号的所有数据。我更喜欢这样,因为我可以进行一次调用,然后查询它返回的数据帧。

我遇到的问题是,当一个符号被摘牌或不存在时,这会导致整个调用失败,从而导致空的数据帧。我通过对照Tiingo支持的符号列表检查所有符号来解决这个问题。然而,这并不完美,因为我遇到过一个支持符号但没有我请求的日期数据的例子。

是否有一种方法可以同时调用所有符号,并让数据读取器跳过这些错误或不返回问题符号的数据?

谢谢,

我认为在运行数据采集之前,您应该检查符号以及开始和结束日期。参考文献来自官方参考文献

import urllib.request
import pandas as pd
import io
url = 'https://apimedia.tiingo.com/docs/tiingo/daily/supported_tickers.zip'
zip_tickers = urllib.request.urlopen(url).read()
zip_tick = io.BytesIO(zip_tickers)
with zipfile.ZipFile(zip_tick) as myzip:
csv_data = myzip.extract('supported_tickers.csv')  
df = pd.read_csv(csv_data, sep=',')
df
ticker  exchange    assetType   priceCurrency   startDate   endDate
0   000001  SHE Stock   CNY 2007-08-30  2020-09-11
1   000002  SHE Stock   CNY 2000-01-04  2020-09-11
2   000003  SHE Stock   CNY NaN NaN
3   000004  SHE Stock   CNY 2007-08-31  2020-09-11
4   000005  SHE Stock   CNY 2001-01-02  2020-09-11
... ... ... ... ... ... ...
87303   ZZK NYSE ARCA   Stock   USD 2020-07-22  2020-09-11
87304   ZZLL    OTCBB   Stock   USD 2017-09-26  2020-09-11
87305   ZZLLD   OTCBB   Stock   USD 2017-10-06  2017-10-30
87306   ZZZ NYSE ARCA   Stock   USD 2014-10-31  2020-09-11
87307   ZZZOF   PINK    Stock   USD 2017-09-22  2020-09-11
87308 rows × 6 columns

相关内容

  • 没有找到相关文章

最新更新