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

KD 指標(Stochastic):公式、意義與如何檢驗

KD 衡量收盤價落在近期高低區間的哪個位置,再做兩次平滑。它在趨勢與盤整中的表現不同,所以 KD 規則必須先經過含交易成本與樣本外資料的精確回測,才值得拿來交易。

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

目錄
  1. KD 指標到底在衡量什麼?
  2. RSV、K、D 在 9-3-3 設定下如何計算?
  3. 為什麼不同平台的 KD 值會不一樣?
  4. KD 的超買與超賣數值代表什麼?
  5. 交易者以 KD 建立哪些進場與出場規則?
  6. 為什麼 KD 在趨勢與盤整中表現差這麼多?
  7. 如何把交易成本算進去,回測 KD 規則?
  8. 好的與差的 KD 結果長什麼樣子?
  9. 常見問題
  10. 參考資料

KD 指標(Stochastic 隨機指標)以 0–100 的刻度,顯示最新收盤價位於最近九根 K 棒高低區間的哪個位置。K 平滑這個位置,D 再平滑 K。高於 80 代表收盤接近區間頂部,低於 20 代表接近區間底部。KD 規則是否有效,只有含交易成本的回測才能回答。

KD 指標到底在衡量什麼?

KD 衡量的是價格在近期區間內的位置,不是價格方向,也不是趨勢強度。把最近九根 K 棒想成一個房間:最高價是天花板,最低價是地板。KD 告訴你最新收盤價在這個房間裡站得多高。

在台灣,這個指標通常稱為 KD(KD 指標),它的兩條線是 K 線與 D 線(KD 線)。當有人問股票 KD 的意思(股票 KD 意思),其實就是在問這件事:價格收在近期區間的頂部附近,還是底部附近?

同樣的概念在國際上稱為 Stochastic 隨機指標。Stochastic 指標頁面介紹了整個指標家族。本文聚焦在台灣圖表上的標準 9-3-3 KD 版本,以及如何檢驗它。

K 棒週期會改變「近期」的意思。在日線股票圖上,九根 K 棒約涵蓋兩個交易週。在 5 分鐘期貨圖上,九根 K 棒涵蓋 45 分鐘。計算方式完全相同,但它描述的市場行為並不相同。

RSV、K、D 在 9-3-3 設定下如何計算?

KD 分三步建立:先算 RSV,再算 K,最後算 D。9-3-3 的三個數字,就是這三個步驟的設定。

RSV(未成熟隨機值)是最新收盤價在最近 9 根 K 棒最低價與最高價之間的位置,以 0 到 100 表示。你只需要這一個公式:

RSV = (C − L9) ÷ (H9 − L9) × 100

  • C 是當根 K 棒的收盤價。
  • L9 是最近 9 根 K 棒的最低價,包含當根 K 棒。
  • H9 是最近 9 根 K 棒的最高價,包含當根 K 棒。

RSV 為 100,表示該 K 棒正好收在 9 根 K 棒的最高點。RSV 為 0,表示收在 9 根 K 棒的最低點。

RSV 的跳動很大,所以 KD 要把它平滑。K 與 D 這兩步不需要額外的公式:

  1. K 值:今天的 K 從昨天的 K 朝今天的 RSV 移動三分之一的距離。9-3-3 中間的「3」就決定了這個三分之一。
  2. D 值:今天的 D 從昨天的 D 朝今天的 K 移動三分之一的距離。最後一個「3」決定了這個三分之一。
  3. 起始值:第一根 K 棒沒有昨天的值時,K 和 D 通常設為 50。

恆溫器是個很好的比喻。它不會一下子跳到新的溫度,而是每一步縮小三分之一的差距。這就是為什麼 K 落後於 RSV,D 又落後於 K。

九根假設的 K 棒,最高價 110、最低價 90;最新收盤價 105 位於區間四分之三處,即 0 到 100 刻度上的 RSV 75 收盤落在哪裡? 最近 9 根 K 棒,假設價格 最高 110 收盤 105 最低 90 100 RSV 75 0 收盤 105 在 3/4 處:RSV 75。 所以:KD 看位置,不看趨勢。
RSV 把最新收盤價放進 9 根 K 棒的區間裡。在 90–110 的區間中,收在 105 就是四分之三的高度:RSV 為 75。

