[R] inbuilt crossover function for backtesting
Joshua Ulrich
josh.m.ulrich at gmail.com
Mon Aug 10 20:17:28 CEST 2015
On Mon, Aug 10, 2015 at 11:02 AM, boredstoog via R-help
<r-help at 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 at 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
More information about the R-help
mailing list