【问题标题】:Error using pandas datareader to extract stock data from alpha vantage使用 pandas datareader 从 alpha vantage 提取股票数据时出错
【发布时间】:2020-05-06 17:02:36
【问题描述】:

我正在尝试从 Alpha Vantage 收集库存数据,但我一直收到错误消息?我正在使用 Alpha Vantage 来提取数据。我的代码如下:

import pandas_datareader.data as web
import pandas as pd
import numpy as np
import datetime

start = datetime.datetime(2006,1,1)
end = datetime.datetime(2016,1,1)
BAC = web.DataReader('BAC', 'av-daily', start, end,api_key='****')
C = web.DataReader('C', 'av-daily', start, end,api_key='****')
GS = web.DataReader('GS', 'av-daily', start, end,api_key='****')
JPM = web.DataReader('JPM', 'av-daily', start, end,api_key='****')
MS = web.DataReader('MS', 'av-daily', start, end,api_key='****')
WFC = web.DataReader('WFC', 'av-daily', start, end,api_key='****')

星号表示我来自 Alpha Vantage 的 API 密钥。当我运行它时,我收到以下错误:

KeyError                                  Traceback (most recent call last)
~\Anaconda3\lib\site-packages\pandas_datareader\av\__init__.py in _read_lines(self, out)
     71         try:
---> 72             df = pd.DataFrame.from_dict(out[self.data_key], orient="index")
     73         except KeyError:

KeyError: 'Time Series (Daily)'

During handling of the above exception, another exception occurred:

RemoteDataError                           Traceback (most recent call last)
<ipython-input-37-4c470c35e03d> in <module>
      3 BAC = web.DataReader('BAC', 'av-daily', start, end,api_key='JLUM6QNSDCL3OHTU')
      4 C = web.DataReader('C', 'av-daily', start, end,api_key='JLUM6QNSDCL3OHTU')
----> 5 GS = web.DataReader('GS', 'av-daily', start, end,api_key='JLUM6QNSDCL3OHTU')
      6 JPM = web.DataReader('JPM', 'av-daily', start, end,api_key='JLUM6QNSDCL3OHTU')
      7 MS = web.DataReader('MS', 'av-daily', start, end,api_key='JLUM6QNSDCL3OHTU')

~\Anaconda3\lib\site-packages\pandas\util\_decorators.py in wrapper(*args, **kwargs)
    206                 else:
    207                     kwargs[new_arg_name] = new_arg_value
--> 208             return func(*args, **kwargs)
    209 
    210         return wrapper

~\Anaconda3\lib\site-packages\pandas_datareader\data.py in DataReader(name, data_source, start, end, retry_count, pause, session, api_key)
    577             pause=pause,
    578             session=session,
--> 579             api_key=api_key,
    580         ).read()
    581 

~\Anaconda3\lib\site-packages\pandas_datareader\base.py in read(self)
     98         """Read data from connector"""
     99         try:
--> 100             return self._read_one_data(self.url, self.params)
    101         finally:
    102             self.close()

~\Anaconda3\lib\site-packages\pandas_datareader\base.py in _read_one_data(self, url, params)
    110         else:
    111             raise NotImplementedError(self._format)
--> 112         return self._read_lines(out)
    113 
    114     def _read_url_as_StringIO(self, url, params=None):

~\Anaconda3\lib\site-packages\pandas_datareader\av\time_series.py in _read_lines(self, out)
    103 
    104     def _read_lines(self, out):
--> 105         data = super(AVTimeSeriesReader, self)._read_lines(out)
    106         # reverse since alphavantage returns descending by date
    107         data = data[::-1]

~\Anaconda3\lib\site-packages\pandas_datareader\av\__init__.py in _read_lines(self, out)
     79                 )
     80             else:
---> 81                 raise RemoteDataError()
     82         df = df[sorted(df.columns)]
     83         df.columns = [id[3:] for id in df.columns]

RemoteDataError: 

有人知道这是什么意思吗?有时我会收到此错误,有时我不会?我会运行单元格,它会没事的,如果我在几分钟后运行它有时会出现这个错误?

【问题讨论】:

    标签: python-3.x pandas pandas-datareader alpha-vantage


    【解决方案1】:

    当数据供应商出现错误时会引发RemoteDataError(),在这种情况下,看起来您使用的是标准 API 密钥。引用the site,标准密钥的阈值为:

    每分钟最多 5 个 API 请求和每天 500 个请求,以实现最佳服务器端性能。如果您想针对更大的 API 调用量,请访问premium membership

    所以这就是为什么它有时只能工作,你正在达到免费密钥的速率限制。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-07
      • 2020-02-16
      • 1970-01-01
      • 2019-01-07
      • 2020-07-03
      • 2023-01-31
      • 1970-01-01
      • 2021-04-08
      相关资源
      最近更新 更多