2016-07-01 15 views
6

Bir çizelgede chartSeries'da iki grafik çizmek istiyorum. Bunu yapmakta zorluk çekiyorum.Quantmod R'de Çoklu Grafik Dizisi Ekleme R

library(quantmod)  
tickers <- c('GLD', 'GDX') 
data <- new.env() 
getSymbols(tickers, src = 'yahoo', from = '1980-01-01', env = data) 
chartSeries(Cl(data$GLD), TA="addTA(Cl(data$GDX), on=1)") 
addRSI() 

cevap

11

yerine chartSeries ait chart_Series kullanabilirsiniz.

chart_Series(Cl(data$GLD)) 
add_TA(Cl(data$GDX), on = 1) 

Ve Bir alt panelinde aşağıda RSI istiyorsanız o zaman, sadece add_RSI() ekleyin.

diğer yaklaşım sürümünü kullanmaktır> = xts ait 0.10.0 (yani hiç quantmod kullanmayın), sen https://github.com/joshuaulrich/xts dan alabileceğiniz (0.10.0 CRAN henüz değil). xts'daki yeni plot işlevi, bir kerede bir xts nesnesinin birden çok sütununu çizmek için çok kullanışlıdır. Yeni işlevsellik örnekleri için ?plot.xts'a bakın.

Düzenleme # 2:

daha kolay göreceli değişiklikleri görmek için, birçok şekilde fiyat serilerini normalize olabilir. Bu tipik bir yaklaşım (0 kökeni kullanarak Google çizelgeleri yaptığı iştir) olduğu: grafiği normalleştirmek için bir yol

normalise_series <- function(xdat) xdat/coredata(xdat)[1] 
getSymbols("USO") 
window <- "2013/" 

# Define colour of default chart line to chart_Series in mytheme object 
# which is passed to chart_Series: 
mytheme <- chart_theme() 
mytheme$col$line.col <- "darkgreen" 
chart_Series(normalise_series(Cl(data$GLD)[window]) - 1, theme = mytheme) 
add_TA(normalise_series(Cl(data$GDX)[window]) - 1, on = 1, col = "red", lty = 3) 
add_TA(normalise_series(Cl(USO)[window]) - 1, on = 1, col = "blue", lty =2) 

add_TA(RSI(Cl(data$GLD)), on = NA, col = "darkgreen") 
add_TA(RSI(Cl(data$GDX)), on = 2, col = "red", lty = 3) 
# Or add RSIs on different subpanels to improve readability of charts: 
add_TA(RSI(Cl(USO)), on = NA, col = "blue", lty = 2) 

enter image description here

+0

var mı? Bu yüzden mutlak fiyat verisi üzerinde değil ama grafikleri karşılaştırmak için ölçeklendirilmiş – Defcon

+0

Hangi anlamda ölçeklendirilmiş? Ana grafikte mi? Güvenlik fiyatlarını ilk fiyat seviyesine bölebilirsiniz, böylece her ikisi de çizmeden önce 1 (diyelim) den başlar. – FXQuantTrader

+0

Farklı stokların yerleştirilebileceği Google grafiğine benzer şekilde kazanılan yüzde ile ölçeklendirildi. Ben de rsi yollarını eklemek istedim, böylece trendleri görebiliyorum. – Defcon