Python:超出最大递归深度错误|使用Quandl API获取股票价格数据

时间:2017-11-15 20:34:32

标签: python recursion quandl

我正在尝试从Quandl获取股票市场数据,以获取从S& P 500中删除的股票代码列表。

API调用包含在一个函数和一个for循环中,它遍历一个ticker符号列表并将它们传递给API调用语句。但是,在运行该函数时,我遇到了递归错误。

这是我的代码块。该函数接受两个参数,API调用和tickr符号列表。

API调用由qd.get_table语句进行:

def get_quandl_data(quandl_code, tickr):
    tickr_list = []
    for i in tickr:
        tickr_list.append(i)
        #print(tickr_list[0])
        #API call to fetch data
        df = qd.get_table(quandl_code, qopts = {'columns': ['ticker', 'date', 'close']}, ticker=tickr_list, date = { 'gte': '2014-01-01', 'lte': '2017-11-01' }, paginate=True)
        tickr_list.remove(i)
        #Save data as pickle
        df.to_pickle('qd_data.pickle')
return df

抛出的错误是: “RecursionError:调用Python对象时超出了最大递归深度”,它指向代码中的API调用行。

回溯:

---------------------------------------------------------------------------
RecursionError                            Traceback (most recent call last)
<ipython-input-49-950ac093b844> in <module>()
----> 1 qd_data = get_quandl_data('WIKI/PRICES', tickrs)
      2 qd_data.head()

<ipython-input-48-d23d88ffb155> in get_quandl_data(quandl_code, tickr)
      5         #print(tickr_list[0])
      6         #API call to fetch data
----> 7         df = qd.get_table(quandl_code, qopts = {'columns': ['ticker', 'date', 'close']}, ticker=tickr_list, date = { 'gte': '2014-01-01', 'lte': '2017-11-01' }, paginate=True)
      8         tickr_list.remove(i)
      9         #Save data as pickle

代码的期望行为是创建一个数据框,其中包含API为列表中的所有股票代码符号提取的股票市场数据。

0 个答案:

没有答案