MFI vs RSI:成交量改變了什麼,哪一個在期貨上測試較好
RSI 衡量近期價格變動的幅度;MFI 則以成交量加權每根 K 棒的典型價格,計算同樣的比率,因此會在 RSI 看不到的成交量暴增時跳動。成交量是額外的輸入,不是自動的改進:在期貨上,成交量會分散在不同合約月之間,夜盤又變得稀薄,因此只有在你自己的 K 棒上、以相同成本進行並排測試,才能判斷哪一個反應較好。
作者 Soren Huang · 發佈 · 更新於 · 編輯原則
目錄
MFI 與 RSI 有什麼不同?
MFI 與 RSI 的差別只在一個輸入:RSI 衡量近期價格變動的幅度,而資金流量指標(Money Flow Index,MFI)則以成交量加權每根 K 棒的典型價格。因此 MFI 會在 RSI 看不到的成交量暴增時跳動。哪一種反應有幫助並非固定不變,只有在你自己的期貨 K 棒上做並排測試,才能判斷。
RSI(相對強弱指數,Relative Strength Index)是一種震盪指標,它在一段回顧期間內比較上漲收盤的平均幅度與下跌收盤的平均幅度,並將結果對應到 0 至 100 的刻度。MFI(資金流量指標,Money Flow Index)做的是同樣的比較,但每根 K 棒是以典型價格乘以成交量後才納入加總,因此成交量大的 K 棒,比同樣幅度但成交量清淡的 K 棒權重更高。簡單來說:RSI 告訴你人群推動了多遠,MFI 則告訴你推動了多遠,以及有多少人參與。兩者都屬於技術分析工具與指標指南中所介紹的震盪指標家族,而RSI 指標頁面已詳細說明基礎指標,因此本文將篇幅用在成交量改變了什麼,以及如何測試它。
我的看法是:成交量加權是一種改變,而不是升級。對於只有一種股份類別的股票,成交量是一個乾淨的數字。但期貨合約的成交量歸屬於特定的合約月與特定的交易時段,MFI 會承襲這筆成交量記錄方式的每一個特性。
RSI 如何計算,MFI 又加入了什麼?
兩個指標都以相同的最後一步,把上漲與下跌的比率轉換為 0 至 100 的數值;差別在於什麼算是一次變動,以及變動如何平滑。RSI 由 Wilder(1978)提出,它處理的是相鄰兩個收盤價之間的變化。MFI 處理的則是資金流量,也就是 K 棒的典型價格乘以該 K 棒的成交量。典型價格是 K 棒最高價、最低價與收盤價的平均值。
步驟的對應如下:
- 衡量每根 K 棒。RSI 取收盤價減去前一根收盤價。MFI 取典型價格乘以成交量。
- 將 K 棒區分為上漲與下跌。RSI 使用收盤價變化的正負號。MFI 比較本根 K 棒的典型價格與前一根的典型價格;典型價格較高,整筆資金流量為正;較低則為負。
- 在回顧期間內加總兩組數值。RSI 使用威爾德平滑法,這是一種指數平均,每根新 K 棒以回顧期數的倒數為權重納入,因此舊的 K 棒會緩慢淡出。MFI 則在回顧期間內做單純加總,因此 K 棒一旦離開視窗就會完全消失。
- 形成比率並縮放。兩者都將上漲總和除以下跌總和,並套用相同的縮放,下面只列出一次。
指數 = 100 − 100 ÷ (1 + 比率)
這裡的比率是回顧期間內上漲總和除以下跌總和,指數則是 RSI 或 MFI 的數值。比率為 1(上漲與下跌相等)時指數為 50;比率無限增大時,指數趨近 100;比率接近零時,指數趨近 0。
| 步驟 | RSI | MFI |
|---|---|---|
| 每根 K 棒的輸入 | 收盤價減前一根收盤價 | 典型價格 × 成交量 |
| 上漲或下跌的 K 棒 | 收盤價變化的正負號 | 典型價格高於或低於前一根典型價格 |
| 回顧期間的平滑 | 威爾德平滑法(舊 K 棒淡出) | 單純加總(舊 K 棒完全移出) |
| 最後一步 | 100 − 100 ÷ (1 + 比率) | 100 − 100 ÷ (1 + 比率) |
| 輸出刻度 | 0–100 | 0–100 |
實務上的結果是,單一根 K 棒就可能主導 MFI。在 RSI 中,一根 K 棒最多只貢獻它自己的價格變化。在 MFI 中,一根成交量是平常五倍的 K 棒,所貢獻的量是同樣幅度、一般成交量 K 棒的五倍;而且因為加總未經平滑,它以完整權重進入,也在視窗移過它時以完整權重離開。
假設範例
在 14 根 K 棒中,上漲收盤的加總為 30 點,下跌收盤的加總為 20 點。比率為 1.5,因此 RSI = 100 − 100 ÷ 2.5 = 60。現在假設其中一根上漲 K 棒的成交量是正常的三倍。以資金流量單位計算,正向總和可能是 120,負向總和是 60。比率為 2,因此 MFI = 100 − 100 ÷ 3 ≈ 67。價格相同,只因為一根量大的 K 棒,MFI 就高出七點。當那根 K 棒離開 14 根 K 棒的視窗時,MFI 會在一步之內回落,而 RSI 因為從未看見成交量,所以不會變動。
MFI 與 RSI 通常使用哪些門檻?
RSI 通常以 70 與 30 作為參照,MFI 則以 80 與 20 為參照,因為在相同的 K 棒上,MFI 的擺動幅度較大,若用 70/30 會更頻繁地穿越。Wilder(1978)為 14 根 K 棒回顧期間的 RSI 提出 70/30,大多數圖表平台的 RSI 也是這樣預設的。MFI 採用 80/20 的慣例則是一種實務上的調整:成交量會放大每根 K 棒的貢獻,因此比率離 1 更遠,指數也更常停留在邊緣。
| 設定 | RSI | MFI |
|---|---|---|
| 常見回顧期數 | 14 根 K 棒 | 14 根 K 棒 |
| 超買線 | 70 | 80 |
| 超賣線 | 30 | 20 |
| 中線 | 50 | 50 |
| 為何有此差距 | 只看價格變化;擺動幅度適中 | 成交量放大擺動;範圍較寬 |
門檻和其他規則參數一樣,教科書上的數值只是測試的起點,不是答案。在保留某個門檻之前,有兩件事要檢查:
- 鄰近的數值表現相似。如果 80/20 有效,但 75/25 與 85/15 都失敗,那結果就只是依賴某一條幸運的線。請在預設值周圍測試一個小範圍的格點,尋找的是一個區域,而不是一個點。
- 指標在趨勢中沒有一直釘在極端值。在強勁的趨勢中,兩種震盪指標都可能在價格持續上漲時,連續許多根 K 棒停留在超買線之上;讀數長時間卡在極端值意味著什麼,以及如何測試,已在KD 或 RSI 持續超買代表什麼中說明。同樣的邏輯也適用於 MFI,只是多了一個變數:趨勢頂部的成交量暴增可能讓 MFI 卡住的時間更長。
為什麼成交量對期貨上的 MFI 是個問題?
期貨成交量歸屬於一個合約月與一個交易時段,因此同樣的 MFI 規則,套用在由同一市場建立的不同資料序列上,會得到不同的讀數。轉倉是交易者從即將到期的合約月移到下一個合約月的時點;在轉倉那一週,近月的成交量逐漸流失,而次月的成交量則上升來取代它。連續月是將連續的合約月拼接成一條序列,使回測能跨越數年進行;它如何拼接,決定了 MFI 看到的是哪一種成交量。
有三種情況會在價格不變的情況下改變 MFI:
- 轉倉週。一條跟著近月直到到期的序列,會在切換之前幾天出現成交量崩跌。資金流量也隨之縮小,因此一個正常的價格變動只會產生很小的 MFI 變化,而切換後的第一批 K 棒則會出現成交量的突然跳升。一條在成交量交叉時才轉倉的序列,成交量路徑會平滑得多,兩條 MFI 線會在大約一週內分岔。至於與 ES 同樣遵循季度循環的那斯達克期貨,其換約時間如何影響回測,已在NQ 合約何時轉倉,以及它如何影響回測中說明。
- 夜盤。夜間時段的成交量只佔日盤的一小部分。在全時段的 K 棒上,MFI 由成交量大的日盤 K 棒與成交量小的夜盤 K 棒混合而成,因此日盤一個溫和的變動,會蓋過夜盤一個大的變動。若只用日盤 K 棒,這種混合就不會出現。在某一種交易時段格式上測試的規則,在另一種格式上的表現會不同。
- 標準與微型合約。ES 與 MES 是各自獨立的合約,成交量也各自獨立。兩者的價格追蹤同一個指數,但即使在同一天、同一種 K 棒週期下,以 MES 資料計算的成交量加權指標,也不等於以 ES 資料計算的同一指標。
應對方式是程序上的,而不是數學上的。請以你實際要交易的確切序列來建立測試:同樣的連續合約方法、同樣的交易時段格式、同樣的合約。接著,比較轉倉週的 MFI 讀數與其餘歷史期間的讀數;如果轉倉週的讀數產生的訊號在全部訊號中佔比過高,就再加一項檢查,看看在排除這些週之後規則的表現如何。RSI 不受這三個問題影響,這本身也是它在某一條期貨序列上可能測試得更好的原因之一:它在資料上出錯的途徑比較少。
MFI 與 RSI 可以一起使用嗎?
可以,而常見的做法是讓其中一個作為另一個的確認過濾器,但過濾器會減少交易次數,因此這組搭配必須在同一份資料上,相對於各自單獨使用時證明它的價值。確認過濾器是指在採用第一個指標的訊號之前,另一個必須同時成立的條件。要求 RSI 低於 30 且 MFI 低於 20 同時成立,就只會保留兩者都同意的 K 棒。
這組搭配之所以受歡迎,是因為兩個指標的分歧有其原因:當價格在清淡的成交量下下跌時,RSI 會進入超賣,而 MFI 不會,背後的想法是:量縮的下跌比較不可能是真正的力竭。這是關於你的市場的一個假設,它與任何其他過濾器的地位相同,包括用作確認的 K 線型態;多頭與空頭 K 線型態的測試顯示了同樣的取捨:訊號較少,但每一個訊號的門檻較高。若為了「更多確認」再加入第三個震盪指標,交易次數會再次減少,而且每個震盪指標都帶來自己的落後;希爾伯特震盪指標指南為週期指標量測了這種落後,該方法在這裡同樣適用。
以三個數字來評斷這組搭配,而且都要在扣除成本之後、在相同的 K 棒上計算:
- 交易次數。這組搭配的交易次數會少於單獨使用任一指標。交易次數越少,平均值就越不確定。
- 扣除成本後的平均每筆損益。這是過濾器必須展現價值的地方:它保留下來的交易應該更好,而不只是更少。
- 淨損益與回撤。交易次數大幅減少時,即使平均值較高,總損益仍可能較少,而回撤可能相近。
假設範例
在相同的樣本外 K 棒上,單獨使用 RSI 有 300 筆交易,扣除成本後平均每筆 $40,總計 $12,000。單獨使用 MFI 有 250 筆交易,平均每筆 $45,總計 $11,250。這組搭配有 120 筆交易,平均每筆 $70,總計 $8,400。這組搭配的平均每筆損益最好,總額卻最小。只有 120 筆交易,$70 的平均值也是三者中最不確定的;在 120 筆交易上每筆 $25 的差距,可能只是雜訊。這組搭配是否值得保留,取決於你事先決定要以哪一個數字來排序。
在期貨上,MFI 與 RSI 哪一個測試得更好?
沒有哪一個在一般情況下測得較好;在你的 ES K 棒上測試得較好的那一個,要用相同的設定同時執行兩者,並依扣除成本後的樣本外平均每筆損益來選擇。公平的比較只改變指標,其他一切保持固定,這正是 Pardo(2008)在評估策略時所描述的紀律:結果必須來自規則本身,而不是來自測試條件的差異。
- 相同的 ES K 棒與交易時段。每一次執行都使用同一份資料序列、同一種連續合約方法、同一種交易時段格式。
- 相同的回顧期數與門檻。RSI 採 14 期與 70/30,MFI 採 14 期與 80/20,然後對每個指標使用相同的小範圍鄰近格點。
- 相同的成本與成交方式。所有執行都使用同一個手續費數字、同一個滑價數字,並採用下一根 K 棒成交,因此沒有任何版本能從實際上不可能取得的成交中得利。
- 事先寫下的單一切分日期。在較早的一段上調整參數,在較晚的一段上評分,做法如如何切分樣本內與樣本外資料所述。
- 比較樣本外的欄位。RSI、MFI 與這組搭配的扣除成本後平均每筆損益與交易次數。
第 3 步最常被跳過,因為成本感覺像是最後才要加上的細節。但它們並不是細節:震盪指標規則在 ES 上交易頻繁,每邊幾美元的滑價就足以決定平均每筆損益是正還是負。當 AlphaPrime(Valynox)執行 RSI 版本與 MFI 版本時,每個候選策略都承擔相同的手續費與滑價,並在回測中以下一根 K 棒成交,因此你所比較的兩欄,是在同一套規則下產生的,而不是兩套規則。
為了呈現一個被保留的候選策略的報表樣貌,以及在 RSI 版本與 MFI 版本之間該比較哪些部分,這裡提供一次真實的執行。它測試的不是 MFI 或 RSI,而是一個以標準指標 Bulls Power 建立的替代規則,它是 ES 日線上唯一的進場與出場依據,回測期間為 2019-01-02 至 2025-06-30,做多與做空,一口合約,沒有停損、停利或過濾器。搜尋嘗試了 1,024 個候選策略,並依其報酬相對於回撤的表現,保留了這一個。
來源:AlphaPrime 產品引擎(CPU),2026-10-31 執行。ES 日線,2019-01-02 至 2025-06-30,多空都做,1 口,每筆手續費 $20、滑價 $25。
| 項目 | 結果 |
|---|---|
| 淨利(已平倉) | $98,870 |
| 最大回撤 | $62,462.5 |
| 交易筆數 | 249 |
| 勝率 | 57.03% |
| 獲利因子 | 1.283 |
| 平均每筆 | $397.07 |
| 在場時間 | 72.45% |
請把這張表當作範本來看,而不是 MFI 或 RSI 的結果。這些數字屬於從許多候選策略中挑出的一個,事後挑選最佳者會美化它:Bailey 等人(2014)指出,在大量候選策略中挑出的最佳回測會帶有選擇偏誤,而下一個期間不會重現這份優勢。當你執行自己的 RSI 與 MFI 版本時,應並排比較的欄位是:平均每筆損益(這裡為 $397.07,對照每筆 $45 的成本)、交易次數(249 筆,足以讓平均值有意義,但並不龐大),以及最大回撤($62,462.5,對於沒有停損的一口規則而言,相對於淨損益來說很大)。這條規則或任何指標都沒有真的賺到這筆錢,讀者也不應如此預期;這只是一個被保留的候選策略在那段歷史上的樣子。

