VALYNOXSTRATEGY RESEARCH TECHNOLOGY
AlphaPrimeAlphaPrime
交易研究社 / 指標與訊號

RSI 指標:公式、70/30 水位與如何回測 RSI 規則

RSI 以 0 到 100 的刻度比較近期漲幅與跌幅。70/30 水位代表近期走勢極度單向,而不是即將反轉;任何 RSI 設定在扣除成本並通過未見過資料的檢驗之前,都談不上最好。

作者 · 發佈 · 更新於 · 編輯原則

目錄
  1. RSI 指標是什麼?如何計算?
  2. RSI 70 與 30 代表什麼?趨勢為何會讓它失靈?
  3. 交易人如何使用 RSI 背離,以及將 RSI 當作趨勢濾網?
  4. 有沒有最佳的 RSI 設定?
  5. 如何正確回測 RSI 策略?
  6. 常見問題
  7. 參考文獻

RSI 指標是什麼?如何計算?

RSI(相對強弱指標)是一種動能指標,比較近期上漲幅度與下跌幅度的大小,並將結果換算成 0 到 100。創始人 J. Welles Wilder Jr. 使用 14 根 K 棒。讀數高於 70 稱為超買,低於 30 稱為超賣,但在強勢趨勢中,RSI 可能長時間停留在這些區域。

相對強弱指標是一種震盪指標,也就是在固定範圍內波動、用來衡量價格走得多強、多一致的指標。可以把它想成最近 14 回合的記分板:買方贏得多數分數,分數就高;賣方贏得多數,分數就低。RSI 在股票、期貨、外匯與任何 K 棒序列上的運作方式都一樣。它也不同於選股意義上的「相對強度」,後者是拿一檔股票與指數比較;RSI 只看單一價格序列。

公式只有一行:

RSI = 100 − 100 ÷ (1 + RS)

其中 RS 是所選 K 棒數內的平均漲幅除以平均跌幅。「平均漲幅」是上漲收盤的典型幅度;「平均跌幅」是下跌收盤的典型幅度,以正數表示。當漲幅是跌幅的兩倍時,RS 為 2,RSI 約為 67。當漲幅與跌幅相等時,RS 為 1,RSI 剛好是 50。

Wilder 的方法分四步建立平均值:

  1. 對每根 K 棒,取收盤價減前一收盤價。正的變動算作漲幅,跌幅為零;負的變動算作跌幅(以正數表示),漲幅為零。
  2. 第一個值,取前 14 個漲幅與前 14 個跌幅各自平均。沒有漲幅的 K 棒,漲幅以零計;跌幅同理。
  3. 之後每根 K 棒,新的平均值保留前一平均值的 13/14,再加上新 K 棒漲幅或跌幅的 1/14。
  4. 平均漲幅除以平均跌幅得到 RS,再代入公式。若平均跌幅為零,RSI 為 100。

第 3 步是一種緩慢的指數平均。14 根 K 棒時,其反應速度約等於標準的 27 根指數平均,所以 Wilder 的 RSI 比許多交易人預期的更平滑。有些平台提供以簡單平均為基礎的版本,數值會不同。由於每個數值都帶有先前 K 棒的記憶,請在測試區間之前多載入一些歷史資料。讓 RSI(14) 至少先跑 100 根 K 棒再讀取數值,是常見的做法。

假設範例

經過 14 根 K 棒後,平均漲幅為 6 點,平均跌幅為 3 點。RS = 6 ÷ 3 = 2,所以 RSI = 100 − 100 ÷ 3 = 66.7。下一根 K 棒收盤上漲 20 點。新的平均漲幅為 (6 × 13 + 20) ÷ 14 = 7.0,新的平均跌幅為 (3 × 13 + 0) ÷ 14 = 2.79。RS 變成 2.51,RSI 升至 71.5。一根強勢 K 棒就把讀數推過了 70。

RSI 高於 70 或低於 30,代表近期走勢極度單向,並不代表價格一定會反轉。Wilder 建議以 70 與 30 作為超買與超賣的界線。有些交易人使用 80 與 20,以得到較少但較極端的訊號。RSI(2) 或 RSI(5) 這類短週期比 RSI(14) 更常觸及極端值,所以同樣的水位在不同設定下意義不同。

趨勢讓傳統解讀失靈,原因很單純。在強勢上升趨勢中,幾乎每個 14 根 K 棒的區間內,漲幅都大於跌幅。於是 RSI 停留在 70 以上,價格卻持續攀升。每次 RSI 穿越 70 就賣出的規則,等於是逆著趨勢放空。在下跌的市場中,30 以下也會發生同樣的事。許多交易人也看到「區間位移」:在上升趨勢中,RSI 的拉回常常停在 40 到 50 附近,而不是跌到 30;在下降趨勢中,反彈常常停在 50 到 60 附近。

