Excel 中的指數移動平均線 (EMA) 是使用遞迴公式計算的,該公式會將每個新價格與前一個 EMA 混合,並以平滑因子 k = 2 ÷ (N + 1) 進行縮放。開頭的句子給出了公式;本文的其餘部分將說明如何在試算表中佈局、每個儲存格應包含什麼內容,以及如何使用指數計算機驗證底層的衰減權重。EMA 比簡單移動平均線反應更快,因為其權重呈幾何衰減,而不是在整個窗口中等量分佈。當天的價格權重為 k,前一天的權重為 k(1 − k),而 t 個週期前的價格權重為 k(1 − k)^t。該指數會隨著時間往回推算每一步而增加一,這正是指數計算機所擅長的計算。一旦理解了遞迴,Excel 的設定就是機械式的:錨定乘數儲存格、植入第一個 EMA,然後將單一公式向下拖曳。本指南的其餘部分將逐步說明欄位佈局、公式、常見陷阱,以及在週期變化時 Exponent Calculator 在抽樣檢查衰減權重方面所扮演的角色。

EMA 公式如何使用指數
指數加權移動平均線是遞迴的:每個新的 EMA 值都會將當天的價格與前一天的 EMA 混合,並以乘數 k 進行縮放。標準形式為:
EMA_today = (Close_today − EMA_yesterday) × k + EMA_yesterday
乘數 k(有時稱為平滑因子或加權係數)的計算公式為 k = 2 ÷ (N + 1),其中 N 是回顧週期。「指數」一詞源自於每個歷史權重如何呈幾何衰減。當天的價格權重為 k,前一天的權重為 k(1 − k),前一天的權重為 k(1 − k)²,依此類推。指數會隨著時間往回推算每一步而增加一,這正是指數計算機所產生的結果:將底數提升為某個冪次。
實際上,只要公式佈局正確,Excel 會自動處理這種遞迴,但底層的衰減權重、自訂 N 的乘數以及較舊觀察值的貢獻仍需偶爾進行檢查。指數計算機 會在您輸入時即時返回 base^exponent 的結果,因此 (1 − k)^t 變成單次查詢,而非手動連乘運算。它能妥善處理小數和倒數步驟,這正是 EMA 衰減因子驗證所需要的。
EMA 組成元件一覽
| 元件 | 公式 | 功能說明 |
|---|---|---|
| EMA 值 | (Close − EMA_prev) × k + EMA_prev | 使用乘數將當日收盤價與前一日的 EMA 混合 |
| 乘數 k | 2 ÷ (N + 1) | 週期 N 的平滑因子(也稱為 α 或平滑常數) |
| 種子 EMA | 第一個收盤價,或前 N 個收盤價的 SMA | 遞迴開始前的起始值 |
| 滯後 t 期的權重 | k × (1 − k)^t | t 個週期前的觀察值仍具有的權重 |
| Wilder 變體 | 1 ÷ N | RSI、ATR 及其他 Welles Wilder 指標中使用的替代乘數 |
右側兩欄是固定的關係式——這類內容適合編寫一次並重複使用。實際數字取決於所選的週期和資料中的價格;請從下一節的 Excel 公式中取得,或使用指數計算機進行抽樣檢查。
如何在 Excel 中計算 EMA
- 佈局收盤價。在 A1 輸入如「日期」的標頭,在 B1 輸入「收盤價」,並從 B2 開始向下輸入每日收盤價。如果資料包含多個標的,請為每個標的重複該欄位區塊,而不是混在一起。
- 選擇週期並儲存乘數。在固定儲存格(如 D1)中輸入週期(例如 10)。在 D2 中輸入 =2/($D$1+1)。美元符號會鎖定參照,這樣複製公式時才不會位移。
- 植入第一個 EMA 值。在 C2 中輸入種子——為了簡便可使用第一個收盤價 (=B2),或為了更乾淨的起點可使用前 N 個收盤價的簡單移動平均。在 C1 將標頭命名為「EMA」。
- 編寫遞迴 EMA 公式。在 C3 中輸入 =(B3-C2)*$D$2+C2。讀法為「今日收盤價減昨日的 EMA,乘以乘數,再加上昨日的 EMA」。Excel 會逐列運算,因此每個 C 儲存格僅依賴於其正上方的一列。
- 向下複製公式。選取 C3 並將填滿控點向下拖曳至最後一列資料。Excel 會為後續每一天遞迴重新計算 EMA。
- 設定格式與繪製圖表。套用例如兩位小數的數值格式,然後在折線圖上繪製收盤價與 EMA 序列,以視覺化相較於原始價格的平滑效果。
如果偏好單欄佈局,請在 C2 使用 =B2 作為種子,並從第 3 列使用上述公式開始遞迴。無論工作表有 50 列還是 50,000 列,結構都完全相同——Excel 只需要錨定乘數並定義一次遞迴即可。
使用指數計算機驗證衰減權重
EMA 乘數 k 很小(10 週期 EMA 約為 0.18),但衰減仍然重要。20 天前的觀察值會透過 (1 − k)^20 因子影響今日的 EMA。若要查看任何週期下該因子的實際數值,請將 1 − k 作為底數、滯後期作為指數代入指數計算機。它會顯示小整數指數的展開式,並能妥善處理小數和倒數,因此可以根據所選週期驗證較舊的觀察值是仍具實質貢獻,或是實質上可忽略不計。
舉例來說,對於 10 週期 EMA(k ≈ 0.1818),20 天前觀察值的衰減因子為 (1 − 0.1818)^20 = 0.8182^20。這個單次查詢即可回答「T-20 那天仍具備多少權重?」這個問題,而無需手動將 0.8182 自行相乘 20 次。相同的方法適用於任何自訂週期:計算 k,然後將 (1 − k) 提升至相關的滯後次方。關於相同指數工具在相同概念成長面的另一個應用,指數成長計算指南 介紹了如何以反向方式運用相同的計算進行百分比成長。
選擇平滑週期
週期 N 決定了反應速度與平滑度之間的取捨。短週期(5 到 10)緊貼近期價格,並在幾個 K 線內即產生反應,因此常被用於短期交易訊號。較長的週期(20 到 50)以落後於真實轉折點為代價來濾除雜訊,而像 100 或 200 這類非常長的週期則被用作慢速趨勢參考。
| 週期範圍 | 乘數公式 | 典型用途 |
|---|---|---|
| 5–10 | 2 ÷ (N + 1) | 短期進出場;在幾個 K 線內產生反應 |
| 20–30 | 2 ÷ (N + 1) | 中期趨勢,常見的波段交易預設值 |
| 50–200 | 2 ÷ (N + 1) | 長期趨勢濾網與總體參考 |
| Wilder 風格 (N) | 1 ÷ N | RSI、ATR 及其他 Welles Wilder 指標 |
請根據所要回答的問題來選擇,而非依據其他地方流行什麼。若將 10 週期 EMA 強加於週線圖上,所產生的結果會比 20 週期 EMA 更為雜訊,且其關係純粹是算術上的:當 N 增大時,乘數 k 會縮小,EMA 的反應也會變慢。確切的乘數來自上述公式;若想了解特定歷史 K 線仍具備多少權重,請使用指數計算機將 (1 − k) 提升至該滯後次方。
Excel EMA 計算的常見陷阱
有三個錯誤造成了大多數毀損的 EMA 工作表:
- 乘數未�定。如果乘數是以字面數字輸入,而非輸入為 =2/($D$1+1),那麼日後更改週期時將不會更新 EMA 欄。請務必參照單一儲存格,以便整欄都能對單一編輯做出反應。
- 種子值不當。以 0 或不對應的日期作為種子,可能會在前 N 個週期內使 EMA 明顯偏離價格。短工作表請使用第一個收盤價,較長的工作表則使用前 N 個收盤價的 SMA,並記錄所選方法以便重現。
- 查詢參照過時。如果使用 VLOOKUP、INDEX/MATCH 或 XLOOKUP 從 EMA 欄中不存在的日期提取 EMA 值,則該公式會傳回過時或缺失的值。請使用結構化表格參照或整欄範圍,以確保查詢始終能找到其所預期的列。
最後,請記住乘數是小數,而非百分比。如果輸入了 18.18 而非 0.1818,EMA 將在數個週期內暴增,因為每天的貢獻都會大於前一個 EMA,且 (Close − EMA_prev) 項會在每一後續列持續放大。圖表將會飛出螢幕,且底層數字將無法恢復,必須重建該欄。