你的下一步是一個下午的工作量:載入你會交易的 ES 序列,寫下一個切分日期,執行 14 期、70/30 的 RSI 與 14 期、80/20 的 MFI,兩者都只作為唯一的進場與出場依據,並使用你實際的手續費與滑價,然後讀取各自的樣本外平均每筆損益。如果 MFI 領先,就排除轉倉週重新執行,看看它是否仍然領先;如果 RSI 領先,代表你的資料序列上的成交量並未增添資訊,那麼你到此即可停止。
常見問題
MFI 比 RSI 好嗎?
一般而言並非如此。MFI 就是以成交量加權每根 K 棒的 RSI,因此它會對 RSI 忽略的成交量暴增做出反應。這種反應是否有幫助,取決於你的資料序列上的成交量是否帶有資訊;在期貨上,成交量會分散在不同合約月之間,夜盤又變得稀薄,這可能增加雜訊。請在相同的 K 棒與相同的成本下同時執行兩者,並比較樣本外的平均每筆損益。
資金流量指標的標準設定是什麼?
常見的預設是回顧 14 根 K 棒,超買設在 80、超賣設在 20。這些線比 RSI 的 70/30 更寬,因為成交量會放大每根 K 棒的貢獻,使 MFI 的擺動幅度更大。在保留 14 與 80/20 之前,請將它們視為起始的格點,並確認鄰近的數值會得到相似的結果。
沒有可靠成交量的期貨,MFI 指標還能用嗎?
MFI 需要每根 K 棒都有成交量數值,它會讀取資料序列中所包含的任何成交量。在期貨上,成交量取決於序列追蹤的是哪一個合約月、如何轉倉,以及 K 棒涵蓋哪一個交易時段,因此同樣的規則在不同序列上會得到不同的讀數。請在你實際要交易的確切序列上測試 MFI,並比較轉倉週的讀數與其餘歷史期間的讀數。
MFI 與 RSI 意見分歧時代表什麼?
分歧通常代表價格是在不尋常的成交量下移動的。如果價格下跌、RSI 進入超賣而 MFI 沒有,代表這次下跌發生在清淡的成交量之下;如果 MFI 先到達極端值,則是幾根大量 K 棒造成的。交易者會把這種分歧當作過濾器,但同意的交易是否比全部交易更好,是你的資料上的測試結果,而不是一條規則。
參考文獻
- Wilder, J. W. (1978). New Concepts in Technical Trading Systems. Trend Research.
- Pardo, R. (2008). The Evaluation and Optimization of Trading Strategies (2nd ed.). John Wiley & Sons.
- Bailey, D. H., Borwein, J., López de Prado, M., & Zhu, Q. J. (2014). Pseudo-Mathematics and Financial Charlatanism: The Effects of Backtest Overfitting on Out-of-Sample Performance. Notices of the American Mathematical Society, 61(5), 458–471.

