米筐开源量化框架 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
2
cd examples
rqalpha run -f ./buy_and_hold.py -d ~/.rqalpha/bundle/ -s 2016-06-01 -e 2018-12-01 --account stock 100000 --benchmark 000300.XSHG --plot
  • -f 参数指定策略文件
  • -d 指定回测数据 bundle 目录位置
  • -s 回测时间起点
  • -e 回测时间结束
  • --account 起始资金
  • --benchmark 业绩比较基准
  • --plot 以图形方式查看回测结果

执行命令后,可以看到回测结果以图形方式展示出来。

参考资料

  1. https://rqalpha.readthedocs.io/zh_CN/latest/intro/overview.html
  2. https://rqalpha.readthedocs.io/zh_CN/latest/intro/detail_install.html
  3. https://rqalpha.readthedocs.io/zh_CN/latest/intro/install.html
  4. https://mrjbq7.github.io/ta-lib/install.html
  5. https://rqalpha.readthedocs.io/zh_CN/latest/intro/tutorial.html
  6. 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/