資金流量指標:公式、80/20 水位與 ES 期貨測試
資金流量指標就是加入成交量的 RSI:它把上漲 K 棒與下跌 K 棒的典型價格 × 成交量分別加總,取 14 根 K 棒,再把比值換算成 0 到 100。只有在成交量明顯偏向一邊時,它才會提供 RSI 無法提供的資訊,因此在期貨上使用前,應先將 MFI 規則與同樣成本下的 RSI 規則對照測試。
作者 Soren Huang · 發佈 · 更新於 · 編輯原則
資金流量指標如何計算?
資金流量指標是一條 0 到 100 的震盪指標,會把每根 K 棒的價格變動乘上成交量加權。它把上漲 K 棒與下跌 K 棒各自的典型價格 × 成交量,在 14 根 K 棒內加總,再把比值轉成單一讀數。高於 80 代表買盤強勁,低於 20 代表賣盤強勁。在期貨上信任它之前,先與 RSI 在扣除成本後做比較測試。
資金流量指標(MFI)是一種衡量買賣壓力的震盪指標,它把價格移動幅度與推動價格的成交量結合起來。可以想像兩個人推一扇門:價格變化告訴你門往哪個方向動,成交量告訴你他們用了多大的力。RSI 只記錄移動,MFI 記錄的是移動乘上力道。計算分為四個步驟,只有第二步用到成交量。
- 典型價格。 典型價格是一根 K 棒最高價、最低價與收盤價的平均:(最高價 + 最低價 + 收盤價) ÷ 3。這一步要使用真實 K 棒。像 Heikin Ashi K 棒 這類平滑 K 棒會以平均後的數值取代最高價、最低價與收盤價,因此算出的典型價格將不再是任何人實際成交過的價格。
- 原始資金流量。 原始資金流量是典型價格乘上該根 K 棒的成交量。這是 RSI 沒有的一步。
- 正向與負向資金流量。 若某根 K 棒的典型價格高於前一根,它的原始資金流量計為正向資金流量;若較低,則計為負向資金流量。兩邊各自加總最近 14 根 K 棒。
- 換算為 0–100。 用正向加總除以負向加總,得到資金流量比率,再套用下方公式。
MFI = 100 − 100 ÷ (1 + 正向資金流量 ÷ 負向資金流量)
其中正向資金流量是過去 14 根 K 棒上漲 K 棒原始資金流量的加總,負向資金流量是下跌 K 棒的加總,兩者相除即為資金流量比率。當兩邊加總相等時,比率為 1,MFI 讀數為 50。買盤流量明顯較大時,MFI 會向 100 靠近;賣盤流量佔優時,則向 0 靠近。
假設範例
某根 K 棒的最高價為 5,010、最低價為 4,990、收盤價為 5,004,典型價格為 5,001.33。過去 14 根 K 棒以簡化單位計,上漲 K 棒的正向資金流量合計 600,下跌 K 棒的負向資金流量合計 200。資金流量比率為 600 ÷ 200 = 3.0,因此 MFI = 100 − 100 ÷ (1 + 3.0) = 75。若同樣 14 根 K 棒的價格變化不變,但上漲 K 棒的成交量只有一半,正向資金流量將為 300,比率為 1.5,MFI 則為 60。價格相同,讀數卻不同。
MFI 與 RSI 有何不同?
RSI 只以價格變化為每根 K 棒加權,MFI 則以價格變化乘上成交量加權,因此兩條線多數時候方向一致,只有在成交量明顯偏向一邊時才會分開。這種分開的情況,正是 MFI 能告訴你、而 RSI 無法告訴你的唯一情況。在成交量大致平均的一段 K 棒上,MFI 就像是換了一支筆畫的 RSI,基於它的策略幾乎會在相同的 K 棒上發出訊號。
RSI 是 Wilder(1978)提出的震盪指標,它比較 14 根 K 棒內上漲收盤幅度的平均與下跌收盤幅度的平均,並把結果換算到 0 到 100。從定義可以推出三個機械上的差異:
| 屬性 | RSI | MFI |
|---|---|---|
| 每根 K 棒的輸入 | 收盤對收盤的價格變化 | 典型價格變化 × 成交量 |
| 常用長度 | 14 根 K 棒 | 14 根 K 棒 |
| 常用水位 | 70 與 30 | 80 與 20 |
| 需要成交量欄位 | 否 | 是 |
| K 棒如何合併 | 漲跌幅的平滑平均 | 正向與負向流量的 14 根單純加總 |
實務上的影響在於線條的形狀。因為 MFI 採用單純加總,一根高成交量的 K 棒會以全額權重進入加總,並正好在 14 根之後離開,所以 MFI 的跳動幅度比 RSI 更大,回落也更快。較寬的 80/20 水位,部分原因正是為了因應這種較跳動的走勢。第二個影響是背離:當價格在低量時上漲、在大量時下跌,RSI 可能停留在 50 附近,而 MFI 卻朝 30 滑落。這樣的圖形正是 MFI 的全部論點,但也正是應該去測試、而非直接假設的部分。至於哪些技術分析指標真的能被測試,首先要看它的輸入(這裡是成交量)在你的資料上是否可信。
如何使用 80 與 20 水位?
80 與 20 水位標示買盤或賣盤壓力過強的區域。可以測試的規則,是在 MFI 重新回到區間內時發出訊號,進場在下一根 K 棒開盤,出場規則則須在第一次回測前寫定。讀數高於 80,代表過去 14 根 K 棒內,成交量加權的買盤至少是成交量加權賣盤的四倍。但這並不代表價格一定會反轉。在強勢趨勢中,MFI 可能連續多根 K 棒停留在 80 以上,因此若規則在第一次碰觸時就賣出,等於是在逆勢賣出。
可以回測的規則,每個部分都要事先定好。以下是常見的回歸型版本:
- 做空條件:MFI 收盤高於 80,之後再收盤回到 80 以下。訊號 K 棒是收盤回落的那一根。第一次碰觸不發出訊號。
- 做多條件:MFI 收盤低於 20,之後再收盤回到 20 以上。鏡像處理。
- 進場:以訊號 K 棒之後那一根 K 棒的開盤價,以市價單進場。若以收盤價做決策,卻以同一個收盤價成交,就是用了你實際無法成交的價格。
- 出場:三擇一,於測試前選定:MFI 回穿 50、固定持有幾根 K 棒,或反向訊號。把所選的方式寫下來。之後再加上停損或停利,就會變成另一個策略,而不是改良。
- 成本:從第一次執行起,每筆交易都要計入手續費與滑價,做法見回測中的交易成本。若規則在日線上頻繁發出訊號、每次持有數日,那平均每筆損益會小到讓成本決定正負號。
MFI 在期貨上準確嗎?ES 回歸測試
震盪指標的回歸規則在 ES 日線上可能看起來很強,但以下結果來自一個事後挑選、從 1,024 個候選中選出的純 RSI 替代策略,因此它設定的是 MFI 版本必須超越的門檻,而無法證明 MFI 能預測轉折。指標的「準確度」不是正確判斷的百分比,而是一條完整寫定的規則在扣除成本後的平均每筆損益,並與做同樣工作、但不需額外輸入的最簡單規則相比。就 MFI 而言,那條最簡單的規則就是 RSI。
下列測試以 2019-01-02 至 2025-06-30 的 ES 日線為對象,做多做空皆可,每次一口,每筆交易收取 20 美元手續費與 25 美元滑價。搜尋嘗試了 1,024 個候選,並依其報酬對回撤的表現保留了一個。保留的候選僅使用 RSI 規則作為唯一進場與出場,沒有停損、停利,也沒有任何過濾條件。它是以標準指標建構的替代策略,而非 MFI 規則,因為目的在於先衡量僅靠價格的回歸在此市場上已能做到什麼,然後才加入成交量加權。
來源:AlphaPrime 產品引擎(CPU),2026-10-31 執行。ES 日線,2019-01-02 至 2025-06-30,多空都做,1 口,每筆手續費 $20、滑價 $25。
| 項目 | 結果 |
|---|---|
| 淨利(已平倉) | $89,155 |
| 最大回撤 | $68,387.5 |
| 交易筆數 | 56 |
| 勝率 | 58.93% |
| 獲利因子 | 1.693 |
| 平均每筆 | $1,592.05 |
| 在場時間 | 92.09% |

