2016-07-01 11 views
6

में एकाधिक चार्ट श्रृंखला जोड़ना मैं आर में क्वांटमोड में एक chartSeries पर दो चार्ट प्लॉट करने की कोशिश कर रहा हूं। मुझे ऐसा करने में कुछ कठिनाई हो रही है।Quantmod 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() 

उत्तर

11

आप chartSeries के बजाय chart_Series इस्तेमाल कर सकते हैं।

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

और फिर आप एक उप पैनल में नीचे RSI चाहते हैं, तो बस add_RSI() जोड़ें।

एक और दृष्टिकोण संस्करण का उपयोग करने के लिए है> = xts की 0.10.0 (अर्थात बिल्कुल quantmod उपयोग न करें), जो आप https://github.com/joshuaulrich/xts से प्राप्त कर सकते हैं (0.10.0 क्रैन पर अभी तक नहीं है)। xts में नया xts ऑब्जेक्ट के एक से अधिक कॉलम प्लॉट करने के साथ बहुत ही अनुकूल है। नई कार्यक्षमता के उदाहरणों के लिए ?plot.xts देखें।

# 2 संपादित करें:

और अधिक आसानी से संबंधित परिवर्तनों को देखने के लिए, आप कई मायनों में अपने मूल्य श्रृंखला को सामान्य कर सकते हैं। यह है एक विशिष्ट दृष्टिकोण (एक 0 मूल का उपयोग कर क्या गूगल चार्ट करता है):

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

वहाँ ग्राफ को सामान्य बनाने के लिए एक रास्ता है? तो यह पूर्ण मूल्य डेटा पर नहीं है लेकिन चार्ट की तुलना करने के लिए स्केल किया गया – Defcon

+0

किस अर्थ में स्केल किया गया है? मुख्य चार्ट पर? आप सुरक्षा मूल्यों को शुरुआती मूल्य स्तर से विभाजित कर सकते हैं ताकि वे प्लॉटिंग से पहले 1 (कहें) शुरू कर सकें? – FXQuantTrader

+0

Google चार्ट के समान प्राप्त प्रतिशत से स्केल किया गया है जो अलग-अलग स्टॉक ओवरले कर सकता है। मैं आरएसआई पथ भी जोड़ना चाहता था इसलिए मैं रुझान देख सकता हूं। – Defcon