risdata = pd.concat([price, clprcChange, upPrc, downPrc], axis=1)
risdata.columns = [‘price’, ‘PrcChange’, ‘upPrc’, ‘downPrc’]
risdata = risdata.dropna()
SMUP = []
SMDOWN = []
for i in range(period, len(upPrc) + 1):
SMUP.append(np.mean(upPrc.values[(i - period): i], dtype=np.float32))
SMDOWN.append(np.mean(downPrc.values[(i - period): i], dtype=np.float32))
rsi = [100 * SMUP[i] / (SMUP[i] + SMDOWN[i]) for i in range(0, len(SMUP))]
indexRsi = indexprc[(period - 1):]
rsi = pd.Series(rsi, index=indexRsi)
return rsi
韦尔斯·威尔德(Wells Wilder)指出,通过运用月周期28天的一半来计算RSI的值进行预测是有效的,他推荐14日为时间跨度。
一些常用的看盘软件设有6日RSI,12日RSI,24日RSI三个RSI指标。
-
6日近似一周的时间周期
-
12日近似半个月的时间周期
-
24日近似一个月的时间周期
-
此外也有人用RSI1表示6日相对强度指标,RSI2日表示12日相对强度指标,RSI3表示24日相对强度指标。
========================================================================