On Mon, Aug 10, 2015 at 11:02 AM, boredstoog via R-help <r-help@r-project.org> wrote: > Thanks Joshua for the quick reply to the mail and once more sorry for > bothering with another doubt. So i have modified your code :) for > backtesting and this is the code > > * > library(quantmod) > library(tseries) > require(quantstrat) > library(PerformanceAnalytics) > sym <- get(getSymbols('SPY'))["2013::"] > sym$sma10 <- SMA(Cl(sym),10) > sym$sma30 <- SMA(Cl(sym),30) > buy <- sigCrossover("buy", SPY, c("sma10","sma30"), "gt") > sell <- sigCrossover("sell", SPY, c("sma30","sma10"), "lt") > if (buy==TRUE){ > sym$pos<-1 > } else if (sell==TRUE){ > sym$pos<--1 > } > myReturn <- lag(sym$pos) * dailyReturn(sym) > charts.PerformanceSummary(cbind(dailyReturn(sym),myReturn))* > > > But the above code is returing this error > > *Error in if (buy == TRUE) { : missing value where TRUE/FALSE needed > In addition: Warning message: > In if (buy == TRUE) { : > the condition has length > 1 and only the first element will be used >> myReturn <- lag(sym$pos) * dailyReturn(sym) > Error in hasTsp(x) : attempt to set an attribute on NULL >> charts.PerformanceSummary(cbind(dailyReturn(sym),myReturn)) > Warning message: > In to_period(xx, period = on.opts[[period]], ...) : > missing values removed from data* > > Any idea what is hapennning > There are several errors in your code. Rather than enumerate them and show you how to fix each one; I suggest you simply use quantstrat as it was intended, rather than attempt to circumvent/re-invent it.
See demo('macd') and modify the demo source code to suit your purposes. > > > -- > View this message in context: > http://r.789695.n4.nabble.com/inbuilt-crossover-function-for-backtesting-tp4710918p4710949.html > Sent from the R help mailing list archive at Nabble.com. > > ______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. -- Joshua Ulrich | about.me/joshuaulrich FOSS Trading | www.fosstrading.com ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.