- 登入
- 註冊
通常我們以一般的安裝套件方法,嘗試直接 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 就表示安裝成功囉!
與 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 技術指標工具箱系列文章