移植 Python 量化交易 TA-Lib 库到函数计算
发表于:2024-11-24 作者:千家信息网编辑
千家信息网最后更新 2024年11月24日,TA-Lib,全称"Technical Analysis Library", 即技术分析库,是 Python 金融量化的高级库,涵盖了 150 多种股票、期货交易软件中常用的技术分析指标,如 MACD
千家信息网最后更新 2024年11月24日移植 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 桌面系统应该也同样适用。在开始本例之前请确保如下工具已经正确的安装,更新到最新版本,并进行正确的配置。
- Docker
- Funcraft
对于 MacOS 用户可以使用 homebrew 进行安装:
brew cask install dockerbrew tap vangie/formulabrew 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 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"]
参考阅读
- 函数计算
- 【手把手教你】股市技术分析利器之TA-Lib(一)
"阿里巴巴云原生关注微服务、Serverless、容器、Service Mesh 等技术领域、聚焦云原生流行技术趋势、云原生大规模的落地实践,做最懂云原生开发者的技术圈。"
指标
技术
函数
交易
工具
分析
动量
数学
模板
用户
项目
参考
变换
开发
配置
移植
巴巴
高级
手把手
个子
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
新型网络技术视频
软件开发人员常犯的错误
开启数据库root远程访问权限
计算机网络技术问题大全
数据库查询数据为空
山西共同富裕网络技术
php数据库查询取出来
计算机网络技术专业就业难吗
怎么打武装突袭3服务器
杨卫方 中宣部网络技术中心
江苏互联网智能科技供应
我要用网络安全的手抄报
西西网络安全的三个时代
toptop原神是什么服务器
搭建监控sip服务器
网络安全是越来越吃香吗
网络技术工单模板
服务器要什么配置
软件开发英文单词
电子商务对网络安全管控
上海天承网络技术有限公司官网
荒岛行动服务器异常
sqlite数据库手动建表
合肥求职招聘软件开发费用
服务器安全证书有问题怎么办
网络安全国旗下的讲话
软件开发方法的要素
戴威尔网络安全培训好不好
柯森互联网科技有限公司
在数据库和宿主之间传递信息