用KD值選股:你還需搭配這三種指標

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

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

KD值

今天我們就來試驗一下KD值程式交易選股,
首先,我傾向於把指標的參數拉長,原因是這樣比較容易抓的到股價的規律(以日K來說)。
不過我個人的研究發現趨勢指標型態不一樣,選出來的股票也會不一樣,
絕對不是只要股價會漲就好,而是要符合某些特定的數學條件。

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

eq1 4
ns1 1

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

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

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

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

當天股價 < 10日平均

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

股價必須高於年線

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

增加一些常用的財務指標

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

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

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

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

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

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

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

eqf
nsf

FinLab - 韓承佑

嗨大家好,我是韓承佑,FinLab創辦人,畢業於巴黎薩克雷大學資工博士,目前擔任臺灣量化交易協會 學術顧問、台北商業大學 創新育成中心 創業技術顧問與上市科技公司 量化交易顧問。當初,我喜歡寫程式、無意間因為軟體比賽接觸Fintech,從此開始了財經跟程式的學習之路。我們成立 FinLab 量化投資部落格,用自己研發的軟體,對台灣股市做大量快速的實驗。希望可以在量化投資的路上,當大家的「武器製造商」!