【转】zipline与LAPACK
zw-ps:几年前d老文章了,现在依然有参考价值,特别是对于初学者。
参见:
zw公开课与哈佛、斯坦福MBA案例教学
TQ极宽量化·课程简介

Zipline安装
Zipline是目前比较热门的量化交易算法包,网络上的介绍是:
Zipline是一个交易算法库,该系统是对现场交易系统如何运转的一个近似,可以对历史数据进行投资算法的回溯检验。
Zipline目前作为Quantopian的回溯检验引擎。
特性
?使用简单
?包括常用统计方法如移动平均和线性回归
?与现有python生态圈能很好融合
?一些常用统计和机器学习库,如matplotlib、scipy、statsmodels和sklearn,支持交易系统的开发、数据分析和可视化
不过,zipline的安装,却非常麻烦。
主要是因为,zipline 0.8后,为了速度优化,使用了LAPACK算法库。(这个后面细谈)
Zipline最新版本是v0.83,可是,无论怎么安装,用winPy的安装程序,还是pip,都不行。
原本以为是版本冲突,于是降级安装,py3.4、py2.7,都不行。
转到zipline网站:http://www.zipline.io
可能是,因为安装吐槽的人,太多,官网install页码,80%都在回答各种平台,各种安装模式,最后,官方声明:v0.83 的确不好安装,大家等下一个版本: v0.84,好不好。
居然py降级安装不行,那就zipline降级安装。
一路测试:
?v0.82,不行;
?v0.80,更加不行,居然只有mac版本,可能开发团队用的是马刺,Linux之类的。
?v0.7,居然ok了,py2.7,py3.4,py3.5,全部ok;
看来,原因,还是出在LAPACK上面。
开发团队可能用的是linux平台,当然,实事求是而言,大家用多了python,以后工作中,建议还是在linux环境下,使用python。
因为py和大部分开源软件样,许多非python原生的模块库,都是一源码方式存在的,主要是c,linux本身就内置了gcc开源编译环境,集成、编译、安装非常方便。
想LAPACK模块库,在linux下安装,直接install,就ok了。
LAPACK是什么?



LAPACK是由美国国家科学基金等资助开发的著名公开软件。
LAPACK包含了求解科学与工程计算中最常见的数值线性代数问题,如求解线性方程组、线性最小二乘问题、特征值问题和奇异值问题等[1] 。
为什么,LAPACK的安装这么麻烦呢?
因为,LAPACK算法库,源码是fotran的,大家没看错,是fotran版本。
因为,fotran比c版本快20%,然后,用c封装了个c-api接口,给各个软件用。
不过这个lapack因为是开源版本,速度比intel商业加速算法包mkl,里面的lapack还是要慢不少的。
这个LAPACK的配置,安装很啰嗦,类似cuda,而且,初学者,一般用不上。
日后到了工作环境,如果,需要优化速度,有以下几种解决方案:
?使用linux环境,安装各种加速库
?使用cuda、opencl、numba等各种gpu加速方案,这个是终极方案,可提速数百倍。
?使用其他的python原生量化交易算法模块库,这方面的软件包还是不少的。
?