Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

R quantmod: How to have two separate Y-scales?

Tags:

r

charts

quantmod

I want to plot a trading strategy against a currency pair. Of course the trading strategy has large values (>10'000, since 10'000 is the initial capital) and the currency pair hovers around 1.5. So I want to overlay the strategy over the same chart as the currency pair, but I need two different Y-scales.

How can I do that?
Like this both are in the same chart, however the strategy (Investment) isn't visible since it's way above the highest high of the currency pair.

And bonus question :-)
How can I subset the data from a specific date until today? like 2008 until now or something?

FXTimeSeries <- zoo(MergedSet$FXCloseRate,MergedSet$Date)
InvestmentTimeSeries <- zoo(matrix[,"Investment"], MergedSet$Date)
chartSeries(FXTimeSeries, theme="white", subset='2011-04::2013-06')
addTA(InvestmentTimeSeries,legend="Strategy", on=1)
like image 919
MichiZH Avatar asked Jun 19 '13 13:06

MichiZH


1 Answers

You can use xyplot.lattice and doubleYScale from latticeExtra.

library(latticeExtra)
library(zoo)
x.Date <- as.Date(paste(rep(2003:2004, each = 12), rep(1:12, 2), 1, sep = "-"))
x <- zoo(rnorm(24), x.Date)
obj1 <- xyplot(x)
y <- zoo(sample(10000:20000, 24),x.Date)
obj2 <- xyplot(y,col='red')
doubleYScale(obj1, obj2, add.axis = TRUE,style1 = 1, style2 = 1)

enter image description here

like image 90
agstudy Avatar answered Nov 15 '22 01:11

agstudy