KeyError:“ begins_at”

时间:2018-09-01 21:22:06

标签: python dataframe matplotlib

TICKERS = ['^GSPC','^IXIC','^GDAXI', '^FTSE']
ind_data = pd.DataFrame()
for f in TICKERS:
    ind_data [f] = wb.DataReader(f,data_source = 'robinhood',start = '1998-01-01') ['close_price'].values

KeyError                                  
Traceback (most recent call last)
<ipython-input-813-4985fcf38db5> in <module>()
      2 ind_data = pd.DataFrame()
      3 for f in TICKERS:
----> 4     ind_data [f] = wb.DataReader(f,data_source = 'robinhood',start = '1998-01-01') ['close_price'].values


KeyError: 'begins_at'

2 个答案:

答案 0 :(得分:0)

我在使用破折号,但是遇到了同样的问题。

这是关于数据框的非常有用的文档 https://media.readthedocs.org/pdf/pandas-datareader/latest/pandas-datareader.pdf

我仍然无法从股票交易中获得股票价格,但是在我的案例中,我成功地将图表与其他API一起显示出来了,这很麻烦。

我从阅读上面给出的文档中学到的东西很少。

  1. 每个代理提供不同长度的数据。例如。 robinhood只提供1年。 (因此,这似乎不成问题。即使您要求的时间超过1年,我也只会为您提供1年的数据)

  2. 每个代理中使用的符号不同。 例如。 Morningstar(不再可用)将aapl用于苹果股票。 quandl使用了WIKI / AAPL。

我敢肯定还有更多类似我上面给出的例外,但这就是我目前所知道的,因为我只花了不到10分钟的时间就看了一下文档。

答案 1 :(得分:0)

所有包含破折号和插入号的股票代号都遇到相同的问题。

如果Robinhood不支持该股票代码,那么您将获得相同的“ begins_at”按摩。

这里是一个示例,Robinhood不支持股票代码IMIO,并且会提供相同的消息。 import pandas_datareader.data as web web.DataReader("IMIO", 'robinhood')