Stochastic RSI:公式、14/14/3/3 參數,以及它比 RSI 多了什麼
Stochastic RSI 是把隨機指標公式套用在 RSI 數值而非價格上。它比 RSI 更快、更頻繁地觸及 0 與 100,因此增加的是速度與額外訊號,而不是關於價格的新資訊。每一個額外訊號都是一筆要付交易成本的交易,所以只有扣除成本後的並排檢驗,才能判斷這份速度值不值得。
作者 Soren Huang · 發佈 · 更新於 · 編輯原則
目錄
Stochastic RSI 是什麼?它比 RSI 多了什麼?
Stochastic RSI(StochRSI)是把隨機指標公式套用在 RSI 數值而非價格上。它在 0 到 100 之間擺動的速度比 RSI 更快、次數也更多,所以訊號出現得更早、更頻繁,但它並沒有增加任何關於價格的新資訊。它增加的是速度與額外訊號,而每一個額外訊號都是一筆要付手續費和滑價的交易。
其中包含兩個指標。RSI(相對強弱指標)是一種指標,它在設定的 K 棒數內衡量上漲收盤與下跌收盤的平衡,並以 0 到 100 的刻度呈現。隨機指標則是一種指標,它衡量最新數值位於過去 N 根 K 棒最高與最低值之間的哪個位置,同樣以 0 到 100 為刻度。Stochastic RSI(常寫作 StochRSI)把 RSI 線代入隨機指標公式,取代價格的位置。所以價格餵給 RSI,RSI 再餵給 StochRSI,它是建立在另一個指標之上的指標。
用相機來比喻會比較容易理解。RSI 像是整片風景的一張照片,StochRSI 則是把照片中最後 14 根 K 棒放大,再把那裡找到的任何起伏拉伸到整個畫面。RSI 上一個小小的起伏,在 StochRSI 裡會變成從畫面底部爬到頂部的完整走勢。放大讓同一個場景看起來更快、更大,但它並沒有加入原本照片裡沒有的東西。至於 StochRSI 在眾多震盪指標與趨勢工具中的位置,可以參考哪些技術分析工具與指標可以測試的指南。
Stochastic RSI 怎麼計算?一步一步看
計算分為兩層:先從價格算出 14 根 K 棒的 RSI,再把這個 RSI 放進它自己過去 14 根 K 棒的最高與最低值之間,最後用兩個短期平均把結果平滑成 %K 與 %D。順序很重要,因為每一步都以前一步的輸出作為輸入。
- 用收盤價計算 RSI。預設長度為 14,RSI 比較過去 14 根 K 棒的平均漲幅與平均跌幅,並把結果換算為 0 到 100。完整定義請見 RSI 頁面。
- 找出過去 14 根 K 棒中 RSI 的最高值與最低值。這就是隨機指標公式所用的「範圍」。請注意,這是 RSI 數值的範圍,不是價格的範圍。
- 把今天的 RSI 放進這個範圍中。這會得到原始的 StochRSI,是介於 0 到 100 之間的數字(有些平台會以 0 到 1 呈現)。
- 用 3 根 K 棒的平均平滑原始值。結果就是 %K,也就是主線。%K 是經過平滑的 StochRSI 線,大多數規則都以它為準。
- 再用 3 根 K 棒的平均平滑 %K。結果就是 %D,也就是訊號線。%D 是比 %K 慢的線,交叉規則是拿 %K 與它比較。
值得記住的公式只有第三步:
StochRSI = (RSI − 最低 RSI) ÷ (最高 RSI − 最低 RSI) × 100
其中 RSI 是今天的 RSI 數值,最低 RSI 是過去 14 根 K 棒中最小的 RSI 數值,最高 RSI 是同一段 14 根 K 棒中最大的 RSI 數值。當今天的 RSI 是這段視窗的最高值時,StochRSI 讀數為 100;當它是最低值時,讀數為 0。
假設性範例
假設今天的 14 根 K 棒 RSI 為 58。過去 14 根 K 棒中,RSI 的最低值是 46,最高值是 62。原始 StochRSI = (58 − 46) ÷ (62 − 46) × 100 = 12 ÷ 16 × 100 = 75。RSI 在 58 時遠低於常見的 70 超買水準,但 StochRSI 在 75 時已接近它常見的 80 水準。如果明天 RSI 漲到 62,且視窗內的最高值仍是 62,StochRSI 就會讀成 100。
14/14/3/3 參數是什麼意思?應該改哪一個?
預設的四個數字分別是 RSI 長度、RSI 上的隨機指標回看期數、%K 平滑期數與 %D 平滑期數。前兩者對指標觸及極端值的頻率影響遠大於後兩者。如果想要較少的訊號,就拉長回看期數;如果想要相同的訊號晚一點出現、但更乾淨,就拉長平滑期數。
| 參數 | 預設值 | 控制什麼 | 調高會怎樣 |
|---|---|---|---|
| RSI 長度 | 14 | RSI 平衡上漲與下跌收盤的 K 棒數 | RSI 波動變小,14 根 K 棒的範圍變窄,StochRSI 觸及 0 或 100 的次數減少 |
| 隨機指標回看期數 | 14 | 決定最高與最低值的 RSI 數值個數 | 範圍變寬,今天的 RSI 較少落在邊緣;每根 K 棒的極端讀數最少 |
| %K 平滑期數 | 3 | 用來形成主線的平均 K 棒數 | 去除單根 K 棒的尖峰;訊號晚幾根 K 棒出現;次數幾乎不變 |
| %D 平滑期數 | 3 | 用來形成訊號線的平均 K 棒數 | %K 與 %D 交叉的次數減少且更晚出現;只對交叉規則有用 |
常見的錯誤是只靠平滑來對抗雜訊。把 %K 從 3 調到 5 或 7,每個訊號會延後幾根 K 棒,但去掉的訊號很少,因為底層的原始線仍然同樣頻繁地碰到 0 與 100。把兩個回看期數從 14 拉到 21 或 28,則會去掉一些訊號,因為較長的 RSI 視窗更可能同時含有比今天更高和更低的數值。有些平台列出四個參數的順序不同,所以從一張圖表複製參數到另一張之前,請先確認哪個數字是 RSI 長度、哪個是隨機指標回看期數。
為什麼 StochRSI 訊號較快,但雜訊也較多?
StochRSI 之所以更快、雜訊也更多,是因為隨機指標那一層會把 RSI 重新標度到它自己近期的範圍,所以 RSI 的小幅波動會變成 StochRSI 的完整擺動。如果 RSI 在兩週內是在 45 與 60 之間波動,那麼最低值是 45,最高值是 60,中間的每一個讀數都會被拉伸到 0 到 100。RSI 在 60 只是一個平靜、中性的讀數,但 StochRSI 在 100 看起來像是強烈的超買訊號。兩個數字描述的是同一根 K 棒。
可以想像一支溫度計,每兩週就把刻度重設為它見過的最冷與最熱的那一天。在溫和的時期,一個略為溫暖的下午會顯示在刻度頂端。這就是平靜市場中的 StochRSI:RSI 從未接近 70 或 30,但 StochRSI 卻一再碰到 80 和 20。這個指標並沒有錯,它只是在回答另一個問題:「RSI 相對於自己過去 14 根 K 棒位於哪裡?」而在平靜的市場裡,答案經常翻轉。
每一次翻轉都是一個訊號,對系統化規則來說,每個訊號就是一筆交易。一筆交易會在進場與出場時付出手續費,另外還有滑價,也就是回測假設的價格與你實際能成交的價格之間的差距。如果在相同的 K 棒上,StochRSI 產生的交叉次數是 RSI 的三倍,那麼 StochRSI 規則在同樣的歷史區段裡,大約就要付出三倍的成本。回測中的交易成本一文說明了許多小額交易如何很快就把正的毛報酬變成負的淨報酬。這就是這個指標的核心取捨:訊號出現得更早、次數更多,而每一個訊號都必須賺得比它的成本更多。
在圖中的示意區段上,RSI 只有幾根 K 棒處於極端,StochRSI 則約有四分之一的 K 棒處於極端。真實市場未必如此,所以在決定如何設定回看期數之前,請先在你自己的資料上計算訊號數量。
Stochastic RSI 與 RSI、隨機指標(KD)相比如何?
RSI 衡量上漲與下跌收盤的平衡,隨機指標(KD)衡量價格位於近期高低範圍的哪個位置,而 StochRSI 衡量 RSI 位於近期範圍的哪個位置。三者的用途相同,但在輸入、速度、觸發水準與訊號次數上各不相同。它們都試圖在 0 到 100 的刻度上回答「這波走勢暫時已經走夠遠了」。像 MACD 這類指標則屬於另一個家族:它衡量兩條移動平均線之間的距離,沒有固定刻度,詳見 MACD 指標說明一文。
| 特性 | RSI | 隨機指標(KD) | Stochastic RSI |
|---|---|---|---|
| 輸入 | 收盤價 | 價格的高低區間與收盤價 | RSI 數值 |
| 公式層數 | 1 | 1 | 2 |
| 預設參數 | 14 | 14/3/3 | 14/14/3/3 |
| 常見觸發水準 | 30 與 70 | 20 與 80 | 20 與 80 |
| 速度 | 慢 | 中 | 快 |
| 同樣 K 棒上的訊號數 | 最少 | 較多 | 最多 |
| 典型弱點 | 長趨勢中長時間停在中間區 | 盤整區間中反覆出假訊號 | 幾乎各種行情都會反覆出假訊號 |
三者的弱點恰好互為鏡像。RSI 很慢,所以在長趨勢中它可能連續數個月停在 55 到 65 之間,從未產生訊號;RSI 指標指南中關於 70/30 水準的部分,說明了如何測試圍繞這個問題的規則。KD 比較快,因為 14 根 K 棒的價格區間變化迅速,KD 指標(隨機指標)的公式與意義一文說明了它的假訊號從何而來。StochRSI 是三者中最快的,它的假訊號在趨勢與盤整中都會出現,因為不論價格多平靜,RSI 總是有近期的高點與低點。
三者沒有哪一個是「正確的」。哪種速度適合某個策略,取決於規則如何出場、每筆交易的成本多少,以及市場在你交易的 K 棒週期下表現如何。這是測試要回答的問題,而不是看圖表能回答的。
如何把 Stochastic RSI 與 RSI、隨機指標規則並排測試?
在同一個市場、同一個 K 棒週期、相同的成本與下一根 K 棒執行條件下,把三個指標當成三個獨立的規則家族來跑,然後在搜尋過程沒有看過的資料上,比較扣除成本後的平均每筆損益與交易次數。除了指標之外,其他一切都保持相同。如果各家族之間的出場、成本或資料不同,你測試的就是這些差異,而不是指標本身。
- 選定一個市場與一種 K 棒週期。例如 ES 期貨的日線,或小型台指期的 15 分鐘線。三個家族都使用同一個設定。
- 每個家族各寫一條進場規則與一條出場規則,出場邏輯相同。例如:指標線由超賣區向上穿越時做多,由超買區向下穿越時出場,做空則反向操作。RSI 使用 30/70,KD 與 StochRSI 使用 20/80,或把水準當成參數來測試。
- 三者都設定相同的手續費、滑價與下一根 K 棒執行。下一根 K 棒執行的意思是:在某根 K 棒收盤時讀到的訊號,會在下一根 K 棒開盤時成交,這是你最早可能成交的價格。
- 每個家族都在相同的參數範圍內跑。回看期數從 7 到 28,平滑期數從 1 到 5,水準以 5 為間隔。測試過的變化組合數量之後會很重要。
- 只看樣本外的部分。樣本外資料是歷史中較晚的那一段,搜尋時並未用來挑選參數。在那裡比較扣除成本後的平均每筆損益與交易次數。
- 只保留平均每筆損益是來回成本數倍以上的家族。一個必須靠便宜成交才能維持正值的家族,撐不過成交較差的一個月。
有兩件事決定這項測試是否誠實。第一,成本必須計入每個候選策略之中,而不是最後才加上去,因為 StochRSI 較高的交易次數正是成本會懲罰的地方。當三個家族透過 AlphaPrime(Valynox)的回測執行時,每個 RSI、KD 與 StochRSI 變化組合都套用相同的手續費、滑價與下一根 K 棒成交,所以額外交易的代價已經反映在你所讀取的排名中。第二,在數百個變化組合中挑出最好的結果,會因為選擇本身而帶有一份加成。Bailey、Borwein、López de Prado 與 Zhu(2014)指出,試過的變化越多,最佳的樣本內結果就被誇大得越多;Harvey 與 Liu(2015)則建議,依據結果背後的測試次數對其打折。實務上,解決這個問題的方法就是去看樣本外的部分。
接下來是一個真實的 AlphaPrime 回測結果,在 ES 上執行,供你了解這類報表的樣子。它測試的是 VWAP 規則作為替代,而不是 Stochastic RSI 規則,所以它無法說明 StochRSI 的表現。此次回測使用 ES 日線,期間為 2019-01-02 至 2025-06-30,做多與做空,1 口,每筆交易收取 20 美元手續費與 25 美元滑價;唯一的進場與出場條件是 VWAP 規則,沒有停損、停利或過濾條件。所示的候選策略是搜尋從超過一千組嘗試中保留下來的那一個(方塊內給出確切數量),依據其報酬相對於回撤來挑選。事後挑選保留下來的候選策略會讓它看起來更好,同樣地,從眾多 StochRSI 參數中挑出最好的那一組也會被美化。
來源:AlphaPrime 產品引擎(CPU),2026-10-31 執行。ES 日線,2019-01-02 至 2025-06-30,多空都做,1 口,每筆手續費 $20、滑價 $25。
| 項目 | 結果 |
|---|---|
| 淨利(已平倉) | $109,660 |
| 最大回撤 | $56,977.5 |
| 交易筆數 | 67 |
| 勝率 | 65.67% |
| 獲利因子 | 1.769 |
| 平均每筆 | $1,636.72 |
| 在場時間 | 91.62% |
請以你自己的三家族測試來讀這份結果。約六年半期間內共 67 筆交易,因此每一筆交易的分量都很重,少數幾筆的變動就會明顯改變平均值。平均每筆損益 $1,636.72 遠高於每筆收取的 $45手續費與滑價,這就是第六步的成本檢查。在場時間 91.62% 表示這個規則幾乎總是持有部位,這是沒有停損或過濾條件的日線規則的特徵。在相同的 K 棒上,StochRSI 家族通常會顯示更高的交易次數與更小的平均每筆損益,而這正是這項測試要做的比較。這些數字都不是預測,而且這個候選策略是從眾多結果中保留下來的,因此它的數字會比重新執行時看起來更好。

