一个指标有用、有效,它首先应该在经济学或统计学或数学原理上,具有很强的逻辑性。只有理解了指标的原理和逻辑,才能够正确地使用指标。
今天,本文通过数学模型分析KDJ指标的原理及改进方法。
从实操角度出发,本文主要探讨K值。
首先,我将股票的阶段走势分为以下三种情形。
情形一:阶段涨幅为正
股票阶段涨幅为正,是上涨趋势的必要条件,但不是充分条件。
图1 阶段涨幅为正
数学模式如上图所示。
C:表示当日的收盘价。
RC:表示阶段走势起点的收盘价。
HH:表示阶段走势的最高价。
LL:表示阶段走势的最低价。
图1中,四者的关系:LL<RC<C<HH。
传统KDJ中的K值,我命名为K0。我自定义的K值,命名为K1。
两者的计算方法如下:
K0=(C-LL)÷(HH-LL)×100
K1=(C-RC)÷(HH-LL)×100
由于(C-LL)总是大于等于(C-RC),所以始终有关系式:
K0≥K1
在情形一中,有以下关系式:
K0>K1>0
从上述计算过程可看出,K0的计算只包含3个变量,而K1的计算包含4个变量。
在图1中,K0、K1越大,上涨趋势越显著。
K1大,K0必定更大;K0大,K1不一定大。
因此,K0是多余指标,只使用K1就可以判定情形1。
比如,我可以设定如下判断条件:
K1>70
情形二:阶段涨幅为负
图2 阶段涨幅为负
数学模式如上图所示。
图2中,四者的关系:LL<C<RC<HH。
K0=(C-LL)÷(HH-LL)×100
K1=(C-RC)÷(HH-LL)×100
从上述计算公式可知,K0的取值范围为0~100,K1的取值范围为-100~100。
此时,(C-LL)>0>(C-RC),因此有以下关系式:
K1<0<K0
对K0来说,可能会存在这样一个问题:情形一、情形二的K0值有时会相等。如下图所示。
图3 案例:K0值相同、K1值不同
K0的计算只包含3个变量,图3中黑色折线、红色折线的HH、LL、C值相同,则K0值必然相等。
但对K1值来说,黑色折线K1<0,红色折线K1>0。
数值不同,对应的趋势状态也应不同。从此点而言,明显K1比K0的指示意义更佳。
由上可知,对情形二,可使用以下判定条件:
K1<0
情形三:阶段涨幅为0
图4 阶段涨幅为0
数学模式如上图黑色、红色折线图所示。
由于RC=C,黑色、红色折线的阶段涨幅相同,都为0。
然而,红色折线示意的走势为V型底,一般为买入信号。
黑色折线示意的走势为倒V型顶,一般为卖出信号。
在黑色折线示意的走势(倒V型顶)中,LL=RC=C<HH,因此:
K0=(C-LL)÷(HH-LL)×100=0
K1=(C-RC)÷(HH-LL)×100=0
即,
K0=K1=0
在红色折线示意的走势(V型底)中,LL<RC=C=HH,因此:
K0=(C-LL)÷(HH-LL)×100=100
K1=(C-RC)÷(HH-LL)×100=0
两相比较,看起来好像使用K0比K1要更好些。
但是,一定不要忘了之前情形二讨论过的问题。
在情形一中,当C=HH时,K0=100,这与情形三中的V型底形态出现混同。
因此,对情形三中的两种类型,理论上应该K0、K1结合使用进行判断。
请注意,情形三是理论模型。在实际操作中,C与RC有时只差几分钱,可认为也属于情形三。
从数学角度而言,情形三是C无限接近于RC的情形一、二的特例。
基于实际操作,综合上述分析,我们可以用以下条件判断股票的趋势、形态:
(1)上升趋势:K1>70
(2)下降趋势:K1<0,K0<30
以上数值,你可以根据自己的需要或意愿进行调整。
第(2)条,实际上只使用K1值就可以了。加K0值,主要是考虑到那些融券做空的投资者。
对多数做多为主的投资者而言,只关注第(1)条就可以了。
以下为利用【KK趋势】筛选出的部分股票:
仅以国际实业(000159)为例,展示选股效果:
我的指标【KK趋势】代码如下:
-------------------------------
{公式名称:kk趋势}
{公式类型:趋势类}
{画图方法:副图}
{p:0,1000,40}
rcp:=ref(close,p-1);
k0:100*(close-llv(low,p))/(hhv(high,p)-llv(low,p));
k1:100*(c-rcp)/(hhv(high,p)-llv(low,p));
多:k1>70,nodraw;
空:k1<0 and k0<30,nodraw;
公式编辑器界面如下:
以上代码,只要复制粘贴到通达信的【公式管理器】,就可以很快创建好了。
【导入公式】的方法,详见这篇文章:通达信如何导入公式。
最后,留给大家思考两个问题:
两个K值的使用,是否存在局限性?如何继续改进?
如何利用K值,找出V型底形态的股票?