利用python炒股talib_移植 Python 量化交易 TALib 库到函数计算

TA-Lib,全称“Technical Analysis Library”, 即技术分析库,是 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(数学运算)

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

依赖工具

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

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

brew cask install docker

brew tap vangie/formula

brew install fun

Windows 和 Linux 用户安装请参考:

安装好后,记得先执行 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

本地调用

$ fun local invoke

using template: template.yml

Missing invokeName argument, Fun will use the first function ta-lib-example/ta-lib-example as invokeName

skip pulling image aliyunfc/runtime-python3.6:1.7.7...

FunctionCompute python3 runtime inited.

FC Invoke Start RequestId: dc1495b2-13ec-4ecf-a2dc-a0026d82651a

FC Invoke End RequestId: dc1495b2-13ec-4ecf-a2dc-a0026d82651a

[

"HT_DCPERIOD",

"HT_DCPHASE",

"HT_PHASOR",

"HT_SINE",

"HT_TRENDMODE"

]

RequestId: dc1495b2-13ec-4ecf-a2dc-a0026d82651a Billed Duration: 350 ms Memory Size: 1998 MB Max Memory Used: 34 MB

部署

$ fun deploy

using template: template.yml

using region: cn-shanghai

using accountId: ***********4733

using accessKeyId: ***********EUz3

using timeout: 600

Waiting for service ta-lib-example to be deployed...

Waiting for function ta-lib-example to be deployed...

Waiting for packaging function ta-lib-example code...

The function ta-lib-example has been packaged. A total of 39 files files were compressed and the final size was 3.23 MB

function ta-lib-example deploy success

service ta-lib-example deploy success

执行

$ fun invoke

using template: template.yml

Missing invokeName argument, Fun will use the first function ta-lib-example/ta-lib-example as invokeName

========= FC invoke Logs begin =========

FC Invoke Start RequestId: 83e23eba-02b4-4380-bbca-daec6856bf4a

FC Invoke End RequestId: 83e23eba-02b4-4380-bbca-daec6856bf4a

Duration: 213.86 ms, Billed Duration: 300 ms, Memory Size: 128 MB, Max Memory Used: 43.50 MB

========= FC invoke Logs end =========

FC Invoke Result:

[

"HT_DCPERIOD",

"HT_DCPHASE",

"HT_PHASOR",

"HT_SINE",

"HT_TRENDMODE"

]

参考阅读

“阿里巴巴云原生关注微服务、Serverless、容器、Service Mesh 等技术领域、聚焦云原生流行技术趋势、云原生大规模的落地实践,做最懂云原生开发者的技术圈。”

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值