移植 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" ]
参考阅读
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
2020年服务网格发展前三大趋势
在2019年,我们看到服务网格已从实验性技术成长成各大组织开始学习的解决方案,这是任何成功的Kubernetes部署的基础。大大小小的公司都开始大规模采用服务网格。随着第二波关注者见证了首批吃螃蟹的人试用并通过服务网格技术取得成功,他们也开始评估服务网格以应对Kubernetes提出的挑战。 随着服务网格的日益普及,2019年提供了一个新兴的服务网格市场。Istio和Linkerd一直在稳步前进,围绕Istio的工具和供应商生态系统在一年中几乎增长了两倍。但也有许多新的参与者进入市场,提供解决第七层网络挑战的替代方法。各类网格(例如Kuma和Maesh提供的网格)已经出现,以提供不同的服务网格方法,来解决各种边缘用例。同时我们也看到了一些工具的引入,比如服务网格接口规范和Meshery ,他们试图打入这个机会巨大蓬勃发展的早期市场。但在等待市场选出优胜者之前他们还没决定投入哪方。类似于Network Service Mesh这类相邻项目将服务网格原理引入到更低层堆栈。 尽管在服务网格领域仍有很多问题需要解决,但是服务网格作为一种技术模式的价值是显而易见的,最近发布的“企业之声:DevO...
- 下一篇
标签编辑新工具:如何使用控制台标签编辑器(Tag editor)
创建阿里云资源时,您可以给资源绑定标签。已经创建的资源,也可以在资源列表页面或者通过API,批量的添加、更改和删除标签。当遇到如下更为复杂问题和场景,该如何快速解决标签问题呢? 资源跨度大,需要跨资源类型、跨地域,将关联的资源打上标签。 资源数量多,几百甚至上千个资源,如何批量编辑? 命名不一致,如何规整资源命名不一致的标签? 删除改名难,如何快速对资源标签完成删除和改名? 如何导出包含标签信息的完整资源列表? 标签编辑器 标签编辑器(Tag editor)是云服务器控制台标签部分最近推出的解决复杂标签编辑问题的界面工具。 它可以支持跨地域、跨资源类型查询最多5000个资源,并对这些资源进行资源导出、标签编辑的操作。 功能介绍 1. 查找资源 查找资源的过滤条件支持地域,资源类型和标签。 其中,地域、资源类型必填,支持选择全部。标签为可选项,可多选。点击查找资源后,下方资源列表则会展示查找结果。 在搜索结果中,还可以继续根据关键词进行搜索和过滤。 2. 资源导出 2.2 编辑列表展示项 默认资源列表展示的资源属性项是ID,名称,产品服务,资源类型,地域和标签。 您可以点击资源列表右上角...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- CentOS7,CentOS8安装Elasticsearch6.8.6
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS6,CentOS7官方镜像安装Oracle11G
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- 设置Eclipse缩进为4个空格,增强代码规范
- Mario游戏-低调大师作品
- MySQL8.0.19开启GTID主从同步CentOS8
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果