市場狀況RSI 高於 70 通常反映的是交易人通常怎麼用
橫向區間價格接近區間上緣逆勢操作,看價格回到中間
強勢上升趨勢動能強勁,且可能持續強勁持有多單;等拉回再買進
強勢下降趨勢短暫而急促的反彈等待反彈失敗;不要解讀為新的上升趨勢
在假設的強勢上升趨勢中,RSI 提早突破 70 並持續停留其上,價格持續上漲,因此在 70 賣出的規則會過早放空 RSI 可能持續高於 70 強勢上升趨勢,示意圖 價格 RSI 70 賣出 持續上漲 70 持續高於 70 70 可能代表強勢趨勢。 所以:賣出前先看趨勢。
在強勢上升趨勢中,RSI 可以停留在 70 以上,價格卻持續上漲。每次碰到 70 就賣,等於逆著趨勢交易。

交易人如何使用 RSI 背離,以及將 RSI 當作趨勢濾網?

背離與趨勢濾網是把 RSI 當作動能的衡量工具,而不是反轉訊號。背離是指價格創新高或新低,但 RSI 沒有跟著確認。看空背離是價格高點墊高、RSI 高點降低;看多背離是價格低點降低、RSI 低點墊高。兩者都表示這波推進正在失去力道,但都沒有說明反轉何時到來。背離可能在趨勢持續的同時重複出現兩三次,所以交易人通常會等價格確認,例如跌破前一個擺動低點。

背離也很難測試,因為「擺動高點」需要明確的定義。你得決定左右各幾根 K 棒才算一個擺動、兩個高點最多可以相距多遠,以及哪個價格事件才確認訊號。如果無法把背離寫成規則,就無法回測。

作為趨勢濾網,RSI 高於 50 僅僅表示在該區間內漲幅大於跌幅。常見的拉回規則會把它與 200 根 K 棒均線這類趨勢線結合:只在價格位於均線之上時做多,並在 RSI(14) 跌破 40 後轉頭向上時買進。這是利用上述的區間位移,而不是與它對抗。

用法規則範例必須定義的事項典型失敗情形
均值回歸RSI 回升穿越 30 時買進出場、停損、持有時間在下跌趨勢中不斷買進
背離RSI 高點降低且跌破擺動低點後賣出擺動規則、距離、確認條件訊號太早,且連續出現多次
趨勢濾網僅在 RSI 高於 50 時做多被它過濾的進場訊號在轉折點上反應太慢
趨勢拉回在 200 根 K 棒均線之上,RSI 從 40 以下轉頭向上時買進趨勢線、回檔水位、出場趨勢走平時來回被洗
空頭背離:價格創高點1後又創更高的高點2,RSI卻形成較低的高點,且須等價格跌破兩高點之間的波段低點才出現訊號 價格創高,RSI轉弱 空頭背離示意 價格 RSI 高點1 高點2 訊號 較低的高點 動能先於價格轉弱。 所以:等跌破波段低點。
看空背離:價格創更高的高點,RSI 的高點卻更低。交易訊號只在價格跌破擺動低點時才出現。

有沒有最佳的 RSI 設定?

沒有單一的最佳 RSI 設定。合適的週期與水位取決於市場、K 棒週期、交易時段,以及你持有一筆交易的時間。5 分鐘 K 棒上的 RSI(14) 涵蓋 70 分鐘;日 K 棒上則涵蓋約三週的交易。這是名稱相同、用途不同的工具。

交易時段也有影響。台指期的日盤為台灣時間 08:45 到 13:45,夜盤為 15:00 到隔天清晨 05:00。只用日盤 K 棒與使用全時段 K 棒計算的 RSI(14) 讀數不同,因為夜盤 K 棒會改變區間內的漲幅與跌幅。請以你實際交易的 K 棒來測試。

單次回測中的「最佳 RSI 指標」通常有一部分是運氣。如果你試了許多週期與水位,並只保留最好的那一組,它的結果就包含了剛好對它有利的雜訊。資料窺探的研究顯示,眾多被測試規則中的最佳者看起來會比實際更好,而且搜尋本身必須納入考量(White, 2000;Sullivan, Timmermann and White, 1999)。過度最佳化(overfitting)是指把規則調整到貼合過去資料中的雜訊,直到回測看起來比規則實際的表現更好(Bailey et al., 2014)。

更好的問題是,某個設定是否位於一片高原上。如果 RSI 週期從 10 到 18、進場水位從 25 到 35 都給出相近的結果,這個想法就是寬廣而穩固的。如果只有 RSI(13) 搭配水位 27 才有效,你很可能找到的是雜訊。

兩張假設的 RSI 週期與超賣水準網格:左圖呈現大片績效良好的高原區,右圖只有一格績效良好、周圍皆不佳,較可能只是運氣 選高原,不選尖峰 假設:RSI 週期 × 水準 高原 孤立尖峰 佳 差 佳 差 單獨最佳格常是運氣。 因此:從穩定區域挑選。
假設的熱圖。左:一大片結果相近的區域,是較穩健的選擇。右:單一孤立的最佳格子,比較可能是運氣。

