|
|
通达信公式
LOWV:=LLV(LOW,N);
HIGHV:=HHV(HIGH,N);
RSV:=EMA((CLOSE-LOWV)/(HIGHV-LOWV)*100,M);
K:EMA(RSV,M);
D:MA(K,M);
其中N=9,M=3
python实现
import talib as ta
def skdj(close,high,low):
low_min = low.rolling(9).min()
high_max = high.rolling(9).max()
rsv = ta.EMA((close - low_min) / (high_max - low_min) * 100, timeperiod=3)
# 计算慢速K、D线(二次平滑)
k = ta.EMA(rsv, timeperiod=3) # 对K值进行3日平均
d = ta.MA(k, timeperiod=3) # 对D值进行3日平均
return pd.DataFrame(k, columns=['k']), pd.DataFrame(d, columns=['d']) |
|