假設範例

最近 9 根 K 棒中,最高價是 110,最低價是 90。當根 K 棒收在 105。RSV = (105 − 90) ÷ (110 − 90) × 100 = 75。

昨天的 K 是 60。與 RSV 的差距是 15。15 的三分之一是 5,所以今天的 K 是 65。

昨天的 D 是 55。與今天 K 的差距是 10。10 的三分之一約為 3.3,所以今天的 D 約為 58.3。

為什麼不同平台的 KD 值會不一樣?

不同看盤軟體的 KD 值(KD 值)可能略有差異,因為各處的平滑方法並不相同。下表列出兩種常見版本。

步驟台灣式 KD(9-3-3)常見的「慢速 stochastic」
區間回看期9 根 K 棒預設通常為 14 根 K 棒
K 的平滑每根 K 棒朝 RSV 移動三分之一最近 3 個 RSV 值的簡單平均
D 的平滑每根 K 棒朝 K 移動三分之一最近 3 個 K 值的簡單平均
最初幾根 K 棒取決於起始值 50在資料足夠之前沒有定義

回測中還有兩個細節要注意。第一,如果 9 根 K 棒的最高價等於最低價,RSV 會除以零,各平台的處理方式不同。第二,起始值 50 會影響最初幾十根 K 棒,所以回測開始進場之前,要先讓指標暖機。

KD 的超買與超賣數值代表什麼?

KD 高於 80,表示價格已連續數根 K 棒收在近期區間的頂部附近。KD 低於 20,表示收在底部附近。高於 80 的區域稱為超買,低於 20 的區域稱為超賣。

這些名稱暗示價格從超買「必定」下跌、從超賣「必定」上漲。KD 並沒有這樣說,它只告訴你近期的收盤落在哪裡。有些交易者用 70 和 30 取代 80 和 20,以取得更多訊號。也有人把 50 當成中線:K 高於 50 表示收盤在區間的上半部。

K 與 D 的讀數它描述的是它沒有告訴你的是
兩者都高於 80數根收盤接近 9 根 K 棒區間的頂部下跌即將來臨
兩者都低於 20數根收盤接近 9 根 K 棒區間的底部上漲即將來臨
K 向上穿越 D近期收盤上升的速度快於平滑後的平均這波走勢會走多遠
K 接近 50收盤落在區間中間趨勢是否正在開始

交易者以 KD 建立哪些進場與出場規則?

大多數 KD 策略都由幾種標準規則組成,每一種在檢驗之前都需要精確的定義。規則區塊是策略中單一且精確定義的一個部分,例如一個進場條件或一個出場條件,可以和其他部分組合。

規則做多進場常見出場它的弱點
低檔黃金交叉兩者都低於 20 時,K 向上穿越 DK 向下穿越 D,或 K 升到 80 以上下跌趨勢中會一再過早進場
區域脫離K 在低於 20 之後回升到 20 以上K 在高於 80 之後回落到 80 以下20 線附近的震盪行情
中線穿越K 向上穿越 50K 向下穿越 50盤整時頻繁翻轉
趨勢過濾的拉回ADX 顯示趨勢強勁,價格在長期均線之上,且 K 從 20 以下向上交叉(見 ADX 趨勢強度指標頁面)反向交叉、停損或時間限制轉折點,過濾條件會落後
背離價格創更低的低點,而 K 創更高的低點固定停利或反向交叉很難精確定義,因此很難公平檢驗

做空進場則是這些規則的鏡像。黃金交叉(黃金交叉)是 K 向上穿越 D,死亡交叉(死亡交叉)是 K 向下穿越 D。

出場和進場一樣重要。單靠 KD 交叉出場,在快速行情中往往出得太晚,所以許多交易者會搭配停損或最長持有時間。每多加一種出場,就多一個規則區塊,也多一個必須檢驗而不能假設的選擇。

