python量化三大件和zipline的安装陷阱

python量化三大件和zipline的安装陷阱

python量化三大件

很久以前,zw曾经在写过一个blog:python量化三大件

2019即将到来,与时共进,python量化三大件2019版也进行了升级。

通过近年来对于python量化项目的评估和测试,python量化三大件2019版包括:pandas+talib+zipline。

  • pandas,神器级的数据分析软件,十亿以下大数据工程的首选实盘方案。
  • talib,专业级金融指标函数库。
  • zipline,quanpian旗下专业的量化策略分析库。

zwpy2019,完美地集成了以上三大模块库。

zipline安装陷阱

python量化三大件的安装:

pandas最简单,纯py模块库,标准pip安装模式。

talib啰嗦一点,必须是二进制模块库编译包,需要去LFD网站下载。

ps,LFD二进制python模块库网站:https://www.lfd.uci.edu/~gohlke/pythonlibs/

最难的zipline,死活安装不上去,或者安装了无法运行。

zipline的安装bug,存在很久,n年前,最早的zwpy,好像当时zipline官方网站,也建议,安装失败,可以降级安装老版本的zipline。

这次zwpy2019,从v1测试版的python3.7,回退到python3.6,主要就是因为zipline。

zipline模块库安装过程,陷阱重重:

  • 需要二进制版本模块库,这个最简单,去LFD网站下载。

痛苦的是,zipline模块库,可能内部采用了n多第三方方模块库,安装时没有进行彻底的依赖库验证。

很多网友,安装完毕,部分只模块可能也可以调用,但是一旦加入以下语句:

import zipline

模块库整体,各种小bug,怪问题就出现了。


有篇blog《这周装了5天的zipline》

https://blog.csdn.net/qq_34838521/article/details/51477887

一路吐槽zipline的安装:

这周什么都没干连续5天天天都在安装zipline

装了卸,卸了装Python有5次

zipline有无数次,64位windows系统,

这位还是专业的程序员,会安装win系统,如果是纯金融人员,IT半小白,更加是欲仙欲死。

 

陷阱#1,numpy,pandas版本需要降级

金融行业相对比较保守,追求稳定。

这点在金融量化软件方面,充分得到体现,很多量化模块库都是急于python3.5,虽然现在py3.7已结出来很久了。

ziplin安装过程当中,一个最大的、也是最容易忽视的bug就是,对于numpy、pandas两个常用模块库,需要降级安装。

pandas,需要是0.22版本,numpy需要是1.14.x的版本。

其中,numpy1.14.x,还必须是mkl加速优化版本,不然,zipline没问题,scipy,numexpr等很多常用模块库,也会出现问题。

numpy1.14.x+mkl加速优化版本,无法pip命令行安装,需要人工去LFD网站下载二进制安装包,再手动安装。

 

陷阱#2,trading_calendars交易日历模块库

trading_calendars交易日历模块库,这个一般是最先出现的。

这个模块库,一般开发很少用,不过金融量化却必不可少。全球交易日历不同,这个模块库,有很多衍生版本。

这个trading_calendars交易日历模块库,里面就至少又有多个小陷阱,而且是连环套,一个模块套一个模块。

 

安装很简单,不过直接pip安装的模块库无效。

pypi官方模块库只有几百k,新版本的trading_calendars交易日历模块库,集成了全球多个国家的不同交易日历数据库,包括中国的。

好处是,大家不在需要进行本地化开发,可以直接调用。(尚未测试)

坏处是,pypi官方模块库安装无效,需要去github下载集成了交易数据库的master版本,辛苦是纯python版本,无需再进行二进制版本编译。

此外,需要预先安装python数据库,这个zwpy已经有预置。

陷阱#3,lru-dict字典模块库

trading_calendars交易日历模块库,安装过程带来的衍生陷阱是:lru-dict字典模块库。

老实说,用pythonn年,这个lru-dict字典模块库,是第一次见到。

郁闷的是,lru-dict字典模块库虽然很小,才100多k,可是,核心的core模块是纯c的,也需要二进制版本。

可能是用的人少,pypi没有二进制版本的模块库,也需要人工去LFD网站下载。

 

陷阱#4,gevent多线程管理

前面我们说:这次zwpy2019,从v1测试版的python3.7,回退到python3.6,主要就是因为zipline。

zipline模块库当中,问题出现在gevent多线程管理模块库。

这个安装了n次,也百度了n次,发现:

py37基本无解,勉强安装ok,一运行,又带来duoge衍生问题,多个第三方模块库。

只能退回到mpy36。

陷阱#n,多个小模块库

此外,还有多个小模块库需要安装,例如:

Alembic模块库, 是 Sqlalchemy 的作者实现的一个数据库版本化管理工具。

虽然都不常用,不过按照提示逐一下载,安装即可。

zwpy2019的其他安装bug

这次zwpy2019,从v1测试版的python3.7,回退到python3.6,主要就是因为zipline。

此外,在安装某个模块库时,发现最新的xarray模块库是0.11,需要降级到0.10以下才行。

 

开源项目,linux,python,实践当中90%的问题,都是出在配置方面。

很多初学者,甚至编程高手,被各种版本Python平台,特别是繁琐复杂的各种第三方模块库,搞的彻底绝望。

而这些模块库,正是python的精华所在。

所以说,无论是初学者,还是程序员:《zwPythons2019,最好的python开发平台,没有之一》http://www.topquant.vip/?p=728

100%零配置,解压即用,操作简单,功能强大。

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注