Here you will find daily news and tutorials about R, contributed by over 573 bloggers.
There are many ways to follow us - By e-mail:On Facebook: If you are an R blogger yourself you are invited to add your own R content feed to this site (Non-English R bloggers should add themselves- here)

Choose a time window (i.e. 25 weeks) and for each window, linearly regress the subset of closing values

Choose an investment strategy based on the residuals, the running average of slope coefficients, or the running average of correlation with data points

The idea is quite simple, and so far, from Timely Portfolio’s post, it looks like the drawdown is behaving nicely.

It seems like the idea could be extended to a non-linear method. The residuals are getting larger and larger, and this indicates that linear methods are less reliable as time goes by.

# code from Timely Portfolio
# http://timelyportfolio.blogspot.ca/2011/08/unrequited-lm-love.html
require(PerformanceAnalytics)
require(quantmod)
getSymbols("^GSPC",from="1896-01-01",to=Sys.Date())
GSPC <- to.weekly(GSPC)[,4]
width = 25
for (i in (width+1):NROW(GSPC)) {
linmod <- lm(GSPC[((i-width):i),1]~index(GSPC[((i-width):i)]))
ifelse(i==width+1,signal <- coredata(linmod$residuals[length(linmod$residuals)]),
signal <- rbind(signal,coredata(linmod$residuals[length(linmod$residuals)])))
}
signal <- as.xts(signal,order.by=index(GSPC[(width+1):NROW(GSPC)]))
plot(signal, main="Residuals through time")
plot(log(signal), main="Log of Residuals through time")

Related

To leave a comment for the author, please follow the link and comment on their blog: DataPunks.com » R.