KD 主要在橫向盤整的市場中才適合當轉折訊號,在強趨勢中它會卡在某一端。原因就在計算方式裡。在穩定的上升趨勢中,每次收盤都接近最近九根 K 棒的頂部,所以 RSV 維持高檔,K 也會長時間停在 80 以上。

台灣的交易者把這稱為鈍化(鈍化)。鈍化是指趨勢持續時,K 和 D 一直停在超買或超賣區的狀態。一個只要 K 高於 80 就賣出的規則,會在上漲的市場中一直賣。

兩個面板:在穩定上升趨勢中,K 值維持在 80 到 100 之間,三次超買賣出後價格都繼續走高;在橫盤區間中,K 值在 20 到 80 之間擺動,賣出點都對應價格高點 超買訊號在趨勢中失效 上為價格,下為 K 線 趨勢 賣出失敗 區間 賣出有效 80 20 80 20 趨勢中,K 值會停在 80 以上。 所以:逆勢做 KD 前先過濾趨勢。
在強趨勢中,KD 停在 80 以上,「超買」賣出會失敗(左)。在盤整中,KD 在各區域之間擺動,它的交叉與轉折相符(右)。

在盤整中,9 根 K 棒這個房間的天花板與地板大致不動。價格在兩者之間彈跳,KD 也隨之在 20 到 80 之間擺動。這正是超買與超賣規則原本設計的環境。

KD 還有其他限制,檢驗者應該知道:

  • 它會落後。D 是對平滑值再平滑,所以 D 的交叉會出現在價格轉折之後。
  • 它忽略成交量與區間大小。5 點的 9 根 K 棒區間與 200 點的區間,可能得到相同的 KD 值。
  • 它交叉頻繁。在短 K 棒上,交叉多就代表交易多,交易多就代表總交易成本高。

如何把交易成本算進去,回測 KD 規則?

把 KD 當成精確的規則區塊來測試,第一次執行就納入交易成本與下一根 K 棒成交,並用沒有拿來調整的資料來評斷。請依序進行以下步驟:

  1. 精確寫下規則。例如:「在 K 棒收盤時,若 K 向上穿越 D 且兩者都低於 20,就在下一根 K 棒的開盤買進一口。」
  2. 固定 KD 版本。回看期、平滑方法、起始值與暖機 K 棒,如上表所示。
  3. 在下一根 K 棒成交。交叉要等 K 棒收盤才知道,所以在同一個收盤價成交,用的是你無法交易的價格。
  4. 納入每一買一賣(來回)的所有成本。手續費、交易所費用、適用時的稅,以及進場與出場兩邊的滑價。回測中的交易成本指南說明了如何估算。
  5. 參數範圍要小,並且要計數。例如回看期 7 到 12 根 K 棒、區域 15/85 到 25/75。把測試過的變體數量寫下來。
  6. 做樣本外測試。在一段期間調整,再在接續的下一段期間測試。推進分析會在整段歷史上重複這個過程。
  7. 對結果施壓。用兩倍滑價重跑,也用相鄰參數重跑,例如 8-3-3 和 10-3-3。

計算變體數量很重要,因為在同一份資料上搜尋許多規則,會讓最好的那個看起來比實際更好。Sullivan、Timmermann 與 White(1999)針對技術交易規則研究過這個問題。他們使用重抽樣檢定,把歷史資料重新洗牌許多次,看在整組被搜尋的規則中,光靠運氣最好的規則會有多好看。他們的研究建立在 White(2000)針對資料窺探的 reality check 之上。

好的與差的 KD 結果長什麼樣子?

檢查項目令人放心的結果薄弱的結果
相鄰參數8-3-3、9-3-3 和 10-3-3 表現相近只有一個精確的設定有效
平均每筆損益 vs. 成本未扣成本的平均每筆損益是一買一賣(來回)成本的數倍未扣成本的平均每筆損益接近成本
兩倍滑價結果縮小但仍為正結果轉為負
樣本外表現與調整期間相似調整期間之後優勢消失
趨勢 vs. 盤整期間你能解釋在哪裡賺、在哪裡虧整個結果由單一期間撐起

