💡AI幫幫忙:KD指標與買進持有-16年回測結果

KD指標就是股價的溫度計,但真的有用嗎?

Ethan
Jul 20, 2024

KD指標就是股價的溫度計

如果把股價比喻成溫泉,那KD指標就是這個溫泉裡的溫度計。

KD指標的全名是隨機指標(Stochastic Oscillator),也是非常常見的技術分析工具,聽起來很厲害對?實際上就是用來告訴投資人市場是「過熱」或「過冷」,來判斷股票或其他資產的買賣時機(過熱就會降溫,過冷就會升溫,屬於擺盪類型技術指標的一種)。

實際計算方式可以參考維基百科的說明,其概念主要是透過過去幾天的最高價和最低價,去判斷目前的股價是位於較高還是較低的位置。

KD指標顧名思義會有K線和D線2條線,K線反應股價的速度較快,能夠反映短期市場變化,所以又被稱為快線D線反應較慢(因為是將K線再進行平均一次),用來反映較長期的市場趨勢,因此又被稱為慢線

KD指標-股市泡湯指南

股價強弱勢判斷

KD指標計算出來的結果會介於0~100之間,越高的話表示目前的股價相較於過去來說處於較高的位置,而一般來說主要是透過下面的規則來進行判讀:

  • K線、D線<20:水溫偏冷,可能繼續降溫,小心感冒。

表示目前的股價相較於過去的時間,是處在比較低的位置,但又沒有低到過低,代表股價偏弱勢可能繼續下跌。

  • K線、D線>80:水溫偏熱,可能繼續升溫,小心燙傷。

表示目前的股價相較於過去的時間,是處在比較高的位置,但又沒有高到過高,代表股價偏強勢可能繼續上漲。

股價轉向判斷

身為一家經營溫泉的老板,當然不會放任溫泉過冷會過熱,也就是說股價也不太可能一路漲上去就不會投(輝達表示:…),因此KD指標若有出現以下情形則可能代表轉折即將發生(溫泉老闆要降水溫或提高水溫囉!):

  1. KD黃金交叉:當K(快線)從低檔向上突破D值(慢線),股價可能轉折向上。代表水溫已經過冷到某個程度,客人們都不想泡了,於是溫泉老板開始放熱水了,這時候就是跳下去泡溫泉的好時機!
  2. KD死亡交叉:當K(快線)從高檔向下跌破D值(慢線),股價可能轉折向下。代表水溫已經熱到某個程度,於是溫泉老板開始放冷水,這時候最好就離開溫泉,因為溫度要開始下降了,還是泡的熱熱的上岸就舒服了!

KD指標鈍化

有時候溫度計也會失靈的,比如水溫一直很高或很低,溫度計就會停在80以上或20以下不動,這代表我們的溫度計可能需要修理了。

這時候的KD指標會失靈,因為如果股價持續上漲,那代表一段特定時間的高低點都相似,KD指標公式的分母與分子每天也都會差不多,導致KD指標很難反應過去一段時間高低點位置的狀況,因此會一直維持在高檔(>80)或低檔(<20)的情況,在專業術語上會將此情形稱為KD指標鈍化。

指標鈍化是所有擺盪指標都會出現的狀況,這代表目前的股價有很強的動能,導致股價是有趨勢的持續往同一個方向跑,我自己在閱讀技術分析書籍的時候覺得這點也是蠻有趣的,究竟股價是有動能的時候居多(一直向前衝)還是維持漲高就跌、跌低就漲的情形居多?之後再用這個主題和大家做分享提供我的觀點。

KD指標背離

如果你看到水面沸騰,但溫度計卻顯示低溫;或者水面結冰,溫度計卻顯示高溫,這時候可能就要換個地方泡湯了。

KD指標背離指的是當市場價格創新高或新低,但KD卻沒有同樣發生新高點或新低點,就是產生指標背離的現象,一般來說會認為此時市場即將有機率發生轉折,通常會被做為交易訊號尋找適合的進出場時機,可以區分成2種背離情形:

  1. 高檔背離:當市場價格創新高,但是KD指標卻沒有創新高,稱為高檔背離,表示股價有機率反轉下跌。
  2. 低檔背離:當市場價格創新低,但是KD指標卻沒有創新低,稱為低檔背離,表示股價有機率反轉向的變化。

