技術分析
技術指標是用歷史價格與成交量算出來的數字,幫助判斷市場的趨勢、動能與波動程度。單一指標都有盲點,實務上通常會搭配使用。
| 類別 | 代表指標 | 用途 |
|---|---|---|
| 趨勢 | 移動平均線(MA)、MACD | 判斷市場方向 |
| 動量 | RSI | 判斷是否超買、超賣 |
| 波動率 | 布林通道(Bollinger Bands) | 衡量價格波動範圍 |
| 成交量 | OBV | 判斷資金流向 |
| 通道 | 唐奇安通道(Donchian Channel) | 用近期高低點定義突破區間 |
移動平均線(MA)
import talib
data["SMA_20"] = talib.SMA(data["Close"], timeperiod=20) # 簡單移動平均,反應較慢、較平滑
data["EMA_20"] = talib.EMA(data["Close"], timeperiod=20) # 指數移動平均,對近期價格更敏感
MACD
MACD(Moving Average Convergence Divergence)是趨勢與動能指標,常用來判斷趨勢轉折。
macd, macd_signal, macd_hist = talib.MACD(
data["Close"], fastperiod=12, slowperiod=26, signalperiod=9
)
當 MACD 由下往上穿越訊號線(Signal Line),通常視為偏多訊號;反之則偏空。
RSI(相對強弱指數)
RSI 介於 0~100 之間:一般認為 RSI > 70 為超買,RSI < 30 為超賣,但在強勢趨勢中 RSI 可能長時間停留在極端區間,不宜單獨依賴。
布林通道(Bollinger Bands)
布林通道用移動平均加減標準差畫出上下軌,衡量價格的波動範圍:價格觸及上軌代表相對高檔,觸及下軌代表相對低檔。
唐奇安通道(Donchian Channel)
唐奇安通道用「近 N 天最高價」與「近 N 天最低價」畫出通道,是海龜交易法則等突破策略常用的指標。
data["20d_high"] = data["Close"].rolling(window=20).max()
data["10d_low"] = data["Close"].rolling(window=10).min()
OBV(能量潮)
OBV 累加每日成交量(漲日加、跌日減),OBV 持續上升通常代表資金持續流入。
指標的綜合應用
單一指標容易出現假訊號,實務上常搭配使用,例如「均線多頭排列 + RSI 未過熱」:
data["Buy_Signal"] = (data["SMA_20"] > data["SMA_50"]) & (data["RSI"] < 30)
data["Sell_Signal"] = (data["SMA_20"] < data["SMA_50"]) & (data["RSI"] > 70)
動手做
| Notebook | 內容 |
|---|---|
| 6-1 均線(MA) | 計算並繪製移動平均線 |
| 6-2 唐奇安通道 | 計算唐奇安通道;本 Notebook 保留繪圖練習給學員自行完成 |
| 6-3 布林帶 | 計算並繪製布林通道 |
| 6-4 安裝及使用 TA-Lib | 在 Colab 環境安裝 TA-Lib 的步驟 |