如何正確回測 RSI 策略?

公平的 RSI 回測需要明確的規則、下一根 K 棒成交、貼近實際的成本,以及規則在你調整時從未見過的資料。請依序執行以下步驟:

  1. 把規則寫清楚。週期、水位、觸發條件(跌破 30 還是回升穿越 30)、出場、停損與交易時段。措辭上的小差異就會改變結果。
  2. 收盤出訊號,下一根 K 棒成交。RSI 要等 K 棒收盤才能確定,所以在同一個收盤價成交,用的是你拿不到的價格。
  3. 從第一次執行就納入手續費與滑價。滑價是回測假設的價格與你實際成交價格之間的差異。短週期的 RSI 設定交易頻繁、每筆優勢很小,所以成本在這裡影響最大。請見回測中的交易成本與平均每筆損益。
  4. 留出資料。樣本外(OOS)資料是未曾用來選擇規則或參數的歷史。更好的做法是使用推進分析,它會在一個視窗上重新調整,再在下一個視窗上測試,如此反覆進行。
  5. 測試相鄰設定。跑附近的週期與水位,檢查是否存在高原。
  6. 分別檢查多單與空單,並計算交易筆數。建立在 20 筆交易上的結果說明不了什麼。
  7. 檢視不同的市場型態。歷史資料應包含趨勢、區間、平靜時期與劇烈波動時期。

假設範例

某個指數期貨上的 RSI(2) 均值回歸規則,在樣本內有 300 筆交易,毛平均每筆損益為 $40。手續費與滑價每一買一賣(來回)花費 $25,所以淨平均為 $15。在樣本外期間,該規則進行 80 筆交易,毛平均為 $22。扣除同樣的 $25 成本後,淨平均為 −$3。樣本內的優勢真實到足以讓績效好看,但太小,無法在新資料上撐過成本。

變體的數量成長得很快。十個週期、十個超賣水位與十種出場規則,就已經有一千種組合,而推進分析會在每個視窗中測試每一種。策略生成會把「動能從超賣區恢復時買進」這類想法,轉換成帶有參數範圍與進出場條件的可測試規則。在 AlphaPrime(Valynox)中,回測會分批評估這些變體,並納入手續費、滑價、下一根 K 棒成交與交易時段。接著,策略檢驗會對留下來的候選策略套用推進分析與你自己的門檻。

如果你使用 AlphaPrime(Valynox),這代表:把 RSI 的週期與水位視為要搜尋的範圍,而不是固定答案。從一開始就把成本與交易時段放進搜尋,並只保留在未見過的資料上通過推進檢驗的規則。

常見問題

當沖最佳的 RSI 設定是什麼?

沒有哪個設定適用於所有市場。5 分鐘 K 棒上的 RSI(14) 約涵蓋 70 分鐘,較短的週期反應更快,也更常觸及 70 或 30。請在你交易的確切 K 棒與交易時段上測試一系列週期,納入成本,並挑選相鄰設定結果相近的那一個。

RSI 高於 70 代表什麼?

代表在回看區間內,近期漲幅遠大於近期跌幅。在橫向市場中,這常發生在區間上緣附近。在強勢上升趨勢中,RSI 可能長時間停留在 70 以上,所以它本身不是賣出訊號。

RSI 14 策略單獨使用有效嗎?

像「低於 30 買進、高於 70 賣出」這樣的規則很容易測試,但在下跌趨勢中往往會反覆買進。許多交易人會加上趨勢濾網、明確的出場與停損。任何版本在你的市場上是否有效,只有在扣除成本並使用樣本外資料之後才能判斷。

有免費的 RSI 指標嗎?

有。幾乎所有看盤與交易平台都內建 RSI,不需額外付費。請確認你的平台使用的是 Wilder 平滑還是簡單平均,因為相同週期下兩者的數值不同。

RSI 與股票的相對強度有什麼不同?

RSI 以 0 到 100 的刻度衡量單一價格序列的動能。選股中的相對強度是把一檔股票的表現與指數或另一檔股票比較。兩者名稱相近,但計算方式與用途不同。

參考文獻

  • 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.
  • Sullivan, R., Timmermann, A., & White, H. (1999). Data-Snooping, Technical Trading Rule Performance, and the Bootstrap. The Journal of Finance, 54(5), 1647–1691.
  • White, H. (2000). A Reality Check for Data Snooping. Econometrica, 68(5), 1097–1126.

AlphaPrime 在這裡能幫上什麼

AlphaPrime 的策略生成會把交易想法轉換成帶有參數範圍的規則,回測會分批評估這些規則並納入成本與交易時段,策略檢驗則以推進分析與自訂門檻進行檢驗。

看方案與價格