米筐开源量化框架 RQalpha 安装使用
RQalpha 是 Ricequant 开源的量化框架,提供数据获取,算法交易,策略回测,实盘模拟,实盘交易,数据分析等功能。RQalpha 的安装过程并不十分友好,本文讲述如何安装 RQalpha。安装环境是 Mac OS 操作系统。
安装步骤
1. 创建虚拟环境
RQalpha 推荐使用虚拟环境来安装,以避免由于各种环境问题导致安装失败。可以使用 conda 来创建虚拟环境,为使用 conda 命令,用户可以先下载安装 anaconda。由于 anaconda 并不是本文的讲述重点,anaconda 的安装可以参考 https://www.anaconda.com/,本文不再赘述。
使用以下命令创建虚拟环境:
1 | conda create -n rqalpha python=3.6 |
这样就基于 Python 3.6 创建了虚拟环境rqalpha
。创建虚拟环境后,激活环境。
1 | source activate rqalpha |
2. 安装 cython
使用命令 conda 来安装 cython。
1 | conda install cython |
3. 安装 bcolz
bcolz 是 RQalpha 的依赖库,RQalpha 使用 bcolz 来进行数据的存储。使用 conda 来安装 bcolz。
1 | conda install bcolz |
值得指出的是,安装 cython 和 bcolz 都需要使用 conda 命令来执行,使用 pip 命令来安装会出现安装失败的情况。
4. 安装 TA-Lib
Mac OS 下使用 brew 命令来安装 TA-Lib 。
1 | brew install ta-lib |
再使用 pip 命令来安装 Python 库,使用 pip 命令来安装 TA-Lib,是由于 conda 命令不存在 TA-Lib。
1 | pip install TA-Lib |
5. 安装 rqalpha
完成前面的安装工作,就可以正式安装 rqalpha 了,我们使用 pip 命令来安装 rqalpha。
1 | pip install rqalpha |
6. 测试
可以运行 rqalpha 命令来测试安装过程是否成功。
1 | rqalpha version |
输出:
1 | Current Version: (3, 2, 0) |
策略回测
成功安装 rqalpha 后,就可以进行策略的回测了。我们采用 rqalpha 提供的样例策略来测试一下回测过程。
1. 获取回测数据
RQalpha 免费提供股票和期货日级别的回测数据,使用 rqalpha 命令来更新回测数据。
1 | rqalpha update-bundle |
回测数据目录 bundle 默认存放在~/.rqalpha
目录下。进入 bundle 目录,可以看到都是一些.bcolz
后缀的文件。
2. 生成样例策略
使用 rqalpha 命令来生成策略样例,例如我们进入~/code/rqalpha
目录后,执行
1 | rqalpha examples -d ./ |
这样,在~/code/rqalpha
目录下就生成了examples
目录,里面包括 RQalpha 提供策略样例文件。
3. 运行回测
我们以buy_and_hold.py
文件为例,说明如果执行策略的回测过程。
1 | cd examples |
- -f 参数指定策略文件
- -d 指定回测数据 bundle 目录位置
- -s 回测时间起点
- -e 回测时间结束
--account
起始资金--benchmark
业绩比较基准--plot
以图形方式查看回测结果
执行命令后,可以看到回测结果以图形方式展示出来。
参考资料
- https://rqalpha.readthedocs.io/zh_CN/latest/intro/overview.html
- https://rqalpha.readthedocs.io/zh_CN/latest/intro/detail_install.html
- https://rqalpha.readthedocs.io/zh_CN/latest/intro/install.html
- https://mrjbq7.github.io/ta-lib/install.html
- https://rqalpha.readthedocs.io/zh_CN/latest/intro/tutorial.html
- https://geosmart.github.io/2018/01/26/RiceQuant%E5%BC%80%E6%BA%90%E6%A1%86%E6%9E%B6RQAlpha%E9%98%85%E8%AF%BB%E7%AC%94%E8%AE%B0/