私は列を作成し、残りのリストを基準にして特定の列をランク付けするためのさまざまなシンボルのリストを持っています。リストの列を横切ってランク付け
たとえば、SPY
とIWM
の時系列を含むリストx
があります。各リスト項目について、私はrsi
を計算します。次に、各リストに、SPY
とIWM
の間の最小のrsi
値にランクを割り当てる新しい列を作成したいとします。
私は常に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の観測した後、あなたは実際のRSI値を取得することを意味している、14の遅れの値に依存します。したがって、最初の14回の観測には「NA」値があります。これは、ランクと混乱します。ランクを計算する際の最初の14回の観察を無視しますか? –