2016-03-20 14 views
1

Hisse senedi simgelerinin bir listesiyle döngü yapmak ve chartSeries ile yazdırmak istiyorum. Her zaman argümanı değiştirmekten daha kolay olurdu. İştexmodible nesnesi, quantmod içinde döngü

Error in try.xts(x, error = "chartSeries requires an xtsible object"): 
    chartSeries requires an xtsible object 

hata üretir kod:

library(quantmod) 
stocks <- c("FIS", "AXP", "AVB") 
symbols <- (getSymbols(stocks, src='yahoo')) 
for (i in symbols){ 
    chartSeries(i, theme="white", 
     TA="addVo();addBBands();addCCI();addSMA(20, col='blue'); 
     addSMA(5, col='red');addSMA(50, col='black')", subset='last 30 days')  
} 

yoksa yalnızca:

chartSeries(symbols[1], theme="white", 
     TA="addVo();addBBands();addCCI();addSMA(20, col='blue'); 
     addSMA(5, col='red');addSMA(50, col='black')", subset='last 30 days') 

cevap

0

symbols bir olduğunu ben döngü veya alt kümesi istediğinizde Ne yazık ki hep, bir hata alıyorum karakter vektörü. Bu xts nesnelerinin bir listesi değil. Bir karakter vektöründe chartSeries aranması hataya neden olur.

R> chartSeries("OOPS") 
Error in try.xts(x, error = "chartSeries requires an xtsible object") : 
    chartSeries requires an xtsible object 

bir çözüm sonra bir ortama İndirilen tüm verileri koymak ortamda her nesne üzerinde chartSeries aramak.

library(quantmod) 
stocks <- c("FIS", "AXP", "AVB") 
stockEnv <- new.env() 
symbols <- getSymbols(stocks, src='yahoo', env=stockEnv) 
for (stock in ls(stockEnv)){ 
    chartSeries(stockEnv[[stock]], theme="white", name=stock, 
     TA="addVo();addBBands();addCCI();addSMA(20, col='blue'); 
     addSMA(5, col='red');addSMA(50, col='black')", subset='last 30 days')  
}