本文基于2021年发布的FinRL框架,在第一步下载数据便遇到了问题

要么时区获取不到:No timezone found, symbol may be delisted

要么数据没有:No data found for this date range, symbol may be delisted

其实都是代理问题

FinRL: Deep Reinforcement Learning Framework to Automate Trading in Quantitative Finance

代码使用yfinance从雅虎财经获取股票数据,但国内访问不了,需要代理。

下面总结遇到的问题和解决方法

首先要有一个代理,然后找到代理的IP和端口,具体地:

这里端口号取决于自己的proxy,9981是我的

如果使用pycharm,则可以配置一下代理:

重要的来了,pip安装的相当于是yfinance稳定版,在代理配置上有问题,因此,需要前往github找到其hotfix/proxy分支并下载覆盖至本地yfinance

https://github.com/ranaroussi/yfinance/tree/hotfix/proxy

找到本地Lib,替换这些就行,我的是conda X:\Anaconda\envs\frlib\Lib\site-packages\yfinance

然后在download处添加proxy参数就可以了

temp_df = yf.download(tic, start=self.start_date,     end=self.end_date, threads=True, proxy='127.0.0.1:9981')

目前股票数据可以,指数还不行。