技術分析概論-發明KD的人所使用但你所不認識的方法!

UnZan
倍利雞的程式交易世界
Oct 24, 2020

這一系列文章是建立程式交易基礎知識的入門課程,只是簡單的提及理論讓未來進行交易策略編寫時能有初步的概念進行,而不僅僅是淪為瞎猜瞎湊。期望讀者能在理解理論之餘,能結合過去求學時所習得之數學理論。

前一回我們使用移動平均線進行趨勢的判讀,整體移動平均向上,認定是市場上大多數的投資人願意以更高的價格買進。
https://medium.com/倍利雞的程式交易世界/技術分析概論-移動平均線及其交叉-ddbf645ea083

針對價格的趨勢,我們也可以透過一段時間內,收盤價與其他成交價格的相對關係來解讀。

例如:
白天時,在市場中一斤特選蘋果最高有賣出24元、最低則是只賣出20元。
快要收市的時候,發現市場上賣的特選蘋果都是一斤24元以上,殺價也沒人賣。

此時你覺得對攤販來說,就算把蘋果屯到明天也不願意降價賣出,他心中期望特選蘋果應該能賣出多少價格?

反過來看:
白天時,在市場中一斤特選蘋果最高有賣出24元、最低則是只賣出20元。
快要收市的時候,發現市場上賣的特選蘋果都是一斤只要20元。

此時你覺得攤販又是個什麼樣的心態呢?明明稍早有販售出較高的價格,卻在收市前全面擺出最低價求售。

隨機指標 Stochastic oscillator(Lane’s Stochastics)

喬治·萊恩(George C. Lane)在1950-60年代研究技術分析指標,當時產出許多振盪因子(oscillators),透過百分比數值呈現市場趨勢。

其中一個知名的指標:%K%D(或簡稱KD)也是目前絕大多數技術分析入門時會必學的基礎。

下方的實線及虛線分別代表著K值和D值 https://en.wikipedia.org/wiki/Stochastic_oscillator

喬治·萊恩指出這個方法基於以下的觀察:
隨著價格下降,每日收盤價往往會趨向每日價格範圍的最小值。
反之,隨著價格上升,每日收盤價會趨向每日價格範圍的最大值。

看起來非常抽象,但和上面所提的特選蘋果的例子對照一看,是不是顯得更為直觀的。

你所不知道的喬治·萊恩%K%D定義

%K=100*(收盤價-n日內的最低價)/(n日內最高價-n日內的最低價)
%Dα=(前α日的%K加總)/α=前α日的%K平均=%K的α日移動平均
其中n常取9、α常取3。

萊恩的%K%D定義

%K指的是這個值是個百分比值,在不會產生誤會的情況之下,省略%是可以被一般人接受的。

K值的概念一言以蔽之就是:收盤價在短期內所有價格中所佔的位置。
當K值高時,代表收盤價越接近最高價。
當K值低時,代表收盤價越接近最低價。

所以當K值高時(通常設定K值>80),我們一般會認為價格趨向上升趨勢。
反之當K值低時(通常設定K值<20),我們一般會認為價格趨向下降趨勢。

K值就是有顏色的色塊占全部的比例!

但K值的定義使得每日收盤價波動大時難以從K值的變化看出趨勢,所以做K值的移動平均線:D值,平滑波動利於鑑別這段期間的趨勢。

這點和價格移動平均線的用途相同,藉由不同週期的移動平均線看短期、長期的趨勢。

喬治·萊恩使用KD的方式

喬治·萊恩在1984年的論文Lane’s Stochastics中特別提到唯一一個適合作為買賣訊號的情況:
當價格相對低點降低,但D值相對低點上升時,是迎來上升趨勢的訊號。
當價格相對高點升高,但D值相對高點降低時,是迎來下降趨勢的訊號。

價格相對極值與D值相對極值背離時所展示的訊號。左邊是牛市訊號圖、右邊是熊市訊號圖。

除此之外,喬治·萊恩也提到一些使用KD須注意的現象:
1. 觀察交叉圖時,KD線的交叉點交於D線極值的右側比較有價值。

如右邊的圖,交叉點在D線(實線)的最低值右側。

2. KD線移動的速度降低時,是趨勢反轉的時機。

3. K值下降趨勢中,突然一日的大幅反彈,代表在真正的反彈前可能只剩一兩日會下降。

4. K值等於0不代表是價格已經來到最低點,而是表示價格相當貧弱。K值碰到0時,會稍稍反彈到20-25左右,然後又會下降2到5日,這時間取決於K線移動的速度。而這樣的趨勢反過來看高點也會對。

5. 價格相對低點升高,但D值相對低點降低時,是個價格未來即將下降的跡象,上升後的高點可能為重要的反轉點 (This means that the next swing up will probably provide an important top)。(筆者註:這點我是解讀成如此)

