A thought on Linear Models on Stocks

April 16, 2012

(This article was first published on DataPunks.com » R, and kindly contributed to R-bloggers)

Timely Portfolio has a nice post about linear models sytems for stock.

The idea follows from the steps below:

  • Get the weekly closing values of the S&P 500.
  • 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
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")

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

R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...

If you got this far, why not subscribe for updates from the site? Choose your flavor: e-mail, twitter, RSS, or facebook...

Comments are closed.


Never miss an update!
Subscribe to R-bloggers to receive
e-mails with the latest R posts.
(You will not see this message again.)

Click here to close (This popup will not appear again)