移植Python量化交易TA-Lib库到函数计算

237 阅读2分钟

简介: TA-Lib全称“技术分析库”,即技术分析库,是Python金融量化的高级库,涵盖了150种多种股票,期货交易软件中常用的技术分析指标,如MACD,RSI,KDJ,动量指标,布林带等等。

TA-Lib 可分为 10 个子板块:

Overlap Studies(重叠指标) Momentum Indicators(动量指标) Volume Indicators(交易量指标) Cycle Indicators(周期指标) Price Transform(价格变换) Volatility Indicators(波动率指标) Pattern Recognition(模式识别) Statistic Functions(统计函数) Math Transform(数学变换) Math Operators(数学运算) image.png

本文介绍通过 Funcraft 的模板将 Python 量化交易库 TA-lib 移植到函数计算。

依赖工具

本项目是在 MacOS 下开发的,涉及到的工具是平台无关的,对于 Linux 和 Windows 桌面系统应该也同样适用。在开始本例之前请确保如下工具已经正确的安装,更新到最新版本,并进行正确的配置。

Docker Funcraft 对于 MacOS 用户可以使用 homebrew 进行安装:

brew cask install docker brew tap vangie/formula brew install fun Windows 和 Linux 用户安装请参考:

github.com/aliyun/fun/… 安装好后,记得先执行

fun config 初始化一下配置。

初始化 使用 fun init 命令可以快捷地将本模板项目初始化到本地。

fun init vangie/ta-lib-example

安装依赖

$ fun install
using template: template.yml
start installing function dependencies without docker

building ta-lib-example/ta-lib-example
Funfile exist, Fun will use container to build forcely
Step 1/5 : FROM registry.cn-beijing.aliyuncs.com/aliyunfc/runtime-python3.6:build-1.7.7
 ---> 373f5819463b
Step 2/5 : COPY ta-lib-0.4.0-src.tar.gz /tmp
 ---> Using cache
 ---> 64f9f85112b4
Step 3/5 : RUN cd /tmp; tar -xzf ta-lib-0.4.0-src.tar.gz
 ---> Using cache
 ---> 9f2d3f836de9
Step 4/5 : RUN cd /tmp/ta-lib/ ;     ./configure --prefix=/code/.fun/root/usr ;     make ; make install
 ---> Using cache
 ---> 7725836973d4
Step 5/5 : RUN TA_LIBRARY_PATH=/code/.fun/root/usr/lib     TA_INCLUDE_PATH=/code/.fun/root/usr/include     fun-install pip install TA-Lib
 ---> Using cache
 ---> a338e71895b7
sha256:a338e71895b74a0be98278f35da38c48545f04a54e19ec9e689bab976265350b
Successfully built a338e71895b7
Successfully tagged fun-cache-d4ac1d89-5b75-4429-933a-2260e2f7fbec:latest
copying function artifact to /Users/vangie/Workspace/ta-lib-example/{{ projectName }}

Install Success


Tips for next step
======================
* Invoke Event Function: fun local invoke
* Invoke Http Function: fun local start
* Build Http Function: fun build
* Deploy Resources: fun deploy

本地调用
部署
执行

**阅读原文看如何进行本地调用及部署执行:**developer.aliyun.com/article/740…