在R中计算的RSI
与我在雅虎财经中看到的不同。雅虎财经文档称,它使用的是SMA
和close
。我在R中做了同样的事情,但是值不匹配。我不确定该相信哪一个。我尝试了close和Adjusted close。
library(quantmod)
getSymbols("AAPL", from = '2021-05-01', to = '2021-06-16')
price <- Cl(AAPL) #Close Price
RSI(price, SMA, n = 5)
R RSI(5,Close)的输出:
雅虎财经:
AdjClose <- Ad(AAPL) # Adjusted close
RSI(AdjClose, SMA, n = 5)
发布于 2021-06-17 16:11:45
RSI计算使用EMA,而不是SMA。不知道你从哪里得到雅虎的描述,但如果它说它使用sma,它是不正确的。rsi的向上和向下计算是典型的ema计算。大多数软件包/软件都使用Wilder的平滑,但也有少数不使用。默认情况下,quantmod在RSI计算中使用Wilder平滑。但是,如果在RSI函数中指定EMA而不指定wilder = TRUE
,则不会执行平滑操作。
要获得与yahoo相同的数据,您需要使用quantmond (TTR)的基本RSI函数。
tail(RSI(price, n = 5))
rsi
2021-06-08 63.28863
2021-06-09 66.53765
2021-06-10 51.60627
2021-06-11 63.91243
2021-06-14 79.97755
2021-06-15 69.58576
或者,如果您想填写所有详细信息:
tail(RSI(price, EMA, n = 5, wilder = TRUE))
rsi
2021-06-08 63.28863
2021-06-09 66.53765
2021-06-10 51.60627
2021-06-11 63.91243
2021-06-14 79.97755
2021-06-15 69.58576
https://stackoverflow.com/questions/68012162
复制相似问题