移植 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 使用者安裝請參考:
安裝好後,記得先執行
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"
]
本文為阿里雲原創內容,未經允許不得轉載。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69949601/viewspace-2671441/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Python量化交易系統實戰--計算交易指標Python指標
- 手把手教您將libreoffice移植到函式計算平臺函式
- 遷移 Express 到函式計算Express函式
- 遷移 Spring Boot 到函式計算Spring Boot函式
- 簡單介紹下量化分析的常用庫TA-lib
- Python量化交易系統實戰_Python常用庫介紹Python
- 函式計算Python連線SQLServer小結函式PythonSQLServer
- 部署基於pythonwsgiweb框架的工程到函式計算PythonWeb框架函式
- 從函數語言程式設計到Ramda函式庫(一)函數程式設計函式
- 函式計算安裝依賴庫方法小結函式
- 為什麼我要遷移 SpringBoot 到函式計算Spring Boot函式
- 為什麼我要遷移SpringBoot到函式計算Spring Boot函式
- Serverless 解惑——函式計算如何訪問 Redis 資料庫Server函式Redis資料庫
- Serverless 解惑——函式計算如何訪問 Mongo 資料庫Server函式Go資料庫
- Serverless 解惑——函式計算如何訪問 MySQL 資料庫Server函式MySql資料庫
- Serverless 解惑——函式計算如何訪問 PostgreSQL 資料庫Server函式SQL資料庫
- 函式計算——應用初探函式
- 資料庫-SQL_duckdb向量化計算-vector資料庫SQL
- 量化交易:海龜交易法則的Python實現Python
- 從雲端計算到函式計算函式
- Serverless 解惑——函式計算如何訪問 SQL Server 資料庫Server函式SQL資料庫
- 為何股票量化交易要用到pandas庫?
- ubuntu移植到嵌入式平臺Ubuntu
- 溫溼度計算露點函式函式
- 作業系統(一)作業系統歷史:從標準函式庫到雲端計算作業系統函式
- 如何把 awk 指令碼移植到 Python指令碼Python
- python函式程式設計 返回函式 匿名函式 裝飾器 偏函式Python函式程式設計
- [python] Python平行計算庫Joblib使用指北Python
- 【譯】從高階函式到庫和框架函式框架
- pycuda-一些計算函式函式
- 函式計算-HelloWorld應用開發函式
- 計算 CRC32 的逆函式函式
- 微軟Win10計算器已被移植到Android/iOS/Web平臺微軟Win10AndroidiOSWeb
- 從 0 到 1,打造新一代開源函式計算平臺函式
- python中關於時間和日期函式的常用計算總結Python函式
- 外層函式的變數直接被巢狀函式引用計算函式變數巢狀
- LVGL庫入門教程01-移植到STM32(觸控式螢幕)
- 源中瑞量化交易軟體_量化自動交易平臺