手把手程式實作分享系列: Python 技術指標工具 Talib 介紹及安裝
1. Talib是什麼?
TA-Lib(Technical Analysis Library)是一個用於技術分析的Python套件,它提供了大量的技術分析指標和模式識別函數,可用於金融市場和股票交易的量化分析。TA-Lib的全名是Technical Analysis Library,是一個開源項目,旨在為交易者和開發者提供一個強大且廣泛使用的技術分析工具。
以下是TA-Lib的一些主要特點和功能:
- 技術分析指標: TA-Lib提供了大量常用的技術分析指標,包括移動平均線(Moving Averages)、相對強弱指標(Relative Strength Index,RSI)、MACD(Moving Average Convergence Divergence)等。這些指標對於分析市場趨勢和價格動態非常有用。
- 支援全金融商品: TA-Lib可以應用於不同的金融市場,包括股票、期貨、外匯等。這使得它成為跨不同資產類別進行技術分析的理想工具。因為技術分析的理論不限定在股票,所以只要有時間序列的產品,都可以用talib來完成技術指標的計算。
- 易於使用: TA-Lib的API相對簡單,使用者可以輕鬆地將其應用於他們的交易策略和分析工具中。
- 開源和廣泛支持: TA-Lib是一個開源項目,它得到了廣泛的支持和貢獻。這意味著開發者可以查看代碼、提出改進建議,並參與到項目的開發中。
2. 安裝 Talib 套件
如果你是直覺性的用:
pip install talib
那你應該已經失敗了,對吧~
這個套件的安裝,跟一般套件比較不一樣,因為TA-Lib是一個包含C語言代碼的庫,而且它的Python包通常是通過SWIG(Simplified Wrapper and Interface Generator)生成的。
步驟 1:在安裝TA-Lib之前,要先去他們網站下載安裝檔
https://www.lfd.uci.edu/~gohlke/pythonlibs/#ta-lib
搜尋 TA-Lib,找到對應的 Windows 系統和 Python 版本的 whl 檔,下載放到任何一個目錄下。如下方截圖:
步驟 2:打開 Windows 的 cmd,如果是使用 Anaconda的讀者可以直接打開 Anaconda Prompt 進入環境。
步驟 3:在終端機中,到你下載的資料夾中。像是下圖的話,就是到C 槽的下載資料夾裡面。
步驟 4:輸入 pip install,後面加上你的 .whl 檔案全名,例如: pip install TA_Lib‑0.4.24‑cp37‑cp37m‑win_amd64.whl,即可成功安裝 talib!雖然終端機會跳出很多 warning 訊息,但有出現 Successfully installed TA-Lib-0.4.24 就表示安裝成功囉!
3. 匯入 talib 套件
Python 套件都一樣,使用前記得先 import
import talib
4. 簡單的範例
我們多使用二個套件,pandas跟yfinance。
yfinance可以讓我簡單的拿到一些美股的資料;大家可以替完成自己喜歡的資訊。
然後一個簡單的程式碼: talib.SMA(data[‘Close’], timeperiod=20)
就可以拿到20日線了,非常簡單。
import talib
import pandas as pd
import yfinance as yf
# 下載股票價格數據
symbol = "AAPL"
start_date = "2022-01-01"
end_date = "2023-01-01"
data = yf.download(symbol, start=start_date, end=end_date)
# 計算20日簡單移動平均線
data['SMA_20'] = talib.SMA(data['Close'], timeperiod=20)
# 打印數據
print(data[['Close', 'SMA_20']])
結論如下:
移動平均線的計算方式也有很多種,像是sma,ema,wma.trima,這幾種均線對價格波動的敏感度都有所不同,大家可以自己嘗試看看。
這些算法在talib裡面都有一併給大家,也是簡單的算式就可實現。
sma = talib.SMA(data["close"], 60) # 簡單移動平均線
ema = talib.EMA(data["close"], 60) # 指數移動平均線
wma = talib.WMA(data["close"], 60) # 加權移動平均線
trima = talib.TRIMA(data["close"], 60) # 三角移動平均線
5. Talib 說明文件
直接去他們官方網站:
https://ta-lib.github.io/ta-lib-python/doc_index.html
我自己覺得重點是下面的指標說明,裡面有100多個指標可以使用。
- Overlap Studies
- Momentum Indicators
- Volume Indicators
- Volatility Indicators
- Price Transform
- Cycle Indicators
- Pattern Recognition
- Statistic Functions
- Math Transform
- Math Operators
理論上你想的到的,應該都包在裡面了。就跟哥爾羅傑的大秘寶一樣。
點擊第一個 Overlap Studies,看看文件寫了什麼:
像是第一個布林通道,就會一行簡單的出現上中下線。
upperband, middleband, lowerband = BBANDS(close, timeperiod=5, nbdevup=2, nbdevdn=2, matype=0)
是不是真的很簡單~ 大家趕快去試試看吧~