為什麼背離就代表即將反轉,他背後隱含的邏輯也是很簡單,假設是在股價創新高的時期,但KD指標的數值反而變低,代表推動股價向上的動能已經減緩,所以就藉此來預測股價即將反轉。

AI幫幫忙:用0050過去股價來實測KD指標的準確性

計算KD指標

好了,已經有這些知識就足夠了,我們來實測過去的資料看看,首先從yahoo finance下載0050的日資料,在yahoo finance可以下載到最多從2008年到現在的股價資料,雖然離0050成立日期2003年還少了5年的時間,只是這邊應該算能最快速下載到股價的資料,就先省略前5年的時間了。

回測以KD<20買進,KD>80賣出的報酬率

這邊我所下給AI的指令如下:

以給定資料期間,回測若在K小於20時一次全部買進,當K大於80時一次全部賣出,列出總共會進行多少次交易,每次的買進及賣出日期及價格,以及報酬率

呈現出來的結果如下(總共有204次交易紀錄,這邊只列出前面幾項):

使用K值策略的204次交易結果

對AI產生的結果也是要時時刻刻抱持懷疑的心

這邊我再回到yahoo finance的圖表,打開技術指標,來看一下他的這些買賣時間點合不合理,用2008/4/24買進到2008/4/28賣出,當時K值的確先小時20然後又大於80沒錯,下一次交易的2008/4/29也同樣是K值小於20然後於2008/5/13大於80,推論產生的結果應該還OK。

紅圈為買進點,藍圈為賣出點,與AI提供的回測結果相同

有了這些數據,接下來就是發揮AI強大的數據分析能力了,這邊同時請ChatGPT和Claude這兩個AI工具給我針對上述策略的總結,首先是ChatGPT的結果:

ChatGPT針對回測結果的評論

而Claude的回應則是:

Claude針對回測結果的評論

這一回合我覺得Claude的回應比較優秀,計算了勝率和最大虧損,同時也給予一些建議。而因為總共有209次交易,為了更直觀的瞭解策略的盈虧,我這邊以假設每年初有1,000元初始資金,每一年的年末回報是多少來瞭解各年度的損益狀況,結果如下:

  • 2008年:期末市值 796.93元,報酬率 -20.31%
  • 2009年:期末市值 1907.30元,報酬率 90.73%
  • 2010年:期末市值 1000.21元,報酬率 0.02%
  • 2011年:期末市值 1095.09元,報酬率 9.51%
  • 2012年:期末市值 1015.01元,報酬率 1.50%
  • 2013年:期末市值 1057.09元,報酬率 5.71%
  • 2014年:期末市值 1110.43元,報酬率 11.04%
  • 2015年:期末市值 1029.82元,報酬率 2.98%
  • 2016年:期末市值 1169.22元,報酬率 16.92%
  • 2017年:期末市值 1136.56元,報酬率 13.66%
  • 2018年:期末市值 915.63元,報酬率 -8.44%
  • 2019年:期末市值 1066.56元,報酬率 6.66%
  • 2020年:期末市值 983.86元,報酬率 -1.61%
  • 2021年:期末市值 1042.81元,報酬率 4.28%
  • 2022年:期末市值 759.88元,報酬率 -24.01%
  • 2023年:期末市值 1118.15元,報酬率 11.81%
  • 2024年:期末市值 1090.41元,報酬率 9.04%

同樣針對結果也是要抱持著懷疑的心,我們來檢視2008年的報酬率計算是否正確,根據資料2008年總共有進行這幾次交易,把它貼到萬能的excel來檢查結果:

用EXCEL確認AI結果的正確性…看起來應該是正確的!

2008/12/23這次的交易因為是到2009年才賣出,我在指令裡有要求:「

  1. 每一年初都用1,000元當作初始資金,不考慮之前年度期末的錢。
  2. 如果有跨年交易(例如2008/12/1買進,2009/1/10賣出,2008年的結果請以2008年末最後一天交易日的來計算市值)」

所以這邊使用2008年最後一個交易日來計算市值,而2009年則沒有這個情形,因此最後的市值1,907元和回測結果一致,推論資料應該正確沒問題。也請ChatGPT用折線圖的方式呈現這幾年的資產變化情形:

