簡體   English   中英

Python Finance:get_data_yahoo 未檢索數據

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM