安装篇
直接搜索qlib的时候,进入的是官方文档,但是文档的更新远不如github上的快,如果以github上的技术文档以及issue作为一手资料, o(TヘTo)我应该不用装那么那么久了!
github地址速达:GitHub - microsoft/qlib:Qlib 是一个面向 AI 的量化投资平台,旨在利用 AI 技术在量化投资中发挥潜力、赋能研究并创造价值,从探索想法到实施生产。
文档提供了两种安装方式
# 在python=3.7或3.8环境下,直接使用pip安装 pip install pyqlib # 在python=3.7或3.8环境下,使用源安装需要进行三步 pip install numpy pip install cython git clone https://github.com/microsoft/qlib.git && cd qlibpython setup.py install python setup.py install #注意:需要进入到qlib项目目录下才可以运行该脚本
环境:windows 包管理:anaconda IDE:Visual Studio Code
本地环境导致失败的问题:根据Microsoft Visual C++ 14.0 is required 的终极解决办法-CSDN博客装过visual studio的C++开发工具。
使用源安装失败但无法解决:
sklearn包冲突…哪怕强行自己下载回来再装,也会遇到其他各种包冲突。尝试了开发者的建议Help installing pyqlib · Issue #1731 · microsoft/qlib,问题仍然无法解决,选择放弃使用源安装。
Linux环境下进行安装,发现自己如何再Linux下科学访问git并且将项目克隆下来一窍不通,其实这里有个解决方法,可以使用某个软件将宿主机的文件传输到虚拟机上的,但我也是一窍不通,暂时放下,选择绕过。
使用wsl,当时被很多失败打击到,对于新方法处于观望的态度,成为了备选方案,未尝试过。
使用pip install pyqlib过程:
克隆项目到本地。
创建虚拟环境python版本选择3.7或3.8,并运行 pip install pyqlib
进入项目目录运行对应指令。
小白应该知道的git运行项目思路:
克隆项目到本地
使用环境管理软件创建环境,并根据项目提示安装依赖。如果是有路径的指令,一般需要在激活环境的命令端口下进入项目的目录再运行指令。
包冲突报错:出现包冲突问题一般都不是包的问题,是环境的问题,比如对python的版本要求或者linux环境要求,需要多看isuus多排查。
运行指令报错。
无xx模块报错,缺啥装啥
无法找到xx路径报错。
原因1:没有进入到项目目录运行指令
原因2:没有额外下载数据并存放到对应位置,查看readme关于数据加载部分的内容(机器学习一般需要自行额外下载数据)。
其他方法
参考该up主 2 扫地僧微软AI量化平台Qlib教程:安装Qlib_哔哩哔哩_bilibili 可以成功运行。
需要自行下载torch
我尝试了纯cpu运行TRA模型在Alpha128上跑,1epoch起码要20分钟,还是需要GPU的。
GPU配置
qlib对torch版本没有限制,因此根据电脑实际情况安装即可。参考链接:2021最新 超详细环境配置 避开安装cuda所有坑_cuda version与sdk-CSDN博客
过程思路:
查看项目是否对torch有版本限制,有则从torch版本倒推cudann的版本再倒推cudatoolkit版本结合自己电脑实际情况进行安装。没有就从2开始。
查看电脑中cuda显卡驱动是否为最新,先更新安装最新驱动。
在cmd中输入nvidia-smi
查看cuda version,显示的cuda version就是支持cudatoolkit的最高版本。
安装cudatoolkit
根据cudatoolkit版本安装cudann
根据cudatollkit版本安装pytorch,根据官网提示在虚拟环境中粘贴对应的下载指令。切记不能换源!
检查是否成功。激活环境,输入python进入编辑器模式。输入import torch
回车torch.cuda.is_available()
回车,返回true
即配置好啦!
数据加载
文档的指令未更新,项目readme说了官方数据现在还不能用,给了参考链接的数据进行使用。
不要使用指令下载,有点慢,因为一般终端都没有走梯子嘛。
这个项目超级贴心?,每天都会更新,qlib_bin.tar.gz
包含的是05年1月4日到昨天的数据。
解压,并将这三个文件复制粘贴到项目进行数据读取的默认地址。
默认地址示例:C:\Users\Finorita\.qlib\qlib_data\cn_data
其中Finorita
是我电脑的用户名。
若无该文件夹,则可以自己创建,也可在终端运行命令 mkdir -p ~/.qlib/qlib_data/cn_data
。
也可以自定义存放项目数据读取的路径,需要进入到项目的配置文件和model.py去查看如何改地址,我还没探索过。
运行模型
基本流程
激活环境,进入到你想运行的model中。所有model都存放在:qlib\examples\benchmarks\
下。
接着输入qrun 对应model的配置文件.yaml
运行即可。
注意:
我发现在github中直接download会显示为qlibmain之类的文件夹名称,一样的也是在examples\benchmarks
下可以找到许多论文对应的复现模型。
但是qlib有些论文只提供了alpha数据集的配置文件,在CSI300等数据集上的运行结果,不是提供了所有配置文件,参考readme,readme没说基本就是只提供了关于alpha数据集的配置文件了。
GRU运行示例-vscode
1. 快速进入对应文件夹,或使用cd
命令
2. 查看虚拟环境是否对应
若不合适,参照下面进行快速修改。我尝试过在IDE里面的终端使用conda actiave
的方式激活环境,根本不行。
3. 运行 qrun workflow_config_gru_Alpha158.yaml
示例运行的是gru在alpha158数据集的训练。网络的训练配置可以打开workflow_config_gru_Alpha158.yaml
进行修改。每个字段的含义参考官方文档:工作流程: 工作流程管理 — QLib 中文文档 0.9.3.99 文档
同理,运行结果参考官方文档给出的解释和公式噢!