博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【一次认识一个市场技术指标】之KDJ(随机指标)
阅读量:2051 次
发布时间:2019-04-28

本文共 1654 字,大约阅读时间需要 5 分钟。

点上方蓝字关注,开启量化学习之旅~

一次认识一个市场技术指标

  每次只需花费五分钟左右即可了解金融衍生品市场中一个常用的技术指标,包括这个技术指标的作用、计算方法、实际应用以及代码实现,以便以后再次遇到这个指标不会再陌生。

指标介绍

(螺纹rb2001)

KDJ称为随机指标(KDJ Index)。它是由George Lane(乔治 莱恩)首创,KDJ指标最早用于期货市场的分析,现在常用于股市的中短期趋势分析以及超买超卖判断,是期货和股票市场中最常用的技术指标之一。它在计算的时候,主要是研究最高价、最低价以及收盘价之间的关系,同时也结合了动量观念、强弱指标以及移动平均的特点,所以可以更加全面地判断当前行情。

KDJ指标由三根线组成(如上图所示),其中移动速度最快的是J线其次是K线最慢的是D线。具体的计算原理可以参考后面的计算方式。

KDJ指标在应用时,主要是从K、D、J值三者的大小或者是三条曲线之间的关系进行行情的判断。

一般情况下,如果K、D、J值都大于50时,则为多头市场,后期看涨;反之,K、D、J值都小于50时,为空头市场,后期看跌。但是当KDJ值大于或者小于一定范围时,容易出现钝化的现象,也就是变化不明显,所以也需要结合其他指标进行分析。

或者从三条曲线的关系上,当多头情况下,J线大于K线,K线大于D线并出现交叉(金叉)时,意味着上涨趋势,此时的信号类似双均线策略原理,是一种买入信号;相反,空头情况下,则意味着下跌趋势,是一种卖出信号。

计算方式

KDJ指标在计算时,需要先计算N周期的RSV值(未成熟随机指标),然后再计算K、D、J值:

其中,Close(N)、Low(N)、High(N)分别代表了第N日的收盘价,N日内的最低价和最高价,得到的RSV就是当前的未成熟随机值RSV(t)。
接着,计算K值和D值以及J值:

如果前一日的K、D值没有,可以用50来代替。

通常情况下,N的取值一般是9,K值和D值计算时的权重是2/3和1/3,这个也可以进行调整。

代码实现

python代码实现:

import numpy as npimport pandas as pddef cal_KDJ(close, low, high, N=9, M1=3, M2=3):    datalen=len(close)    kdj_list=[]    for i in range(datalen):        if i-N<0:            kdj_list.append(None)        else:            # 计算RSV            c = close[i]            l = min(low[i-N:i])            h = max(high[i-N:i])            rsv = ((c - l) / (h - l))*100            if i - N == 0:                k_ = 50                d_ = 50            k = (2/M1)*k_ + (1/M1)*rsv            d = (2/M2)*d_ + (1/M2)*k            j = 3*k - 2*d            kdj_list.append((k,d,j))            k_ = k            d_ = d    return kdj_listif __name__ == '__main__':    df = pd.read_csv('./000001.csv')    KDJ = cal_KDJ(df['Close'], df['Low'], df['High'])    print(KDJ)

「 往期文章 」

了解更多人工智能与

量化金融知识

<-请扫码关注

让我知道你在看

转载地址:http://qwklf.baihongyu.com/

你可能感兴趣的文章
【Pyton】【小甲鱼】魔法方法
查看>>
单元测试需要具备的技能和4大阶段的学习
查看>>
【Loadrunner】【浙江移动项目手写代码】代码备份
查看>>
Python几种并发实现方案的性能比较
查看>>
[Jmeter]jmeter之脚本录制与回放,优化(windows下的jmeter)
查看>>
Jmeter之正则
查看>>
【JMeter】1.9上考试jmeter测试调试
查看>>
【虫师】【selenium】参数化
查看>>
【JMeter】如何用JMeter进行压力测试
查看>>
【Python练习】文件引用用户名密码登录系统
查看>>
学习网站汇总
查看>>
【Python】用Python打开csv和xml文件
查看>>
【Loadrunner】性能测试报告实战
查看>>
【面试】一份自我介绍模板
查看>>
【自动化测试】自动化测试需要了解的的一些事情。
查看>>
【selenium】selenium ide的安装过程
查看>>
【手机自动化测试】monkey测试
查看>>
【英语】软件开发常用英语词汇
查看>>
Fiddler 抓包工具总结
查看>>
【雅思】雅思需要购买和准备的学习资料
查看>>