Python 实现股票指标计算——DKX

Python 实现股票指标计算——DKXDKX 多空线

大家好,欢迎来到IT知识分享网。

DKX – 多空线

1 公式

MID:=(3*CLOSE+LOW+OPEN+HIGH)/6;

DKX:(20*MID)+19*REF(MID,1)+18*REF(MID,2)+17*REF(MID,3)+

16*REF(MID,4)+15*REF(MID,5)+14*REF(MID,6)+

13*REF(MID,7)+12*REF(MID,8)+11*REF(MID,9)+

10*REF(MID,10)+9*REF(MID,11)+8*REF(MID,12)+

7*REF(MID,13)+6*REF(MID,14)+5*REF(MID,15)+

4*REF(MID,16)+3*REF(MID,17)+2*REF(MID,18)+REF(MID,20)/210;

MADKX:MA(DKX,M);

2 数据准备

我们以科创50指数 000688 为例,指数开始日期为2019-12-31,数据格式如下:

Python 实现股票指标计算——DKX

3 计算过程

def calculate_dkx(df: pd.DataFrame, N=10): """ 计算 DKX 指标及其移动平均线 MADKX。 参数: df (pd.DataFrame): 包含至少 'open', 'high', 'low', 'close' 列的 DataFrame, 分别代表每日开盘价、最高价、最低价和收盘价。 N (int): 用于计算 MADKX 的时间窗口大小,默认为10。 返回: pd.DataFrame: 包含原始数据及计算出的DKX和MADKX值的 DataFrame。 """ # 创建一个df的副本以避免修改原始数据 data = df.copy() # 计算中间价 (Mid-price),这里是采用收盘价、开盘价、最高价和最低价的加权平均 mid = (3*data['close'] + data['high'] + data['low'] + data['open']) / 6 # 初始化 DKX 指标 dkx = 0 a = 0 # 计算 DKX 指标 # 这里使用了一个循环来计算最近20天的加权平均 for i in range(1, 21): a += i # 累加权重 tmp = mid.shift(i-1) * (21 - i) # 计算加权项 dkx += tmp # 累加加权项 # 计算最终的 DKX 指标值 dkx = dkx / a # 计算 DKX 指标的 N 周期移动平均线 MADKX madkx = dkx.rolling(N).mean() # 将计算出的 DKX 和 MADKX 值添加到 DataFrame data['dkx'] = dkx data['madkx'] = madkx # 返回包含所有计算出指标的 DataFrame return data

4 注意事项

参数N=10时,计算结果与东方财富软件中一致

雪球无此指标

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/127324.html

(0)
上一篇 2025-09-11 22:26
下一篇 2025-09-11 22:45

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信