如何使用TA-LIB进行技术分析?

本文介绍了如何使用TA-LIB C++库进行技术分析,该库允许与C++回测框架无缝连接,节省开发底层技术指标的时间,并且经过实战检验,可靠性高。文中提供了一段入门代码。
摘要由CSDN通过智能技术生成

想要不依赖于商业软件或量化平台做技术分析,可以尝试使用本文中介绍的TA-LIB的C++库,全称为Technical Analysis Library。使用这个库可以与C++的回测框架做无缝连接,同时省去很多开发底层技术指标需要“浪费”的时间。而且,公开的库已经被充分地被用于实战检验,存在bug的几率小。


废话不多说,我们直接上一段入门代码:


TA_Initialize(); // 初始化TA-LIB,确保只调用一次

TA_Integer startIdx = 0;
TA_Integer endIdx = size - 1;
TA_Integer outBegin;
TA_Integer outNbElement;
TA_Integer optPeriod = 30;

TA_Integer allocationSize = 0;
TA_Integer lookback = TA_SMA_Lookback(optPeriod);
TA_Integer temp = max(lookback, startIdx);
if (temp > endIdx) {
    allocationSize = 0; // No output
} else {
    allocationSize = endIdx - temp +1;
}

TA_Real outMA[allocationSize];
TA_RetCode retCode = TA_MA(startIdx, endIdx,
                           &closePrice[0],
                           optPeriod, TA_MAType_SMA,
                           &a
在windows 7 x64下安装ta-lib包 python 2.7 x86,32位 anaconda2 4.0.0-32位(Anaconda2-4.4.0-Windows-x86) 如果Python,或者anaconda是3.5以上,64位,可以直接:conda install ta-lib或者pip install ta-lib即可。 以下主要说明32位python安装ta-lib的步骤和错误解决。 一、下载Microsoft Visual C++ Compiler for Python 2.7 https://www.microsoft.com/en-us/download/confirmation.aspx?id=44266 VCForPython27.msi(80多MB,请自己下载吧) 双击VCForPython27.msi安装 二、下载ta-lib源码包: http://http//prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-msvc.zip【本教程有提供,可以不用下载】 MSVC是微软windows版的talib 解压到C:\ta-lib 这时候,我们继续执行pip install TA-Lib,很可能你就安装成功了。但如果你是64位的系统,可能还是会遇到问题 common.obj : error LNK2019: unresolved external symbol TA_Initialize referenced in function __pyx_pf_5talib_6common_2_ta_initialize 这个问题有点高级,看起来说是链接错误,很多人到这就不知道怎么办了,网上也没有很好的办法。这个问题的来由是,我们下载的ta-lib除了头文件外,还有编译好的库,但是这个库是32位系统编译好的,所以我们需要在64位系统下面重新编译它。还好,我们下载的ta-lib就包含了源码,而编译工具就是之前安装的Microsoft Visual C++ Compiler for Python 2.7。 打开【开始菜单】》【Microsoft Visual C++ Compiler Package for Python 2.7】》【Visual C++ 2008 64-bit Command Prompt】,然后在控制台里面进入到目录C:\ta-lib\c\make\cdr\win32\msvc。执行nmake,一段时间后,新的64位库就编译好了 三、下载ta-lib的python包【本教程有提供,可以不用下载】 Python Extension Packages for Windows - Christoph Gohlke http://www.lfd.uci.edu/~gohlke/pythonlibs/ TA-Lib, a wrapper for the TA-LIB Technical Analysis Library. TA_Lib‑0.4.10‑cp27‑cp27m‑win32.whl 继续在刚才这个Visual C++ 2008 64-bit Command Prompt下执行pip install c:\downloads\TA_Lib‑0.4.10‑cp27‑cp27m‑win32.whl 提示:successful xxxx。 在python下import talib,没报错,成功了。 四、报错注意: 步骤三如果使用pip install TA-Lib。。。有可能还会报下边的错: common.c talib\common.c(240) : fatal error C1083: Cannot open include file: 'ta_libc.h': No such file or directory 使用上面提到的whl文件,pip install ***.whl即可。 参考内容: python27在windows环境安装talib的方法 - kuailelife - CSDN博客 http://blog.csdn.net/kuaile20/article/details/68594755 Windows下安装TA-Lib - AegisRC的专栏 - CSDN博客 http://blog.csdn.net/yiigel/article/details/54353758 Windows 10 安装TA-Lib python库 - 哈鲁曼 - 博客园 http://www.cnblogs.com/Hanuman/p/5943608.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值