kdj指标计算程序代码

首先来看KDJ指标计算公式:
KDJ的计算比较复杂,首先要计算周期(n日、n周等)的RSV值,即未成熟随机指标值,然后再计算K值、D值、J值等。以n日KDJ数值的计算为例,其计算公式为
n日RSV=(Cn-Ln)/(Hn-Ln)×100
公式中,Cn为第n日收盘价;Ln为n日内的最低价;Hn为n日内的最高价,一般n取9。
其次,计算K值与D值:
当日K值=2/3×前一日K值+1/3×当日RSV
当日D值=2/3×前一日D值+1/3×当日K值
利用pandas ewm函数计算K、D值时,注意这里是1/3 × 当日RSV,因此pandas ewm函数参数,要用com,而不是span,com设置的是1/3,而span设置的是2/3。
J值=3*当日K值-2*当日D值
KDJ指标计算代码如下:

import tushare as ts
import pandas as pd
price = ts.get_k_data('300816', start = '2020-02-10', end = '2020-04-03', ktype = 'D')
price['rolling_high'] = price['high'].rolling(window = 9, min_periods = 1).max()
price['rolling_low'] = price['low'].rolling(window = 9, min_periods = 1).min()
price['fastk'] = (price['close'] - price['rolling_low']) / (price['rolling_high'] - price['rolling_low']) * 100
price['fastd'] = price['fastk'].ewm(com = 2, adjust = False).mean()
price['K'] = price['fastd']
price['D'] = price['K'].ewm(com = 2, adjust = False).mean()
price['J'] = 3 * price['K'] - 2 * price['D']

猜你喜欢

转载自blog.csdn.net/u012724887/article/details/105375800
今日推荐