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

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 用户安装请参考:

https://github.com/aliyun/fun/blob/master/docs/usage/installation.md

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

参考阅读

  1. 函数计算
  2. 【手把手教你】股市技术分析利器之TA-Lib(一)

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

原文地址:https://www.cnblogs.com/alisystemsoftware/p/12091589.html

时间: 2024-08-01 19:35:01

移植 Python 量化交易 TA-Lib 库到函数计算的相关文章

Python量化交易学习课程

量化投资是起源于美国的高级投资方法论,在国内也有十余年的发展历史,代表当今金融业最前沿的投资技术和水准,卓越稳定的实盘投资业绩使得量化投资具有坚实的高端市场需求. 本量化投资方向系列课程通过对各种量化投资方法与理论的介绍,结合机器学习的实际应用案例进行引导式教学,全面地提高学员对量化投资的认知能力和实践能力. 课程地址:Python量化交易课程 面向人群: 适合有志于从事量化投资工作的计算机行业人员及在校学生: 数据科学工作者,可以从本课程中学会从数据科学的方法玩转量化交易: 所有金融机构从业人

python量化交易入门学习 之用 Python 实现你的量化交易策略 实现之优矿使用

优矿 https://uqer.io/labs 注册 登录 在“开始研究”页面,新建一个 Notebook,就可以开始用 Python 写你自己的策略. 入门文档 数据  https://uqer.io/data/browse/0/?page=1 DataAPI.EquGet(secID=u"",ticker=u"",equTypeCD=u"A",listStatusCD=u"",field=u"",pan

用python的matplotlib和numpy库绘制股票K线均线和成交量的整合效果(含量化验证交易策略代码)

在用python的matplotlib和numpy库绘制股票K线均线的整合效果(含从网络接口爬取数据和验证交易策略代码)一文里,我讲述了通过爬虫接口得到股票数据并绘制出K线均线图形的方式,在本文里,将在此基础上再引入成交量效果图,并结合量价理论,给出并验证一些交易策略. 1 成交量对量化分析的意义 美国的股市分析家葛兰碧(Joe Granville)在他所著的<股票市场指标>一书里提出著名的“量价理论”.“量价理论”的核心思想是,任何对股价的分析,如果离开了对成交量的分析,都将是无本之木,无水

量化投资策略:常见的几种Python回测框架(库)

量化投资策略:常见的几种Python回测框架(库) 原文地址:http://blog.csdn.net/lawme/article/details/51454237 本文章为转载文章.这段时间在研究量化策略方向,研究了Zipline一段时间,但是后续发现他仅支持美国股票,收集量化策略文章,转载到博客中. 在实盘交易之前,必须对量化交易策略进行回测.在此,我们评价一下常用的Python回测框架(库).评价的尺度包括用途范围(回测.虚盘交易.实盘交易),易用程度(结构良好.文档完整)和扩展性(速度快

Python量化库大全

https://zhuanlan.zhihu.com/p/26983703?utm_source=wechat_session&utm_medium=social 这个网址上详细介绍了,做量化交易的各类主流的.非主流的编程语言的详细第三方库.每个库名对应一个在github网站上的超链接.想看详情直接点击即可. 为了以后做量化方便查阅,把该网址下对应的Python库进行了总结,并绘制成思维导图,如下 下面附上思维导图的XMIND文件: https://files.cnblogs.com/files

python安装lib库

time:2015/11/11 双十一 一.初衷 看到一篇帖子[1],里面有python代码,就想实现一下,代码如下: import cv2 as cv import numpy as np from matplotlib import pyplot as plt img = cv.imread('Joseph_Fourier_250.jpg', 0) f = np.fft.fft2(img) # 快速傅里叶变换算法得到频率分布 fshift = np.fft.fftshift(f) # 默认结

《零起点Python大数据与量化交易》中文PDF+源代码

下载:https://pan.baidu.com/s/1JWmwMFHZV0mYAyAl-HkPyw 更多资料:http://blog.51cto.com/3215120 <零起点Python大数据与量化交易>中文PDF+源代码中文PDF,带目录和书签,655页,文字可以复制粘贴.配套源代码. 本书是国内关于Python大数据与量化交易的原创图书. 如图: 原文地址:http://blog.51cto.com/4820691/2311108

量化资料学习《Python与量化投资从基础到实战》+《量化交易之路用Python做股票量化分析》+《组织与管理研究的实证方法第2版》

我们需要利用Python进行数据分析的指南,有大量的关于数据处理分析的应用,重点学习如何高效地利用Python解决投资策略问题,推荐学习<Python与量化投资从基础到实战>等电子资料. 学习<Python与量化投资从基础到实战>电子书,主要讲解如何利用Python进行量化投资,包括对数据的获取.整理.分析挖掘.信号构建.策略构建.回测.策略分析等.<Python与量化投资>利用Python进行数据分析的指南,有大量的关于数据处理分析的应用,并将重点介绍如何高效地利用P

AI量化交易(一)——量化交易简介

AI量化交易(一)--量化交易简介 一.量化交易简介 1.量化交易简介 量化交易是以数学模型为交易思维,以历史数据为基础,以数学建模.统计学分析.编程设计为工具,利用计算机技术从庞大的历史数据中海选出能带来超额收益的多种大概率获利事件以制定交易策略. 2.量化交易的特点 (1)纪律性.量化投资决策都是依据模型做出的,模型会模拟测试成千上万次来达到高容错率.(2)系统性.量化交易数据分析有一套非常全面的数据评测系统,会从多方面考量市场,比如:宏观周期.数字货币估值.换手率.盈利质量.市场情绪等.(