RSI计算公式
RSI = 100 – 100 / ( 1 + RS )
RS = Relative Strength = AvgU / AvgD
AvgU = 在最后N个bar里所有向上移动(涨了多少)的平均值
AvgD = 在最后N个bar里所有向下移动(跌了多少)的平均值
N = RSI周期
- 有3中种常用的计算AvgU 、 AvgD的方法
RSI手把手计算
计算 up moves(涨了多少 和 down moves(跌了多少) (get U and D)
计算 Relative Strength (get RS)
计算 Relative Strength Index (get RSI)
Step 1: 计算 Up Moves 和 Down Moves
我们会以14天为一个period来做参考,14天是最常用的参数。
要计算RSI,你需要最近15天的收盘价(closing prices)。(如果是10天为一个周期的话,你需要最近11天的收盘价)。
咱开始计算最近14天的up moves 和 down moves。
首先,计算每个bar之间的差值:Chng = Closet – Closet-1
也就是当天的收盘价 - 前一天的收盘价
每个bar中,up move (U) 等于:
Closet – Closet-1,如果价格变动是正数的话
0,如果价格变动是负数或0的话。
Down move (D) 等于:
Closet – Closet-1 的绝对值,如果价格变动是负数的话
0,如果价格变动是正数或0的话。
现在,你已经有了RSI公式的输入,也就是最近N天的增长或下降(N是RSI周期)。
下一步就是求平均
Step2: 平均 上涨和下跌
有3个常用的方法。每个计算up 、 down moves的方式都不同:
Simple Moving Average
这是最直接的方法:
AvgU = 把最近N个bars里的所有的up move(U)相加,然后除以N
AvgD = 把最近N个bars里的所有的down move(D)相加,然后除以N
Exponential Moving Average
这方法跟上面的方法是一样的,只是用EMA来算。EMA周期就是RSI周期。公式如下:
AvgUt = α Ut + ( 1 – α ) AvgUt-1
AvgDt = α Dt + ( 1 – α ) AvgDt-1
α = 2 / ( N + 1 )
Wilder’s Smoothing Method
J. Welles Wilder是RSI的发明者。这方法跟Exponential Moving Average的逻辑是一样的,只是 α 不同:
α = 1 / N
所以,1 – α = ( N – 1 ) / N
比如,计算RSI 14的 average up move:
AvgUt = 1/14 Ut + 13/14 AvgUt-1
Step 3: 计算Relative Strength
现在最近14天的AvgU,AvgD都有了,下一步就是要计算Relative Strength,也就是计算AvgU 和 AvgD的比
RS = AvgU / AvgD
Step 4: 计算 Relative Strength Index (RSI)
最后,我们知道Relative Strength,就可以计算RSI了。
Step 4: Calculating the Relative Strength Index (RSI)
RSI = 100 – 100 / ( 1 + RS)
- 最低的 RSI
什么情况下RSI的值最低呢?完全的熊市~。
想象下,每天的收盘价都会低于前一天的收盘价。这将没有up的天数,最近N天的所有的U会是0.
AvgU会是0。
另一方面,AvgD会是某个正数
Relative Strength会是0,因为是 0除以某个正数,所以是0
RSI也是0:
RSI = 100 – 100 / ( 1 + 0 ) = 100 – 100 = 0
- 最高RSI
和上面的特殊情况相反咯,就是每天都涨涨涨,超级牛市
AvgD 会是0, AvgU 是某个正数. RS会是某个正数除以0。但是数学上,这是非法的。所以这种特殊情况会定义RSI为100。
如果 AvgD不是0,是一个非常小的数。RS会接近正无穷,RSI会非常靠近0。
RSI = 100 – 100 / ( 1 + a big number ) = 100 – 0 = 100
总结
3种方法会给我们3种不同的结果。交易员看你自己的喜好而定,但是一般选用了某种方法,就统一用那种方法好了。