欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 维修 > Python 实现股票指标计算——DKX

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

2025/9/25 17:40:22 来源:https://blog.csdn.net/myqijin/article/details/140689906  浏览:    关键词:Python 实现股票指标计算——DKX

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,数据格式如下:

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 = 0a = 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 周期移动平均线 MADKXmadkx = dkx.rolling(N).mean()# 将计算出的 DKX 和 MADKX 值添加到 DataFramedata['dkx'] = dkxdata['madkx'] = madkx# 返回包含所有计算出指标的 DataFramereturn data

4 注意事项

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

雪球无此指标

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词