跳至主要內容
台股研究 約 5 分鐘閱讀

技術指標選股教學:用 KD 值搭配三種條件打造中長期策略

技術指標選股不能只看單一 KD 值。長線 KD 值 RSV50/K20/D20 選股容易追到高點,依序加入「股價低於 10 日均線、高於年線、ROE 近 1 季大於近 4 季平均」三個過濾條件後,回測權益曲線明顯抬升並降低換手率與摩擦成本,示範如何打造績效更穩的中長期 KD 程式交易選股策略。

KD 值選股容易買在高點?加上三個指標讓中長期策略績效更穩。

這篇文章將分享一個程式交易策略,以KD值為主,並且搭配其他的指標。 有很多人投資是看KD值的,但KD值的看法五花八門,究竟哪一種比較好用? 參數這麼多,究竟怎麼調績效比較好? 這篇文章示範一個中長期的程式交易策略,並講解製作策略的思路。

技術指標選股不是只找買點

技術指標選股常見的誤區,是把單檔看盤的買賣點直接搬到全市場。選股要解的是排序問題:今天全市場有上千檔股票,哪一些比較值得放進候選名單?KD 值可以提供價格相對位置,但還要搭配趨勢、估值與基本面,才比較像一套可執行策略。

技術指標用法 單檔看盤 全市場選股
KD 黃金交叉 找短線轉強 訊號太多,容易高換手
長週期 KD 看中期價格位置 可當橫斷面篩選欄位
均線 判斷趨勢與支撐壓力 過濾長期弱勢股
ROE、估值 單檔研究公司體質 避免只追技術面買到基本面弱股

因此本文的主軸是「KD + 三個條件」:用 KD 找價格結構,再用短均線、年線與 ROE 降低追高和基本面風險。若想理解 KD 鈍化本身,可讀高檔 KD 鈍化回測;若想比較多個指標,見技術分析選股總覽

寫策略並模擬回測績效是非常重要的,通過回測,就能一眼看出來你的策略有沒有效。有人說歷史不等於未來,我覺得更正確的說,應該是「歷史不完全等於未來」,每年都有很多不同的黑天鵝,不同的國際政治變化,政黨輪替,然而假如你可以找到一個策略,不論環境如何變化,但是績效一直有穩定的成長,就代表你有可能找到了「歷史與未來會相同的某種選股邏輯」!

KD值

今天我們就來試驗一下KD值程式交易選股, 首先,我傾向於把指標的參數拉長,原因是這樣比較容易抓的到股價的規律(以日K來說)。 不過我個人的研究發現趨勢指標型態不一樣,選出來的股票也會不一樣, 重點不只在股價會漲,也要符合可量化、可重複檢查的價格結構。

這邊我選擇使用RSV 50, K 20, D 20,當作是參數(台股通常是9、3、3)。 當K大於D的時候買入,反之賣出,每天選股並重新平衡資產,可以得到以下的績效:

KD值策略回測權益曲線,紅色為計入手續費、藍色為未計入手續費

KD值策略回測績效統計數據表

紅色的是有考慮手續費,而藍色的則無。

然而這樣的選法是有一些弊端的!(尤其是手續費很高昂,股票換手率太高) 所以接下來我們就想辦法來解決,順便提高一下程式交易的績效~

長期趨勢漲,可能會買在高點!

當K > D時,股價會衝的很高,但是這時候買入就會買在高點了! 所以我們在使用長線KD值時,可以增加一個條件來確保不會買在高點:

當天股價 < 10日平均

除了股價不能太高,同時股價也不能太低!

股價必須高於年線

我們在此參數下選出來的股票,假如股價沒有過年線的話,很容易漲到年線附近時,就被彈了回去,所以乾脆我們選股的時候,就直接選高於年線的,就不會有這個問題了XD

增加一些常用的財務指標

程式交易除了用技術指標外,我們也可以增加一些財務指標,例如ROE: ROE近1季大於ROE近4季平均

當然也有很多別的選項,我這邊就選一個好用的入門款XD,

三種條件依序加上後的結果

可以發現,從下到上依序就是:

  1. 使用KD值
  2. 除了上述以外,額外增加:股價短線別太高
  3. 除了上述以外,額外增加:股價長線別太低
  4. 除了上述以外,額外增加:財務數據

依序加上四種條件後的回測權益曲線比較圖

不過以上是沒有增加手續費的,因為我的回測系統每天都會重新權益平衡,所以有非常多不必要的摩擦成本,此時手續費折扣就非常的重要了!

