def rsi_f(df, n, field = 'close'):
RSI_key = 'RSI%s' % str(n)
dx = df[field][-1] - df[field][-2]
alpha = 1.0/n
if dx > 0:
upx = dx
dnx = 0
else:
upx = 0
dnx = -dx
udi = df[RSI_key + '_UP'][-1] = df[RSI_key + '_UP'][-2] * (1 - alpha) + upx * alpha
ddi = df[RSI_key + '_DN'][-1] = df[RSI_key + '_DN'][-2] * (1 - alpha) + dnx * alpha
df[RSI_key][-1] = udi/(udi + ddi) * 100.0
#True Strength Index
评论列表
文章目录