量化交易平台搭建-盈宽量化

Zipline, 量化交易, rqalpha, 聚宽, 米筐, 优矿

 

目前国内有几个很方便的回测平台,包括”聚宽”,”优矿”和”米筐”. 本文主要探讨自己动手在本地搭建一个量化交易平台.

 

先普及几个量化交易的基础概念

  1. 回测: 当编写了一个投资策略后,可以把策略放在历史的交易数据中”跑”一遍,看看结果当中的年化回报是多少. 这个过程就是回测
  2. 量化因子: 其实就是一个选股的条件,人为抽象出来的各种特征或看待事物的角度。 通过因子这个概念可以把 量化策略分为”单因子策略”和”多因子策略”,也就是说 是有一个因子来决定的策略还是多个因子来决定的策略

 

能借力的肯定要借力, 开源回测平台zipline目前比较主流. 在windows系统中搭建步骤要注意几点:

 

  1. Pip install zipline 过程中可能会提示 “visual c++ 14.0”缺失, 所以要到www.microsoft.com上下一个visual studio, 目前最新版本的是vs 2017, 可以用 社区版(community), 免费. 不过安装需要超级大的空间,大概要4g到8g, 要有心理准备:-)
  2. zipline中的数据默认是美国市场的, 还需要申请一个bundle的key, 要用来做国内的数据回测, 就需要解决国内数据的获取问题, 这个一般可以用完全免费的tushare, tushare在量化圈内鼎鼎有名, 维护者为个人,不过目前最新的状况是tushare的作者加入了通联数据, 通联数据的商业模式主要就是销售金融数据, 所以很难保证tushare会一直免费下去.
  3. tushare里无需申请任何的key也无需注册, 只需要在python中import tushare后直接调用接口,非常便捷,但是目前只看到可以获取股票的日数据,好像也有5分钟的数据,而且数据好像是从2012年之后的(这个目前还不太确认,可能后续再多调接口后可以查到更久历史的数据). 如果需要更完整和更细化的数据乃至是股票的逐笔数据,建议可以看下”大富翁数据”,虽然是收费的,但收费价格对比大名鼎鼎的万得(wind)还是要便宜很多很多,大富翁的数据还是非常全,基本从1999年以后的数据全部都有. wind的数据动辄一年10几万.大富翁的价格亲民的多,从几百到几千元不等.

 

windows下安装zipline 先安装anaconda(含python3.7), 然后

Conda -c install Quantopian zipline

但是过程中可能出现visual c++ 14的错误, 建议可以下载对应版本的wheel文件来安装即可

一定要记住, 如果是python3.7那么就要用37的.whl文件来安装,否则会出现this wheel file not supported的报错

 

这些坑都是安装过程中出现的,而且百度看了很多都找不到答案.

 

基本上在windows下把visual c++ 14的错误如果顺利解决, 那么同样安装rqalpha也是一样过程,基本不会出错.

 

linux下安装zipline按如下命令先安装anaconda

 

Download package from https://www.anaconda.com/download/

./Anaconda3-5.2.0-Linux-x86_64.sh

 

然后安装zipline

conda create -n env_zipline python=3.5

source activate env_zipline

(env_zipline) $ conda install -c Quantopian zipline

(env_zipline) $ source deactivate

 

提示:

  1. 如果安装zipline提示和其他一些包存在conflict

unsatisfiableError:

the following specifications were found to be in conflict

-importlib_metadata

-typed-ast

-zipline

  不要去uninstall存在冲突的那些包,而是用conda create -n env_zipline python=3.5

单独为zipline创建一个python3.5的环境

  如果安装anaconda的同时也安装了jupyter notebook,可能会提示如下

unsatisfiableError: the following

-jupyterlab_server

-zipline

 

总之碰到类似问题, 要么conda update all更新下, 要么就为zipline单独创建个python3.5环境

 

如果运行zipline run命令后出现

importerror: no module named matplotlib.pyplot , 可以用pip install matplotlib来解决

 

要使用免费数据可安装tushare

Pip install tushare 即可安装tushare.

 

老版本的tushare目前更新为tushare pro了,同样要求注册获得api key了,虽然还是免费,但其实使用门槛高了,而且未来可以预见, 对api key的调用次数也会逐步限制了, 所以老版的tushare可以真正意义上称为全免费,新版也可以叫免费,但开始加上诸多限制了. 所以大家珍惜还有一些免费数据接口可用的时期吧

 

tushare目前不管是老版本还是新版本,经过测试貌似只能获得2016-06-20日期之后的数据,而且get_tick_data的接口基本都无法返回数据了,所以tick data拿不到了. 所以真正要搭建一个量化平台, 可能还需要自己来调用ifeng, baidu等网站的数据接口. 如果要历史特别久的股票数据, 甚至可能要作好付费购买的打算.

 

在排除安装运行zipline的所有问题执行命令

zipline run -f ../../../zipline/examples/buyapple.py --start 2000-1-1 --end 2014-1-1 -o buyapple_out.pickle

 

出现如下的图表示大功告成啦!!

量化交易平台搭建-盈宽量化_第1张图片

 

开源回测平台除了zipline以外,还有国内米筐的rqalpha, 安装步骤和zipline类似,同样也需要安装visual c++ 14.0以上. rqalpha更多的针对国内金融市场, 只是目前在业内还没有zipline那样广泛的流行.

 

以上就是对 本地化搭建回测的基本介绍. 未来会围绕”量化交易”这个主题持续的发布新的文章和电子书.

 

 

有同样兴趣的可邮件联系: [email protected](备注主题:量化交易) 转载请保留出处.

“盈宽”量化平台!

你可能感兴趣的:(Zipline,rqalpha,量化交易)