首頁 > 最齊全的 Python 技術指標工具箱 talib (一)套...

最齊全的 Python 技術指標工具箱 talib (一)套件安裝與基本操作說明

最齊全的 Python 技術指標工具箱 talib (一)套件安裝與基本操作說明

安裝 talib 套件

通常我們以一般的安裝套件方法,嘗試直接 pip install talib 去安裝,但這樣 talib 往往會安裝失敗。

關於 talib 的安裝,如同我們 google 搜尋得到的答案,我們也確實嘗試過透過以下方式安裝最為穩妥。

步驟 1:點擊連結前往一位加州大學老師提供的 Python Packages:
https://www.lfd.uci.edu/~gohlke/pythonlibs/#ta-lib

步驟 2:搜尋 TA-Lib,找到對應的 Windows 系統和 Python 版本的 whl 檔,下載放到任何一個目錄下。如下方截圖:

步驟 3:打開 Windows 的 cmd,如果是使用 Anaconda的讀者可以直接打開 Anaconda Prompt 進入環境。

步驟 4:在終端機中,輸入指令 cd /d,在 /d 後,加上一個的空格,後面放上剛才下載存放 .whl 檔案的路徑。這時候終端機上,你的工作目錄應該已經移動到存放 .whl 的路徑了。假設我們剛才把 .whl 檔放在 D 槽的 Download 目錄下,如下方所示,這表示我們成功把工作目錄移動過去了!

步驟 5:輸入 pip install,後面加上你的 .whl 檔案全名,例如: pip install TA_Lib‑0.4.24‑cp37‑cp37m‑win_amd64.whl,即可成功安裝 talib!雖然終端機會跳出很多 warning 訊息,但有出現 Successfully installed TA-Lib-0.4.24 就表示安裝成功囉!

匯入 talib 套件

與 pandas、numpy 等 Python 強大套件相同,使用前記得先 import。

import talib

實作常用均線指標

假設我們有一個比特幣價量資料 csv,檔名叫做 BTCUSDT.csv,我們把它讀取進來,並且指定 timestamp 欄位為 DataFrame 的 index,程式碼和印出結果如下:

import pandas as pd 
data = pd.read_csv(“BTCUSDT.csv”, index_col=”timestamp”, 
parse_dates=True)

可以明顯看得出來,這是比特幣的一分線歷史價量資料。

幾種常見的均線如下:

sma = talib.SMA(data["close"], 60)      # 簡單移動平均線 
ema = talib.EMA(data["close"], 60)      # 指數移動平均線 
wma = talib.WMA(data["close"], 60)      # 加權移動平均線 
trima = talib.TRIMA(data["close"], 60)  # 三角移動平均線

這幾種均線對價格波動的敏感度都有所不同,我們有空再來詳述。總之,我們計算完後,若想確認結果是否正確,可以運行下方程式碼,初步以繪圖來進行檢查:

import matplotlib.pyplot as plt
plt.figure(figsize=(12,6)) 
plt.plot(data["close"],label="close") 
plt.plot(sma,label="sma") 
plt.plot(ema,label="ema") 
plt.plot(wma,label="wma") 
plt.plot(trima,label="trima") 
plt.legend() 
plt.show()

假設這裡我們只取最後 500 分鐘的資料來繪製,結果如下:

藍線是每分鐘的收盤價,我們從圖中可以觀察到,隨著收盤價的波動,最敏感的是EMA,其次是 WMA,而後依序是 SMA、TRIMA。這跟它們的計算方式有關。

至於很多讀者會問:哪一個均線比較好用?坦白說,我們沒辦法說用EMA比較好,還是用SMA比較好,因為他們本來就沒有好不好之分,而是要回歸均線的邏輯:均線是過去一段時間所有買方的平均成本價於是我們接著就能思考,我們想要用均線來衡量什麼市場狀態?怎麼樣計算才比較符合我們想像中的樣態?

均線這個話題再聊下去就跑題了。總之,Talib 能做的不僅如此,下一篇我們再來繼續介紹 talib 能實作的更多指標吧!

延伸閱讀:最齊全的 Python 技術指標工具箱 talib (二):閱讀套件說明文件的邏輯就這麼簡單


量化通粉絲社群,定期分享實用資源
✅加入LINE匿名群組量化通QuantPass」無壓力討論與分享!
✅追蹤量化通的粉絲專頁量化通QuantPass」即時獲取實用的資源!

程式交易課程推薦
📣 Python 程式交易系列線上課程,手把手開始用程式交易打造自己的被動收入!

發表迴響

相關文章