![](/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.