具體的下一步:載入你實際交易的一個市場與 K 棒週期,為 RSI、KD 與 StochRSI 寫出同樣的「由超出極端區交叉」規則,計入你真實的手續費,外加每一邊至少一個跳動點的滑價,然後在最近兩年的資料上計算每個家族產生的交易次數,之後才去看獲利。光是交易次數,就能告訴你每個 StochRSI 訊號必須多賺多少才划算。
常見問題
Stochastic RSI 最佳參數是什麼?
沒有單一的最佳參數;14/14/3/3 是預設值,也是大多數測試的起點。把兩個回看期數拉長(例如改為 21/21)會減少極端讀數的次數,而拉長平滑期數主要只是把訊號延後幾根 K 棒。請在你自己的市場與 K 棒週期上測試一組參數範圍,並在搜尋未使用的資料上讀取結果,尋找一個表現相近的參數區間,而不是依賴某個碰巧有效的數值。
Stochastic RSI 比 RSI 好嗎?
它更快,但知道的並沒有更多。StochRSI 是由 RSI 計算而來,所以它不含任何 RSI 本身沒有的價格資訊;它只是把 RSI 重新標度到最近 14 根 K 棒的範圍,因此它會更快、更頻繁地觸及極端值。這份速度值不值得付出額外交易的代價,取決於成本與市場,所以兩者應該以相同的出場規則、相同的手續費與滑價並排執行。
Stochastic RSI 上的 20 與 80 代表什麼?
它們是常見的超賣與超買水準。讀數高於 80,表示 RSI 位於它過去 14 根 K 棒自身範圍的頂端附近;低於 20 則表示接近底部。由於這個範圍是 RSI 自己的近期範圍,即使 RSI 本身仍處於 40 到 60 之間的中性區,StochRSI 也可能讀成 80 或 20。
為什麼 Stochastic RSI 會連續好幾根 K 棒停在 100 或 0?
只要今天的 RSI 是回看視窗中的最高值,StochRSI 就會讀成 100;只要它是最低值,就會讀成 0。在穩定的趨勢中,RSI 會一根接一根創下新的 14 根 K 棒高點或低點,因此原始 StochRSI 會釘在邊緣。%K 平滑會稍微緩和這一點,但只要 RSI 持續創下視窗內的新高或新低,強勢趨勢仍會讓線維持在邊緣附近。
我可以把 Stochastic RSI 用在期貨策略上嗎?
可以,作為測試中的一個規則家族,和測試 RSI 或 KD 的方式相同。最主要要檢查的是扣除成本後的交易次數,因為在相同的 K 棒上,StochRSI 產生的交叉比 RSI 多,而每一次交叉都是一筆要付手續費與滑價的交易。請使用下一根 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.

