SMA與EMA的區別:簡單移動平均線和指數移動平均線詳解

SMA與EMA的區別:簡單移動平均線和指數移動平均線詳解
移動平均線是技術分析中使用最廣泛的指標。幾乎每張圖表上都能看到兩種:**SMA(簡單移動平均線)**和 EMA(指數移動平均線)。它們看起來相似,行為卻不同——選對哪一種,決定了你的策略反應有多早、有多頻繁。
SMA 是什麼?
SMA 即 Simple Moving Average,簡單移動平均線,是最近 N 個收盤價的算術平均值。20 日 SMA 就是把最近 20 個日收盤價相加再除以 20。每過一天,最早的價格移出、最新的價格加入,平均值隨之"移動"。
SMA 計算公式
SMA_N = (P1 + P2 + ... + PN) / N
示例——收盤價 10、11、12、11、13 的 5 日 SMA:
SMA = (10 + 11 + 12 + 11 + 13) / 5 = 11.4
窗口內每個價格的權重完全相同(1/N)。
EMA 是什麼?
EMA 同樣是價格均值,但通過平滑係數 α = 2 / (N + 1) 給近期價格更高權重。完整公式與手算示例見 EMA是什麼?指數移動平均線詳解。
SMA 與 EMA 的核心區別
| SMA | EMA | |
|---|---|---|
| 權重 | 每根K線權重相同 | 近期K線權重更高 |
| 反應速度 | 較慢 | 較快 |
| 噪音/假信號 | 較少 | 較多 |
| 記憶 | 僅最近 N 根 | 所有歷史K線(影響逐漸衰減) |
| 適用 | 長期趨勢、關鍵支撐阻力 | 短期動能、及時入場 |
| 經典參數 | 50 SMA、200 SMA | 9、12、21、26 EMA |
一句話總結:EMA 更貼近價格、轉向更早;SMA 更平穩、轉向更晚。 行情急轉時,EMA 通常比 SMA 提前幾根K線與價格交叉。
什麼時候用 SMA,什麼時候用 EMA
適合用 SMA:
- 在日線、周線等較大週期交易,希望減少洗盤。
- 關注市場共識位——50 日和 200 日 SMA 是許多機構的參考點。
- 需要穩定基準做均值迴歸策略。
適合用 EMA:
- 日內或波段交易,入場時機很重要。
- 構建動能指標(MACD 使用 12 與 26 EMA)。
- 強趨勢行情中需要緊跟價格的移動止損。
很多交易者兩者結合,例如用短期 EMA 找入場點,用 200 SMA 做長期趨勢過濾。
用 Python 計算 SMA 和 EMA
import requests
import pandas as pd
TOKEN = "YOUR_API_TOKEN"
url = "https://api.itick.org/forex/kline"
params = {"region": "GB", "code": "EURUSD", "kType": 8, "limit": 300}
headers = {"accept": "application/json", "token": TOKEN}
data = requests.get(url, params=params, headers=headers, timeout=10).json()["data"]
df = pd.DataFrame(data)
df["close"] = df["c"].astype(float)
df["sma_20"] = df["close"].rolling(window=20).mean()
df["ema_20"] = df["close"].ewm(span=20, adjust=False).mean()
# 兩者差值擴大,説明趨勢在加速
df["gap"] = df["ema_20"] - df["sma_20"]
print(df[["close", "sma_20", "ema_20", "gap"]].tail())
同樣的代碼適用於股票(/stock/kline,region US,code AAPL)和加密貨幣(/crypto/kline,region BA,code BTCUSDT)。數據來自 iTick 歷史行情數據API。
小實驗:誰先交叉?
在同一市場上同時運行兩條均線,統計趨勢改變後各自要多少根K線才與價格交叉。通常你會發現 EMA 反應更早,但在橫盤期交叉次數也更多。這種速度與可靠性的權衡,就是 SMA 與 EMA 之爭的全部。想嚴謹評估,請參考 Python 回測教程。
常見問題
股票裏的 SMA 是什麼意思? SMA 即簡單移動平均線,是一定週期內收盤價的平均值。
200 日均線是 SMA 還是 EMA? 通常指 SMA,但部分軟件默認 EMA,請檢查圖表設置。
日內交易用 SMA 還是 EMA? 大多數日內交易者偏好 EMA,因為它對日內價格變化反應更快。
SMA 和 EMA 可以一起用嗎? 可以。常見做法是短期 EMA 出信號、長期 SMA 做趨勢過濾。
用真實數據開始構建
均線需要乾淨、無缺口的價格數據。免費獲取 iTick API Key,獲取股票、外匯與加密貨幣 OHLCV 數據,並通過 WebSocket 實時推送 讓均線實時更新。