關於股市的技術面兩個常見指標MA及RSI
技術面分析的核心假設是:「市場的所有資訊,都已經反映在股價上」。 因此,只要研究股價與成交量的變化,就能幫助投資人判斷趨勢與可能的反轉點。
常見技術分析工具包括:
-
趨勢線與型態學(頭肩頂、三角收斂)
-
各種技術指標(MA、RSI、MACD、布林通道等)
-
成交量觀察
兩個最常見的技術指標MA(移動平均線)和RSI(相對強弱指標)
- MA 移動平均線
-
原理
移動平均線(Moving Average, MA)是將股價在某一段時間的平均數畫出來,幫助投資人看清楚趨勢,去除短期雜訊。
-
短期均線(5日、10日):敏感,適合觀察短線趨勢。
-
中期均線(20日、60日):觀察中期方向。
-
長期均線(120日、240日):大趨勢的方向。
-
-
實際應用
-
均線黃金交叉:短期均線向上突破長期均線 → 上漲趨勢訊號。
-
均線死亡交叉:短期均線向下跌破長期均線 → 下跌趨勢訊號。
-
-
- RSI 相對強弱指標
-
原理
RSI(Relative Strength Index)是一種動能指標,用來衡量股價「漲勢」與「跌勢」的相對強度。
公式大意:
𝑅𝑆𝐼 =100 − 100/1+𝑅𝑆 其中 RS = 平均漲幅 ÷ 平均跌幅。 -
常見判斷區間
-
RSI > 70:股價可能過熱,短期有回檔壓力。
-
RSI < 30:股價可能超跌,短期有反彈機會。
-
40–60 區間:盤整整理。
-
-
注意事項
RSI 並不是絕對買賣訊號,若股價長期強勢,RSI 可能一直維持在高檔。要搭配趨勢判斷。
-
程式碼
import yfinance as yf
import pandas as pd
# 下載台積電ADR的歷史股價
stock = yf.download("TSM", start="2025-01-01", end="2026-01-01")
# 計算移動平均線 (MA)
stock["MA20"] = stock["Close"].rolling(window=20).mean() # 20日均線
stock["MA60"] = stock["Close"].rolling(window=60).mean() # 60日均線
# 計算 RSI
def compute_RSI(data, window=14):
delta = data["Close"].diff()
gain = delta.where(delta > 0, 0)
loss = -delta.where(delta < 0, 0)
avg_gain = gain.rolling(window=window).mean()
avg_loss = loss.rolling(window=window).mean()
rs = avg_gain / avg_loss
rsi = 100 - (100 / (1 + rs))
return rsi
stock["RSI14"] = compute_RSI(stock, 14)
# 顯示最近幾筆數據
print(stock[["Close", "MA20", "MA60", "RSI14"]].tail(10))