因为从2021 年11 月1 日起,用户无法从中国大陆地区使用Yahoo 产品与服务
所以下面两个错误,都是代理配置的问题
error:No timezone found, symbol may be delisted

error:No data found for this date range, symbol may be delisted

以下是解决办法:
1.实现强劲上网,保证你可以在浏览器访问google
2.配置主机代理,其中10809是我的端口号

3.配置pythoncharm的代理,看图即可,和第二步的内容设置成一样的

4.编写代码从yahoo获取数据,且在代码里也要写你的代理配置

import yfinance as yfmsft = yf.Ticker("MSFT")stock_price = yf.download("AAPL", start="2017-01-01", end="2017-04-30", proxy="http://127.0.0.1:10809")print(stock_price)

5.成功


环境如下:
yfinance 0.2.17
pandas 1.5.3
pandas-datareader 0.10.0
python 3.8

尤其注意,pandas如果是2.0.0的话还是拿不到数据,这个我试过。