本文基于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')
目前股票数据可以,指数还不行。