首页 > 解决方案 > Alpha Vantage“KeyError:'时间序列(每日)'”

问题描述

我正在尝试制作一个简单的 GUI,从 Alpha Vantage 收集几组历史股票数据。我收到此错误:

  File "d:\GIT\StockAI\main.py", line 34, in run
    data = ts.get_daily(symbol=stock, outputsize='full')
  File "C:\Users\benlu\Anaconda3\lib\site-packages\alpha_vantage\alphavantage.py", line 178, in _format_wrapper
    data = call_response[data_key]
KeyError: 'Time Series (Daily)'

我不完全确定这意味着什么,而且我在搜索这个问题时遇到了一些麻烦。我认为这是我想念的相当简单的事情。此外,输出格式设置为 pandas,如果这很重要的话。这是(希望)所有相关代码:

stockList = ["AAPL", "AMZN", "GOOG", "GOOGL", "MSFT", "JPM", "JNJ", "BA"]

for stock in stockList:
    data = ts.get_daily(symbol=stock, outputsize='full')
    data[0].to_csv(stock + '.csv')

它似乎相当随机地工作。它会收集一些 .csv 文件,然后看似随机地停止...有人有什么帮助可以发送我的方式吗?我将不胜感激!

标签: pythonpandasalpha-vantage

解决方案


根据我的经验,当超出免费层限制时会发生这种情况。您每分钟只能调用 API 5 次。该错误非常具有误导性,但它与免费层有关。

要解决此问题,您只需在 5 次调用后添加超时,或获取高级 API。

来自网站支持页面的信息:

API 服务是否有使用/频率限制?

我们很自豪能够为我们的全球用户社区提供免费的 API 服务,并建议您谨慎地发出 API 请求(每分钟最多 5 个 API 请求,每天最多 500 个请求)以实现最佳的服务器端性能。如果您想针对更大的 API 调用量,请访问高级会员。

注意:如果您是学生或教育工作者,您的学校很可能已经与 Alpha Vantage 建立了数据合作伙伴关系。如果没有,请让您的学校/图书馆管理员联系partnerships@alphavantage.co,了解教育机构的特殊合作计划。


推荐阅读