【量化小讲堂-Python量化入门23】不用再自己写技术指标了
本文原由作者于2017年9月5日首发于人大经济论坛,整理如下。
引言:
本系列帖子“量化小讲堂”,通过实际案例教初学者使用python、pandas进行金融数据处理,希望能对大家有帮助。
【所有系列文章汇总】请点击此处
微信:xbx_laoshi,量化交流Q群(快满):438143420,有问题欢迎交流。
文中用到的A股数据可在www.yucezhe.com下载,这里可以下载到所有股票、从上市日起的交易数据、财务数据、分钟数据、分笔数据、逐笔数据等。
不用再自己写技术指标了
TA-lib是一个技术分析库,里面包含了大部分主流的技术指标,让使用者不用再重复造轮子。
这个库在国外很常用,各种大型的开源量化框架,都会内置这个库。
计算速度快
TA-lib的一个特点是计算速度快,因为原始版本是用C语言写的,然后通过Cython转化,使得Python也能调用。
我们使用TA-lib和pandas分别来计算移动平均线,看看效率的差别。
首先通过numpy创建一个长度为1亿的数组:(相关代码请从附件中下载)
然后通过TA-lib计算这个数组的移动平均线,一行代码搞定:
使用2016款macbook pro运行程序,发现耗时是1.30秒。
接着使用pandas计算移动平均线:
发现耗时是4.81秒。相比于TA-lib,显然慢了不少。K线形态识别
TA-lib不仅可以计算常见的技术指标,另外一个特色就是可以识别K线形态。
例如上图中的第一个函数CDL2CROWS,中文名为两只乌鸦。
调用该函数,就可以识别出符合两只乌鸦形态的K线,具体调用方法如下。
首先展示DataFrame中K线的开、高、收、低数据:
然后准备好函数的输入数据:
最后调用CDL2CROWS两只乌鸦函数,查看输出结果:
当某天的K线满足两只乌鸦形态时,会输出-100,不满足时会输出0。
我们通过Python将K线图画出,图中最后3根K线就是两只乌鸦形态。
两只乌鸦有效吗?
我们通过TA-lib可以找出两只乌鸦形态,那么这个K线形态有效吗?
出现这个形态之后,股票会涨还是会跌?
详细内容可以见下方的视频,详细讲解如何通过TA-lib,从所有股票中找出某个形态的K线,并检验其有效性。
腾讯视频:
TA-lib视频教程(超简易使用方法)_腾讯视频
B站链接:https://www.bilibili.com/video/av13837021/
YOUTUBE链接:https://www.youtube.com/watch?v=2_CP_NnbDm8
爱奇艺链接:http://www.iqiyi.com/w_19rv85zfkx.html
扫描下图二维码,加邢不行私人微信,获取文中附件、代码、数据的下载链接。
关于《量化小讲堂》之后想看的内容,或者相关问题,可以加我微信xbx_laoshi、Q群(快满):438143420沟通。