在statsmodels的开发12版本文档上正好看到使用三因子模型进行rolling regression,但是代码来自最新版本,而我的是老版本,运行下列代码会出现这个问题:
No module named statsmodels.api
import statsmodels.api as sm from statsmodels.regression.rolling import RollingOLS
解决办法如下:在镜像网址上下载whl,一定要下载对应版本的
问题一:如何查看对应版本:
1.打开ipython 或python shell
2. 输入以下命令:
import pip
import pip._internal.pep425tags
print(pip._internal.pep425tags.get_supported())
我的对应版本是:
[<cp37-cp37m-win_amd64 @ 1145465332744>, <cp37-abi3-win_amd64 @ 1145469653448>, <cp37-none-win_amd64 @ 1145469654344>, <cp36-abi3-win_amd64 @ 1145469654728>, <cp35-abi3-win_amd64 @ 1145469654856>, <cp34-abi3-win_amd64 @ 1145469654984>, <cp33-abi3-win_amd64 @ 1145469655112>, <cp32-abi3-win_amd64 @ 1145469655240>, <py37-none-win_amd64 @ 1145469655432>, <py3-none-win_amd64 @ 1145469655560>, <py36-none-win_amd64 @ 1145469655688>, <py35-none-win_amd64 @ 1145469655816>, <py34-none-win_amd64 @ 1145469655944>, <py33-none-win_amd64 @ 1145469656072>, <py32-none-win_amd64 @ 1145469656200>, <py31-none-win_amd64 @ 1145469656328>, <py30-none-win_amd64 @ 1145469656456>, <cp37-none-any @ 1145469656584>, <py37-none-any @ 1145469656648>, <py3-none-any @ 1145469656712>, <py36-none-any @ 1145469656776>, <py35-none-any @ 1145469656840>, <py34-none-any @ 1145469656904>, <py33-none-any @ 1145469656968>, <py32-none-any @ 1145469657032>, <py31-none-any @ 1145470718024>, <py30-none-any @ 1145470718088>]
问题二:那么第二个问题来了,如何下载whl呢?
常用镜像网址:
https://pypi.tuna.tsinghua.edu.cn/simple/
一定要选择如上对应的版本,不然会出现is not a supported wheel on this platform的问题。
问题三:如何安装whl呢
我安装了anaconda,所以一定要把下载下来的whl放在对应anaconda的文件目录下:
C:\Users\登录名\Anaconda3\Lib\site-packages
然后用cmd cd 到这里:
就成功把最新版本的sttsmodel安装上了,然后就可以用https://www.statsmodels.org/stable/generated/statsmodels.regression.rolling.RollingOLS.html#statsmodels.regression.rolling.RollingOLS
上的代码跑回归了。