python实现KDJ指标模型 量化策略 python 策略开发
指标说明
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 策略开发相关推荐
- 国内股票KDJ指标计算,Python实现KDJ指标计算,Talib实现KDJ指标计算
0 引言 KDJ指标是最为常见的指标之一,股票每日的K线数据通过Tushare.Baostock等平台能够获取到个股及指数的Open.High.Low.Close.Volume等数据,KDJ.MACD ...
- Python 计算KDJ指标
def QH_KDJ_20(qh_higt,qh_low,qh_close,qh_fastk_period = 9,qh_slowk_period = 3,qh_fastd_period = 3):& ...
- python前端调用后端模型_【Python】【Flask】前端调用后端方法
后端代码: @app.route("/test",methods=['POST','GET']) def test(): return "我是测试的" 前端代码 ...
- python对于一元线性回归模型_利用Python进行一元线性回归分析
信管专业小白一枚,通过知乎来记录自己的学习旅程! 这段时间帮学长做了个东东,大体意思是通过09-13年的数值,估算出14年的数值来. 起初用Excel做成.后来想试试用Python做一下估算,也就趁机 ...
- python生成随机骨料模型代码_Abaqus Python脚本-3D随机球形骨料的生成
hello,大家晚上好,今天是2020/11/30,周一晚上11点30.脚本时间 又是一个安静的晚上,一个人躲在房间里....写专栏.在脚本文集里,上次分享了一个关于脚本的工具,上上次分享了一个2D的 ...
- linux和python学哪个好一些-作为一个Python自学者,怎样学好Python?
想学习Python? 加群:778570108? ?分享资源和在线课堂,专业教学. 对于有基础的更容易上手.可以根据计划进行学习,楼主是否有基础?不知道楼主进行到哪一步了.只要路线可以先把基础打好,后 ...
- Python量化:获取历史行情数据并计算KDJ指标
KDJ指标又叫随机指标,是一种相当新颖.实用的技术分析指标,它起先用于期货市场的分析,后被广泛用于股市的中短期趋势分析,是期货和股票市场上最常用的技术分析工具. 随机指标KDJ一般是用于股票分析的统计 ...
- 【股票指标分析 KDJ】量化投资python实时计算KDJ以及MACD
什么是KDJ指标? KDJ指标中文名叫随机指标,是一种相当新颖.实用的技术分析指标,它起先用于期货市场的分析,后被广泛用于股市的中短期趋势分析,是期货和股票市场上最常用的技术分析工具. 随机指标KDJ ...
- Python量化:计算KDJ指标
计算n日kdj值 1 周期(n日.n周等)的RSV值 n日rsv = (Cn -Ln)/ (Hn-ln) x 100 rsv为未成熟随机指标值; Cn为第n日收盘价: Ln为n日内的最低价: Hn为n ...
最新文章
- opencv 1 图像载入、显示和输出
- 学习笔记 ACCESS 延迟注入
- python的nan,NaN,NAN
- WPF 3D基础学习 - 画布、相机、Model3D(1)
- win8下notepad++无法设置文件关联
- pythonjs设置_python dom操作
- Russell大师课+大厂专家倾授+5小时黑客松,上海临港人工智能开发者大会倒计时5天...
- malloc 和new 区别
- 四层负载均衡和七层负载均衡的区别
- vue 动态变量名_【告别复制粘贴】动态模板生成小技巧
- 图像处理-与,或等运算
- android studio打包h5,Android Studio打包生成APK教程
- 【学术】CCF推荐的A类、B类、C类中文科技期刊目录
- npm/cnpm install 报错 platform unsupported
- CodeMeter***大赛战况:百人参赛,无人摘金!
- Java包装类,异常,集合,多线程,反射,IO,String类,lambda表达式,File类
- s3cmd常用命令和使用技巧
- Java时间系列(JDK8)--Duration的使用
- 拉丁超立方抽样方法 LHS
- nico老是显示服务器升级,Nico会员服务条款
热门文章
- 机器学习面试1000题 1 - 255
- GP2Y0A21YK0F距离传感器输出特性分析及其使用(IIC总线与PCF8591AD转换)+Proteus仿真(附源码)
- 五十四、SAP中LVC表格每列的宽度自适应
- chome浏览器中,console报错却不显示错误
- 在Node js中实现任务调度与执行
- [渝粤教育] 天津师范大学 基础心理学 参考 资料
- 计算机辅助翻译 火云译客,翻译职业化时代国内计算机辅助翻译教材编写现状思考-山东外语教学.PDF...
- c#编写部署windows服务
- 迅为RK3568开发板Android11修改开机动画
- Codeforces Beta Round #7