У меня есть список с различными символами, для которых я хочу создать столбец и ранжировать определенный столбец относительно остальной части списка.рейтинг по столбцу списка
Например, у меня есть список x
, который содержит временные ряды SPY
и IWM
. для каждого элемента списка вычисляю rsi
. Затем я хочу создать новый столбец в каждом списке, который присваивает ранг наименьшему значению rsi
между SPY
и IWM
.
Я всегда получаю ранг 1, что не может быть правильным, поэтому в моем коде что-то не так. Как я уже сказал, мне нужен ранг rsi
.
library(quantmod)
stockData <- new.env()
symbols = c("IWM","SPY")
getSymbols(symbols, src='yahoo',from = "2016-10-01",to = Sys.Date())
x <- list()
for (i in 1:length(symbols)) {
x[[i]] <- get(symbols[i], pos=stockData) # get data from stockData environment
x[[i]]$rsi <-RSI(Cl(x[[i]]),14)
x[[i]]$rank <- NA
x[[i]]$rank<-apply(-x[[i]]$rsi,1,rank)
}
Параметр 'RSI' зависит от 14 отставали значения, это означает, что только после того, как 14 наблюдений, вы получите реальную RSI значение. Поэтому у вас будут значения «NA» для первых 14 наблюдений. Это будет возиться со званием. Вы хотите игнорировать первые 14 наблюдений при расчете ранга? –