最後我新增了一些不太重要的條件(為了減少股票檔數),整理成下圖,紅色為有手續費,藍色沒有手續費,只能說以人工調配持股應該會有更好的成果~有興趣可以研究看看!

加入篩選條件後的最終策略回測權益曲線,紅色為計入手續費、藍色為未計入手續費

最終策略回測績效統計數據表

三個條件各自解決什麼問題

把條件逐層加上去,比一次丟一堆指標更容易判斷策略是否真的改善。本文的三個額外條件各自負責不同風險:

條件 解決的問題 可能的副作用
股價低於 10 日均線 避免 KD 強勢後追在短線尖峰 可能錯過一路不回頭的強勢股
股價高於年線 避免買到長期弱勢反彈 會排除早期反轉股
ROE 近 1 季高於近 4 季平均 避免純技術面、補一層基本面品質 財報公布時間要正確對齊

這種分工比「找一個神奇指標」更實用。技術指標負責描述價格行為,財務指標負責排除體質太差的公司,回測負責檢查交易成本後是否仍有改善。若要把它做成現代版策略,建議用 FinLab AI 輔助安裝流程 重建資料,並固定每月或每季換股,而不是每天全市場重新平衡。

如何把這篇舊策略改成現代回測流程

這篇文章保留了早期研究筆記的語氣,真正要帶走的是策略拆解方式。若用現在的研究流程重做,會先固定股票池與成本口徑,再把 KD、均線、ROE 三個條件分開測,最後才合成策略。這樣可以知道績效改善來自哪一層,而不是只看到最後一張漂亮曲線。

重做步驟 目的
固定上市櫃股票池與流動性門檻 避免回測買到實務上難成交的小型股
etl:adj_close 或還原價計算長期報酬 避免除權息讓價格序列失真
分別測 KD、均線、ROE 確認每個條件是否真的有貢獻
加入月頻或季頻換股 降低每日重新平衡造成的交易成本
做分段檢查 確認結果不是只靠單一多頭年份

這樣重做後,技術指標選股才會從「看起來有道理」變成「可以被檢查」。若你想看新版、同口徑的技術指標測試,可接著讀技術分析選股總覽,那篇把多個指標放在同一個回測框架下比較。

還有一種情況要避開:當市場成交量急縮、族群輪動很快,KD 這類價格位置指標會頻繁翻訊號。此時寧可降低換股頻率、提高持股分散度,或把 KD 只當候選清單條件。若把每一次交叉都當成進出場,交易成本通常會先把優勢吃掉。實單前也要檢查單月最大換手與最差月份表現,避免只看長期曲線。

常見問題(FAQ)

技術指標選股可以只看 KD 嗎?

不建議。KD 只能描述價格在近期區間的位置,無法判斷公司體質、估值與流動性。本文示範的重點就是把 KD 搭配均線與 ROE,讓訊號更接近可執行的選股策略。

KD 參數 RSV50、K20、D20 代表什麼?

RSV50 代表用 50 天高低區間計算相對位置,K20、D20 代表用較長的平滑參數處理 K 與 D。相較常見的 9、3、3,這組參數反應較慢,但更適合中長期選股。

為什麼要加股價低於 10 日均線?

長週期 KD 強勢時,股價常已經漲高。加上股價低於 10 日均線,是為了避開短線過熱的尖峰,讓買點更接近回檔後的區域。這不是保證,只是降低追高風險的設計。

為什麼還要看年線?

年線用來排除長期弱勢股。若股價低於年線,即使短線 KD 轉強,也可能只是弱勢反彈。選股策略通常寧可少抓一點早期反轉,也要避免買進長期下跌趨勢。

技術指標選股要不要加基本面?

建議要。技術指標可以幫你找動能與價格結構,基本面則能排除長期不賺錢或體質惡化的公司。本文用 ROE 當入門條件,實務上也可以搭配月營收、毛利率或估值。

這套 KD 選股策略適合實單嗎?

本文是教學與研究示範。實單前要用最新資料重跑,確認成本、滑價、換股頻率、持股檔數與容量。若資金較小,每天重新平衡不實際,應改成月頻或季頻規則再測。


延伸閱讀

投資警語:本文僅供教學參考,不構成投資建議。過去績效不代表未來表現,投資有風險。

FinLab AI

想建立自己的策略?

用自然語言描述你的選股想法,AI 自動驗證、回測、給你答案

免費開始

更多技術指標研究

查看全部