拿不同天期KD方向來衡量大盤的多空方向

By | 2018-05-03

KD是很長壽且被普遍使用的指標,市場高手拿不同天期KD來綜合衡量大盤的多空方向,我今天就東施效顰,看看能不能自訂出一個綜合考量不同天期KD的大盤多空指標。

先檢複習一下KD的計算公式

計算KD指標的第一步,先求出未成熟隨機值 ( Raw Stochastic Value,簡寫為RSV), 其公式如下:

                 第N天收盤價 - 最近N日內最低價

RSV = —————————————————- x 100

             最近N日內最高價 - 最近N日內最低價

一般N取9天

接下來再用加權平均的方式算出K值及D值,公式分別如下

Kt = ( 1-1/N ) Kt-ı + ( 1 / N ) RSVt      (公式1)

Dt = ( 1-1/N) Dt-ı + ( 1 / N ) Kt         (公式2)

其中t為當日值, t-ı 為前一日值。這兩個公式是MACD之外另一種「指數平滑法」的「加權移動平均」計算法。

這裡的N大多是用3天

根據這樣的公式,這N日來的收盤價如果愈接近最低價,K值跟D值就會愈小

XS用stochastic這個函數來計算KD值

例如想要畫出KD指標,腳本如下


input: Length(9), RSVt(3), Kt(3);
variable: rsv(0), k(0), _d(0);

SetInputName(1, "天數");
SetInputName(2, "RSVt權數");
SetInputName(3, "Kt權數");

Stochastic(Length, RSVt, Kt, rsv, k, _d);

Plot1(k, "K(%)");
Plot2(_d, "D(%)");

在這樣的基礎上,如果我們想要知道現在收盤價在不同天期區間裡,距離最低點的位置,或是它的發展方向,就可以使用不同天期的KD值來計算

我試著用這樣的精神,寫了一個大盤的KD多空指標,腳本如下


input: Length1(5),Length2(9),Length3(14),length4(20),length5(30),length6(40),length7(60), RSVt(3), Kt(3);
var: rsv1(0), k1(0), d1(0);
var: rsv2(0), k2(0), d2(0);
var: rsv3(0), k3(0), d3(0);
var: rsv4(0), k4(0), d4(0);
var: rsv5(0), k5(0), d5(0);
var: rsv6(0), k6(0), d6(0);
var: rsv7(0), k7(0), d7(0);
 
Stochastic(Length1, RSVt, Kt, rsv1, k1, d1);
Stochastic(Length2, RSVt, Kt, rsv2, k2, d2);
Stochastic(Length3, RSVt, Kt, rsv3, k3, d3);
Stochastic(Length4, RSVt, Kt, rsv4, k4, d4);
Stochastic(Length5, RSVt, Kt, rsv5, k5, d5);
Stochastic(Length6, RSVt, Kt, rsv6, k6, d6);
Stochastic(Length7, RSVt, Kt, rsv7, k7, d7);
var:count(0);
count=0;
if k1>d1 then count=count+1;
if k2>d2 then count=count+1;
if k3>d3 then count=count+1;
if k4>d4 then count=count+1;
if k5>d5 then count=count+1;
if k6>d6 then count=count+1;
if k7>d7 then count=count+1;
if count >=4 then value1=1
else value1=-1;
plot1(value1,"大盤KD多空");

用這個指標畫出來的多空分界如下

01

我用這個指標寫成腳本,翻紅就進場,翻黑就出場,用加權指數去回測,回測報告如下

kd綜合回測

如果回測五年,回測報告如下

kd綜合測五年

從回測數字來看,這個訊號雜訊雖多,但波段是掌握得住的