表格中有三件事比淨損益更重要。第一,六年半內只有 56 筆交易,樣本很小,因此 1,592.05 美元的平均每筆損益帶有很大的不確定性。第二,在場時間為 92.09%,表示這條規則幾乎一直持有部位,不論多空,因此它抓到的獲利有一部分來自 ES 在這些年間的走向,而非指標所判斷的轉折。第三,最大回撤 68,387.5 美元,規模接近淨損益。讀者不應因此認定這條規則真的賺到了那筆錢,也不應期待同樣的結果;它只是 1,024 個候選中外觀最好的一個,而且是在看過全部結果後挑出來的。Bailey 等人(2014)指出,多次試驗中的最佳結果,僅因這個緣故就會被高估。Harvey 與 Liu(2015)提出同樣的觀點,並主張應依測試次數對任何結果打折。
MFI 真正的判斷,來自下面這組成對測試,而上述結果只是為它鋪路:
- 完整寫出 MFI 80/20 重新回到區間的規則,以及 RSI 70/30 重新回到區間的規則,兩者使用相同的 14 根 K 棒長度與相同的出場方式。
- 在同一組 ES K 棒、相同的交易時段定義、相同期間,以及相同的樣本內/樣本外切分下,兩者各執行一次。
- 收取相同的手續費與滑價,且兩者都以下一根 K 棒的開盤成交。AlphaPrime(Valynox)在回測的每次評估中都套用手續費、滑價與下一根 K 棒成交,正是這一點讓此比較中的 MFI 線與 RSI 線能在同一尺度上解讀。
- 先比較扣除成本後的平均每筆損益,再比較交易次數,最後比較最大回撤。並在執行前寫下決策的門檻:例如,MFI 必須在交易次數相近的情況下,把樣本外扣除成本後的平均每筆損益至少提升一個事先明訂的幅度。
若兩者的平均值很接近,表示在這個市場與這個 K 棒週期上,成交量加權沒有增加任何價值,較簡單的規則自然勝出。若 MFI 明顯較好,下一個問題是這個改善能否撐過下一節所談的成交量問題。
期貨的成交量夠好,足以支撐跨合約的 MFI 嗎?
MFI 的可靠度取決於底下的成交量欄位,而期貨成交量會在三個特定地方出問題:連續月的換月週、稀疏的夜盤,以及與全尺寸合約共用同一市場的微型合約。每一種缺陷都以不同方式扭曲 MFI,而且沒有一種能在純價格的過濾器中顯現。震盪指數作為趨勢或盤整濾網一文說明的震盪指數,完全看不到成交量欄位。在eVWAP 錨定 VWAP 規則於 ES 上的測試中,錨定 VWAP 只把成交量當作滾動平均內的權重,所以單根異常的 K 棒幾乎不會移動它。而 14 根 K 棒的加總比率,會以全額權重對同一根 K 棒做出反應。
連續月是把依序到期的各個合約價格接成一條序列,使回測能跨越多年。換月前後,交易量會在數日內從即將到期的合約逐步轉移到下一個合約。若序列在單一日期直接切換,舊合約的成交量會在切換前萎縮,新合約的成交量則在切換後跳升。MFI 會把這種萎縮與跳升讀成賣壓之後接著買壓,但實際上並沒有發生。換月的處理方式在含合約規格與轉倉的期貨回測中說明;對 MFI 而言,額外要做的一步是檢查換月週的成交量欄位,而不只是價格缺口。
| 合約與交易時段 | 成交量型態 | 對 MFI 的影響 |
|---|---|---|
| ES,日盤 | 穩定、深度足夠 | 可靠;讀數反映真實壓力 |
| ES,夜盤 | 長時間稀疏 | 小額成交造成尖峰;出現錯誤的 80/20 穿越 |
| MES(微型) | 與全尺寸 ES 共用同一市場 | 資金流在另一個合約時,會低估壓力 |
| 連續月,換月週 | 在兩個到期合約之間分散 | 換月日前後出現假的擺動 |
| 台指期,日盤 vs 夜盤 | 日盤較深,夜盤較薄 | 日盤讀數可用;夜盤會因小額成交而出現尖峰 |
在執行回測之前,有三項檢查可以解決大部分問題。依你要交易的時段建立 MFI,無論是只用日盤或全時段,並且在 RSI 比較中保持相同的選擇。依你所用成交量來自的合約來建立,因此若某個 MES 策略使用 ES 的成交量,就必須明確標示。最後,檢查序列中最近幾次換月日前後的成交量柱狀圖:若該欄位在那裡下降又跳升,就改以成交量而非固定日期來換月,或是把換月週內的訊號 K 棒排除在測試之外。
下一步很具體。打開你的 ES 或台指期的 K 棒資料,找出最近一次換月日,比較換月前五根 K 棒與換月後五根 K 棒的成交量。如果兩者的平均值差異超過它們周圍的逐日波動,就把前一節的成對 MFI 與 RSI 測試執行兩次:一次包含換月週,一次排除換月週,並保留較差的那個結果。
常見問題
沒有真實成交量的圖表可以使用資金流量指標嗎?
不可以。MFI 會把每根 K 棒的典型價格乘上成交量,因此若資料來源的成交量遺失、以筆數計算或為估計值,算出的指標衡量的會是資料來源的特性,而非買賣壓力。若成交量欄位遺失或不可靠,應改用只需價格的 RSI,並將任何 MFI 讀數視為未定義。
MFI 應使用多長的週期?
常用長度是 14 根 K 棒,與 RSI 相同,也是首次測試的合理起點。較短的長度會使線條更跳動,並產生更多 80/20 穿越;較長的長度則使線條更平滑,穿越次數較少。與其搜尋最佳長度,不如測試幾個相鄰的值,只有在 12、14 與 16 的結果看起來相近時,才保留這條規則。
MFI 背離能預測反轉嗎?
MFI 背離指的是價格創新高而 MFI 的高點卻走低,或在低點出現相反的情況。在你寫下兩個高點必須相距多遠、之後會發生什麼之前,它只是一幅圖,而不是規則。若把它寫成規則,並以同樣的成本與出場方式對照單純的 80/20 重新回到區間規則測試,背離會增加較少見、也較難一致定義的交易,因此在偏好它之前,應先比較兩者扣除成本後的平均每筆損益。
MFI 用在日線或日內 K 棒比較好?
MFI 需要一個能在每根 K 棒上反映真實參與度的成交量欄位。流動性高的日盤日線,比跨越夜盤的日內 K 棒更能持續提供這樣的資料。日內 MFI 在深度足夠的時段可以運作,但在稀疏的時段會出現尖峰,而且在 5 分 K 上,14 根 K 棒的窗口只涵蓋約一小時的交易。在讀取 80 與 20 水位之前,請測試你打算交易的 K 棒週期,並檢查該交易時段的成交量型態。
參考文獻
- Wilder, J. W. (1978). New Concepts in Technical Trading Systems. Trend Research.
- 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.
- Harvey, C. R., & Liu, Y. (2015). Backtesting. The Journal of Portfolio Management, 42(1), 13–28.

