'yahoo'与格式不符

时间:2017-06-05 22:36:34

标签: python finance

我正在尝试从雅虎获取S& P500数据。 已安装fix_yahoo_finance,并使用yf.download()

我试图破坏代码,它给了我以下输出

ValueError:时间数据'yahoo'与格式'%Y-%m-%d'不匹配

代码如下:

import bs4 as bs
import datetime as dt
from datetime import datetime
import os 
import pandas as pd
import fix_yahoo_finance as yf
from pandas_datareader import data as web
import fix_yahoo_finance
import pickle 
import requests
def save_sp500_tickers():
    resp = requests.get('https://en.wikipedia.org/wiki/List_of_S%26P_500_companies')
    soup = bs.BeautifulSoup(resp.text, 'lxml')
    table = soup.find('table', {'class':'wikitable sortable'})
    tickers = []
    for row in table.findAll('tr')[1:]:
        ticker = row.findAll('td')[0].text
        tickers.append(ticker)

    with open('sp500tickers.pickle','wb') as f:
              pickle.dump(tickers, f)
    print(tickers)  

    return tickers


#save_sp500_tickers()


def get_data_from_yahoo(reload_sp500=False):
    if reload_sp500:
        tickers = save_sp500_tickers()
    else:
        with open('sp500tickers.pickle','rb') as f:
            tickers = pickle.load(f)

    if not os.path.exists('stock_dfs'):
        os.makedirs('stock_dfs')



    for ticker in tickers:
        print(ticker)
        if not os.path.exists('stock_dfs/{}.csv'.format(ticker)):
           start = dt.datetime(2000,1,1)
           end = dt.datetime(2016,12,31)
            df = yf.download(ticker, 'yahoo', start, end)
            df.to_csv('stock_dfs/{}.csv'.format(ticker))
        else:
            print('Already have{}'.format(ticker))

get_data_from_yahoo()

我是初学者(已经探索了一个月的python)所以解决方案可能很简单,但我找不到真正回答我问题的东西。

谢谢!

0 个答案:

没有答案