指标说明

KDJ指标中文名叫随机指标,是一种相当新颖、实用的技术分析指标,它起先用于期货市场的分析,后被广泛用于股市的中短期趋势分析,是期货和股票市场上最常用的技术分析工具。

随机指标KDJ一般是用于股票分析的统计体系,根据统计学原理,通过一个特定的周期(常为9日、9周等)内出现过的最高价、最低价及最后一个计算周期的收盘价及这三者之间的比例关系,来计算最后一个计算周期的未成熟随机值RSV,然后根据平滑移动平均线的方法来计算K值、D值与J值,并绘成曲线图来研判股票走势。

KDJ计算公式

KDJ的计算比较复杂,首先要选择周期(n日、n周等),再计算当天的未成熟随机值(即RSV值),然后再计算K值、D值、J值等。

(1) RSV的计算公式为:

公式中,
C为当天的收盘价;
Ln为之前n日内的最低价;
Hn为之前n日内的最高价。
(2) 某一天的K值=2/3×前一日K值+1/3×当日RSV。

Ki和RSVi分别表示某一天当天的K值和RSV值;
Ki-1表示前一天的K值,若无前一天的K值,则用50来代替。
(3) 某一天当天的D值=2/3×前一日D值+1/3×当日K值。

Di和Ki分别表示当天的D值和K值;
Di-1表示前一天的D值,若无前一天的D值,则用50来代替。
(4) J值=3×当日K值-2×当日D值。

'''
作者:Leo
微信:470770753
名称:KDJ指标
参数:span1,span2,span3分别代表三个数据的计算跨度
说明:输出格式:[k ,d,j]
'''
class kdj(object):'''名称:KDJ指标参数:span1,span2,span3分别代表三个数据的计算跨度说明:输出格式:[k ,d,j]'''def __init__(self,span1,span2,span3):self._span1=span1self._span2 = span2self._span3 = span3self._ldatalist = []self._hdatalist = []self._rsvlist=[]self._kdj_k=[]self._kdj_d = []self._kdj_j = []self._kdj_k_list=[]@propertydef span1(self):return self._span1@propertydef span2(self):return self._span2@propertydef span3(self):return self._span3def cal_kdj(self,data,ldata,hdata):self._ldatalist.append(ldata)self._hdatalist.append(hdata)self._ldatalist=self._ldatalist[-self._span1:]self._hdatalist = self._hdatalist[-self._span1:]ldataresult=min(self._ldatalist)hdataresult = max(self._hdatalist)rsv = (data - ldataresult) / (hdataresult - ldataresult) * 100self._rsvlist.append(rsv)rsv_series=pd.Series(self._rsvlist)kdj_k_median=rsv_series.ewm(ignore_na=False, com=(self._span2-1), min_periods=0, adjust=False).mean()if int(kdj_k_median[-1:])>100:kdj_k_median[-1:]=100if int(kdj_k_median[-1:])<0:kdj_k_median[-1:]=0self._kdj_k=float(kdj_k_median[-1:])self._kdj_k_list.append(float(kdj_k_median[-1:]))kdj_k_series=pd.Series(self._kdj_k_list)kdj_dm=kdj_k_series.ewm(ignore_na=False, com=(self._span3-1), min_periods=0, adjust=False).mean()self._kdj_d=float(kdj_dm[-1:])self._kdj_jm=3*self._kdj_k-2*self._kdj_dif self._kdj_jm>100:self._kdj_j=100if self._kdj_jm<0:self._kdj_j=0self._kdj_j=self._kdj_jmreturn [self._kdj_k,self._kdj_d,self._kdj_j]

