开发者社区> 千锋Python讲堂> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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

简介: 移植 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(数学运算)
screenshot

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

依赖工具

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

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

brew cask install dockerbrew tap vangie/formulabrew install fun
安装好后,记得先执行 fun config 初始化一下配置。

初始化

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

fun init vangie/ta-lib-example
安装依赖

$ fun installusing template: template.ymlstart installing function dependencies without dockerbuilding ta-lib-example/ta-lib-exampleFunfile exist, Fun will use container to build forcelyStep 1/5 : FROM registry.cn-beijing.aliyuncs.com/aliyunfc/runtime-python3.6:build-1.7.7 ---> 373f5819463bStep 2/5 : COPY ta-lib-0.4.0-src.tar.gz /tmp ---> Using cache ---> 64f9f85112b4Step 3/5 : RUN cd /tmp; tar -xzf ta-lib-0.4.0-src.tar.gz ---> Using cache ---> 9f2d3f836de9Step 4/5 : RUN cd /tmp/ta-lib/ ; ./configure --prefix=/code/.fun/root/usr ; make ; make install ---> Using cache ---> 7725836973d4Step 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 ---> a338e71895b7sha256:a338e71895b74a0be98278f35da38c48545f04a54e19ec9e689bab976265350bSuccessfully built a338e71895b7Successfully tagged fun-cache-d4ac1d89-5b75-4429-933a-2260e2f7fbec:latestcopying function artifact to /Users/vangie/Workspace/ta-lib-example/{{ projectName }}Install SuccessTips 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 invokeusing template: template.ymlMissing invokeName argument, Fun will use the first function ta-lib-example/ta-lib-example as invokeNameskip pulling image aliyunfc/runtime-python3.6:1.7.7...FunctionCompute python3 runtime inited.FC Invoke Start RequestId: dc1495b2-13ec-4ecf-a2dc-a0026d82651aFC 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 deployusing template: template.ymlusing region: cn-shanghaiusing accountId: 4733using accessKeyId: EUz3using timeout: 600Waiting 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 successservice ta-lib-example deploy success
执行

$ fun invokeusing template: template.ymlMissing 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-daec6856bf4aFC Invoke End RequestId: 83e23eba-02b4-4380-bbca-daec6856bf4aDuration: 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"

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Python编程:re正则库基本使用
Python编程:re正则库基本使用
23 0
Python编程:从网络地址中解析出系统文件路径
Python编程:从网络地址中解析出系统文件路径
6 0
Python编程:python中的计时器timeit模块
Python编程:python中的计时器timeit模块
13 0
Python编程:安装python环境以及virtualenv虚拟环境
Python编程:安装python环境以及virtualenv虚拟环境
34 0
Python编程:pip安装第三方模块
Python编程:pip安装第三方模块
22 0
Python编程:为世界贡献你的轮子-pipy打包
Python编程:为世界贡献你的轮子-pipy打包
19 0
Python编程:Django之安全验证
Python编程:Django之安全验证
58 0
Python编程:Django后端学习
Python编程:Django后端学习
35 0
Python编程:virtualenv创建独立的虚拟环境
Python编程:virtualenv创建独立的虚拟环境
19 0
Python编程:tkinter创建GUI可视化界面
Python编程:tkinter创建GUI可视化界面
25 0
+关注
千锋Python讲堂
Python忠实粉!从业Python已有6年!希望在这里跟大家一起分享我的经验和同伴交流!
文章
问答
文章排行榜
最热
最新
相关电子书
更多
十分钟上线-使用函数计算构建支付宝小程序服务
立即下载
Python系列直播第一讲——Python中的一切皆对象
立即下载
函数计算最佳实践:快速开发一个分布式 Puppeteer 网页截图服务
立即下载