好了,橫跨16年的KD策略,表現最好的是2009年拿到了90.73%的報酬,表現最差則是2022年的-24.01%。而如果是維持這個投資策略都不改變的投資人,可以拿到多少報酬呢?答案是:

2,519.84元,報酬率是151.98%,年化報酬率5.59%

持有到期呢?

151.98%的報酬率,聽起來好像還不錯吧!不過回到策略好壞評斷的本身,就是究竟能否贏過單純的買進並持有策略,所以這邊我們再請AI提供每一年的買進並持有報酬率來做比較:

  • 2008年:期末資金551.57元,報酬率-44.84%
  • 2009年:期末資金1717.37元,報酬率71.74%
  • 2010年:期末資金1086.73元,報酬率8.67%
  • 2011年:期末資金810.58元,報酬率-18.94%
  • 2012年:期末資金1096.62元,報酬率9.66%
  • 2013年:期末資金1079.04元,報酬率7.90%
  • 2014年:期末資金1141.76元,報酬率14.18%
  • 2015年:期末資金912.85元,報酬率-8.72%
  • 2016年:期末資金1205.71元,報酬率20.57%
  • 2017年:期末資金1142.56元,報酬率14.26%
  • 2018年:期末資金914.04元,報酬率-8.60%
  • 2019年:期末資金1309.25元,報酬率30.93%
  • 2020年:期末資金1251.92元,報酬率25.19%
  • 2021年:期末資金1170.08元,報酬率17.01%
  • 2022年:期末資金752.73元,報酬率-24.73%
  • 2023年:期末資金1223.02元,報酬率22.30%
  • 2024年:期末資金1390.66元,報酬率39.07%

而從2008年投入1,000元持有到現在,最終會變成…

3,181.64元,總報酬率218.16%,年化報酬率7.05%

明顯高於K值策略的結果。

結論:市場會永遠向上嗎?

這一次的AI幫幫忙我們請出的是新朋友-Claude,這是由美國科技公司Anthropic所開發的大語言模型,該公司是原本任職於OpenAI的工程師在2021年所創立,在最近發布的新模型-Sonnet(單字原為英國莎士比亞十四行詩,好浪漫的一個用字)據說有著和ChatGPT 4o不相上下的能力,這次使用的感想是ChatGPT在數值計算結果比較好一點(Claude不知道為什麼連買進並持有的報酬率都會算錯…原本這篇只想使用Claude結果試了好多次都不行)不過在本文生產的方面Claude給的結果比較詳細也較會衍生,各有千秋。

而回到策略本身,我們也請Claude針對這兩種策略給一些評論:

總結這次的回測結果,如果是單純從2008年開始投資,兩個策略的結果如下表,表格中可以看到K值策略雖然有著較小的最大損失(年度表現波動相對較小,範圍大致在760元到1,907元之間,而買進持有則是在552元到最高的1,717元),但是整體來說在持續向上股市行情的這10幾年間,比起單純買進持有是少賺很多的(尤其2019年之後),加上買進持有頻繁的買賣交易,結果是沒辦法單敗單純的買進並持有策略。不過相對的,對於較沒辦法承受較大市場起伏變化的投資人來說,K值策略可能會是較佳的選擇(但會錯過股市大多頭時的行情)。

市場會永遠持續向上嗎?

大家都會有個疑問,市場還會一直持續向上嗎?在過去雖然的確展示了市場持續向上,但這的確不代表市場會永遠持續向上,也會經歷像是2008年或2022年的大幅虧損,或是2020年3月疫情期間連續觸發熔斷機制的崩跌,只是隨著科技公司的創新、溫和的通貨膨脹和穩定的政經情勢,對於未來市場持續向上我還是保有一定的信念

重點是保持長期視角,在市場低迷或瘋狂時保持冷靜與理性,瞭解自己的投資原則,在投資道路上朝向正確的方向持續前進。

--

--

Ethan

在會計師事務所、產業到投資銀行不斷轉換角色,希望能透過在這邊分享對資本市場想法的同時,彌補自己不足的地方,希望自己能成為一個有原則與思考能力,也能接納各種不同觀點的人。👨‍💼ROC CPA(台灣會計師考試及格)、CSIA(證券分析師考試及格) ✧ 來信/iam.ethan.hello@gmail.com