假設範例

規則 A 是在 60 分鐘期貨 K 棒上的單純黃金交叉。它有 500 筆交易,未扣成本的平均每筆為 3 點。手續費、費用與一點滑價,一買一賣(來回)的成本是 2 點,所以扣成本後的平均每筆為 1 點。滑價加倍後,成本是 3 點,扣成本後的平均每筆為 0。

規則 B 加了趨勢過濾。它有 200 筆交易,未扣成本的平均為 6 點。扣掉同樣 2 點的成本後,平均每筆為 4 點。滑價加倍後是 3 點。

這並不能證明規則 B 有效。它只是通過了一項規則 A 沒通過的檢查,仍然需要做樣本外測試。

假設每筆交易點數:規則 A 毛利 3 點,其中 2 點為成本,淨利 1 點;規則 B 毛利 6 點,同樣 2 點為成本,淨利 4 點 優勢越大,越能抵擋成本 每筆交易點數(假設) 成本 淨利 規則 A −2 +1 毛利 3 規則 B −2 +4 毛利 6 成本吃掉 A 的 2/3、B 的 1/3。 所以:毛利要遠高於成本。
假設範例中每筆交易的情況:同樣 2 點的成本,吃掉規則 A 未扣成本優勢的三分之二,卻只吃掉規則 B 的三分之一。

手動測試幾個 KD 變體是可行的。要測試回看期、區域、出場與過濾條件的每一種組合就不實際了;這時就需要策略生成與 回測這類工具,因為它們能在納入交易成本與下一根 K 棒成交的情況下,跑大量精確定義的規則組合。

如果你使用 AlphaPrime(Valynox),這代表:把 KD 當成眾多規則區塊之一,給它狹窄的參數範圍,並從第一次執行起就在搜尋設定中保留真實的手續費與滑價。然後依樣本外結果與相鄰參數來評斷留下來的策略,而不是只看單一最佳的回測。

常見問題

KD 值 80 或 20 代表什麼?

KD 值為 80,表示近期收盤一直接近最近九根 K 棒高低區間的頂部。值為 20,表示一直接近底部。這些水位描述的是價格一直收在哪裡,並不預測反轉,在強趨勢中尤其如此。

KD 指標的公式是什麼?

先計算 RSV:收盤價減去 9 根 K 棒的最低價,除以 9 根 K 棒的區間,再乘以 100。然後 K 每根 K 棒從前一個值朝 RSV 移動三分之一的距離。D 從前一個值朝 K 移動三分之一的距離。K 和 D 通常從 50 開始。

KD 指標和 Stochastic 隨機指標一樣嗎?

KD 是 Stochastic 隨機指標的一個版本。台灣式 KD 通常使用 9 根 K 棒的回看期與三分之一的遞迴平滑。許多其他平台則使用 14 根 K 棒的回看期與 3 根 K 棒的簡單平均。讀數相近,但可能在不同的 K 棒上交叉。

KD 鈍化(鈍化)是什麼意思?

鈍化是指趨勢持續時,K 和 D 一直停在 80 以上的超買區,或 20 以下的超賣區。這是因為每次新的收盤都停在近期區間的一端。在鈍化期間,賣超買或買超賣讀數的規則往往會失敗。

KD 可以用在期貨當沖嗎?

這個計算適用於任何 K 棒週期,包括 1 分鐘或 5 分鐘的期貨 K 棒。短 K 棒會產生許多交叉,所以交易成本會占每筆交易很大的比重。評斷日內 KD 規則之前,請先用完整的一買一賣(來回)交易成本與下一根 K 棒成交來測試。

參考資料

  • 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 的策略生成,把 KD 交叉這類想法變成可檢驗的規則,附有參數範圍與進場、出場條件。AlphaPrime 的回測則成批評估這些規則,並納入手續費、滑價、下一根 K 棒成交與交易時段。

看方案與價格