6. K線向上突破D線後,隔天稍稍下跌但沒有跌破D線,這展示買方的強度及向上發展的延續。

7. 許多時候會發現價格與K值背離的現象,需要格外小心,此時的訊號可能跟趨勢無關。結合D值的變化能夠更有幫助了解當時的趨勢。

現代臺灣人所知道的KD

對於臺灣(或是使用中文的地區)熟悉KD的朋友,可能對這篇文章所提的定義感到陌生。

常見的定義是:

一、先計算出「未成熟隨機值」(Raw Stochastic Value,RSV):
RSV=(收盤價-n日內的最低價)/(n日內最高價-n日內的最低價)*100%
二、計算出K值
K=α*當日RSV+(1-α)前一日的K值
D=α*當日K+(1-α)前一日的D值
其中n常取9、α常取1/3。

此處的RSV和喬治·萊恩所定義的%K是一致的,而此處的K值則是RSV的一個參數α=1/3的指數移動平均。和喬治·萊恩所定義的%D能做個對照:%D經常取為前三日的%K的簡單移動平均。

觀察%D和現代的K,最新的一期%K(RSV)都是占了1/3

仔細觀察%D和現代的K值,%D僅取近三日的%K,但現代的K以指數移動平均的方式多考慮了更久以前的時間。

指數移動平均的係數是一個首項為1/3公比為2/3的等比數列。在第10項以後係數就不大於0.1%,代表十天前的RSV對K的影響已經微乎其微。

至於為什麼現代大家常用這種被平滑後的KD,則是因為原始的%K受價格影響過大,在一些盤整或短期波動中常會無法順利辨識其趨勢。

這樣的兩種KD傳統上分別被稱為快KD和慢KD。對照關係如下:
RSV=快K
↓平滑
慢K=快D
↓平滑
慢D

常用的KD策略

所以當KD值>80,我們一般會認為價格趨向上升趨勢;
KD值<20,我們一般會認為價格趨向下降趨勢。

此外,藉由KD定義而造成的KD變化快慢,和均線策略一樣也有黃金交叉及死亡交叉,但需要注重的要素更多了。

均線黃金交叉:短期均線向上穿過長期均線。
均線死亡交叉:短期均線向下穿過長期均線。

KD黃金交叉:K線向上穿過D線。
KD死亡交叉:K線向下穿過D線。

當K值向上穿過時,根據K值的定義呈現近期價格較過去更位於相對價格的高點,而解讀為價格正在上漲的趨勢。

XQ策略高手上的實作圖。

簡單做KD黃金交叉進場的策略,在大盤多頭的2019年指數成長23.06%。但總報酬率為差強人意10.05%。比起簡單的均線黃金交叉策略的總報酬率更為差勁,這難道是KD黃金交叉根本不是個合適的指標嗎?

回頭看看原本寫的策略,由於出場機制薄弱(停利停損都是8%),以愛之味為例,進場了無數次,但都沒有達到停利的標準,結果都在回測最後一日平倉,因此錯過了好幾個相對高點。

給予適當的出場機制,例如:KD死亡交叉、KD>80、均線死亡交叉…等等,策略表現就能夠比較好一點。

除此之外由於KD值敏感且為相對值。就算發生黃金交叉時,還需要考慮發生交叉的值為何?

例如:在KD值低於20時,K值向上穿過,可以解讀為近期價格開始趨向上升的趨勢。但在KD值較高的時候發生K值向上穿過,就需要更謹慎的解讀其中的因素,可能是價格位於高點的鈍化狀態。

KD算是一種趨勢的解讀,但單獨運作時可能會有一些難以避免的盲點。所以在進行投資策略的撰寫時,可以配合其他指標多面向的閱覽價格,從而在市場中獲利。

筆者註記:
筆者在學習KD的歷程在網路上搜尋許多文件,令人驚奇的是英文頁面中似乎很少提及RSV,幾乎沒有人使用這種縮寫。以Raw Stochastic Value作為關鍵字搜索,也絕少人使用這個名詞。似乎只有中文文獻中有提到RSV,且每個頁面定義都相互抄來抄去,卻找不到這個名詞定義的來由。

Reference:

George C. Lane, M.D. LANE’S STOCHASTICS Stocks & Commodities V. 2:3 (87–90)

維基百科 指數移動平均條目
https://zh.wikipedia.org/wiki/%E7%A7%BB%E5%8B%95%E5%B9%B3%E5%9D%87

維基百科 隨機指標中文條目
https://zh.wikipedia.org/wiki/%E9%9A%8F%E6%9C%BA%E6%8C%87%E6%A0%87

維基百科 隨機指標英文條目
https://en.wikipedia.org/wiki/Stochastic_oscillator

--

--

UnZan
倍利雞的程式交易世界

在數學人面前自稱學教育的,在教育人自稱學數學的。