python实现KDJ指标模型 量化策略 python 策略开发相关推荐

  1. 国内股票KDJ指标计算,Python实现KDJ指标计算,Talib实现KDJ指标计算

    0 引言 KDJ指标是最为常见的指标之一,股票每日的K线数据通过Tushare.Baostock等平台能够获取到个股及指数的Open.High.Low.Close.Volume等数据,KDJ.MACD ...

  2. Python 计算KDJ指标

    def QH_KDJ_20(qh_higt,qh_low,qh_close,qh_fastk_period = 9,qh_slowk_period = 3,qh_fastd_period = 3):& ...

  3. python前端调用后端模型_【Python】【Flask】前端调用后端方法

    后端代码: @app.route("/test",methods=['POST','GET']) def test(): return "我是测试的" 前端代码 ...

  4. python对于一元线性回归模型_利用Python进行一元线性回归分析

    信管专业小白一枚,通过知乎来记录自己的学习旅程! 这段时间帮学长做了个东东,大体意思是通过09-13年的数值,估算出14年的数值来. 起初用Excel做成.后来想试试用Python做一下估算,也就趁机 ...

  5. python生成随机骨料模型代码_Abaqus Python脚本-3D随机球形骨料的生成

    hello,大家晚上好,今天是2020/11/30,周一晚上11点30.脚本时间 又是一个安静的晚上,一个人躲在房间里....写专栏.在脚本文集里,上次分享了一个关于脚本的工具,上上次分享了一个2D的 ...

  6. linux和python学哪个好一些-作为一个Python自学者,怎样学好Python?

    想学习Python? 加群:778570108? ?分享资源和在线课堂,专业教学. 对于有基础的更容易上手.可以根据计划进行学习,楼主是否有基础?不知道楼主进行到哪一步了.只要路线可以先把基础打好,后 ...

  7. Python量化:获取历史行情数据并计算KDJ指标

    KDJ指标又叫随机指标,是一种相当新颖.实用的技术分析指标,它起先用于期货市场的分析,后被广泛用于股市的中短期趋势分析,是期货和股票市场上最常用的技术分析工具. 随机指标KDJ一般是用于股票分析的统计 ...

  8. 【股票指标分析 KDJ】量化投资python实时计算KDJ以及MACD

    什么是KDJ指标? KDJ指标中文名叫随机指标,是一种相当新颖.实用的技术分析指标,它起先用于期货市场的分析,后被广泛用于股市的中短期趋势分析,是期货和股票市场上最常用的技术分析工具. 随机指标KDJ ...

  9. Python量化:计算KDJ指标

    计算n日kdj值 1 周期(n日.n周等)的RSV值 n日rsv = (Cn -Ln)/ (Hn-ln) x 100 rsv为未成熟随机指标值; Cn为第n日收盘价: Ln为n日内的最低价: Hn为n ...

最新文章

  1. opencv 1 图像载入、显示和输出
  2. 学习笔记 ACCESS 延迟注入
  3. python的nan,NaN,NAN
  4. WPF 3D基础学习 - 画布、相机、Model3D(1)
  5. win8下notepad++无法设置文件关联
  6. pythonjs设置_python dom操作
  7. Russell大师课+大厂专家倾授+5小时黑客松,上海临港人工智能开发者大会倒计时5天...
  8. malloc 和new 区别
  9. 四层负载均衡和七层负载均衡的区别
  10. vue 动态变量名_【告别复制粘贴】动态模板生成小技巧
  11. 图像处理-与,或等运算
  12. android studio打包h5,Android Studio打包生成APK教程
  13. 【学术】CCF推荐的A类、B类、C类中文科技期刊目录
  14. npm/cnpm install 报错 platform unsupported
  15. CodeMeter***大赛战况:百人参赛,无人摘金!
  16. Java包装类,异常,集合,多线程,反射,IO,String类,lambda表达式,File类
  17. s3cmd常用命令和使用技巧
  18. Java时间系列(JDK8)--Duration的使用
  19. 拉丁超立方抽样方法 LHS
  20. nico老是显示服务器升级,Nico会员服务条款

热门文章

  1. 机器学习面试1000题 1 - 255
  2. GP2Y0A21YK0F距离传感器输出特性分析及其使用(IIC总线与PCF8591AD转换)+Proteus仿真(附源码)
  3. 五十四、SAP中LVC表格每列的宽度自适应
  4. chome浏览器中,console报错却不显示错误
  5. 在Node js中实现任务调度与执行
  6. [渝粤教育] 天津师范大学 基础心理学 参考 资料
  7. 计算机辅助翻译 火云译客,翻译职业化时代国内计算机辅助翻译教材编写现状思考-山东外语教学.PDF...
  8. c#编写部署windows服务
  9. 迅为RK3568开发板Android11修改开机动画
  10. Codeforces Beta Round #7