![](/img/trans.png)
[英]Python Pandas DataReader vs get_data_yahoo which is better?
[英]Python Finance: get_data_yahoo Not Retrieving Data
大约一年前我运行了这段代码,它运行良好。 现在它已经停止工作,我认为它与 get_data_yahoo 函数有关。 这是我尝试运行的部分代码:
pd.options.display.width = 0
stocklist = si.tickers_sp500()
index_name = '^GSPC' # S&P 500: ^GSPC Dow Jones: ^DJI Nasdaq: ^IXIC
# Initiate stock index
n = -1
for stock in stocklist:
n += 1
# Set a time delay between each stock
time.sleep(0.25)
# Inform user which stock is being evaluated
print("\nPulling {} with Index {}".format(stock, n))
# Set 1-year time duration starting from 365 days ago today
start_date = datetime.datetime.now() - datetime.timedelta(days=365)
end_date = datetime.date.today()
# Download stock data for set time duration
# (Optional??) stock = [stock + '.AX' for stock in stocklist]
df = pdr.get_data_yahoo(stock, start=start_date, end=end_date)
现在这不返回任何数据。 我错过了什么?
可能库的语法已经改变。 我更改了您的代码并尝试请求几个 10 股。 40岁以后,我自己停止了。 在我看来,没有必要经常滥用和请求数据,而不是太多。 并且还将请求的深度减少了四天。 如果您请求深度数据,很有可能您会遇到未交易的股票并且脚本将关闭(我见过这样的问题)。
import pandas_datareader.data as web
import yahoo_fin.stock_info as si
import pandas as pd
import datetime
import time
pd.options.display.width = 0
stocklist = si.tickers_sp500()
index_name = '^GSPC' # S&P 500: ^GSPC Dow Jones: ^DJI Nasdaq: ^IXIC
n = -1
for stock in stocklist:
n += 1
# Set a time delay between each stock
time.sleep(0.25)
# Inform user which stock is being evaluated
print("\nPulling {} with Index {}".format(stock, n))
# Set 1-year time duration starting from 365 days ago today
start_date = datetime.datetime.now() - datetime.timedelta(days=4)
end_date = datetime.date.today()
df = web.DataReader(stock, 'yahoo', start=start_date, end=end_date)
print(df)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.