我只是在编写一些简单的代码来从 yfinance 下载数据。当我第一次启动它时它工作正常。但现在变得非常缓慢。我的意思是下载 15 个代码以供以下调用需要 20 分钟。我错过了什么吗?
import yfinance as yf
df = yf.download(tickers, period = "10d", interval = "1wk")
这也发生在我身上。我最好的想法是请求限制被触发并且连接被限制。虽然不是积极的。
雅虎的连接限制大约是每小时 10k 个请求,我的下载在大约 1500 次后变慢了。我曾经下载很多代码的数据没有问题(约 20 分钟,4 个线程)。现在大约需要100个多小时。
编辑:似乎速率限制实际上是公共连接每小时
2000个请求。但是让我工作的真正答案更简单。yfinance 有错误(有时)。在我撰写本文时,似乎没有错误的最新版本是 0.1.62。只需运行pip install yfinance=<last.stable.release>
,您将获得更好的结果。
我建议使用 pandas datareader 而不仅仅是 yfinance。
from pandas_datareader import data as pdr
import yfinance as yf
yf.pdr_override()
data = pdr.get_data_yahoo(tickers, period = "10d", interval = "1wk")
根据我的经验,这更快