Correlations among US Stocks: Is it really time to fire your adviser?

[This article was first published on Modern Toolmaking, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

Note: This post is NOT financial advice!  This is just a fun way to explore some of the capabilities R has for importing and manipulating data.

The Financial Times says it’s time to “Fire your Adviser” because correlations among US stocks are at their highest levels since the financial crisis.  Unfortunately, they only provide data going back 3 months and it’s in a boring table, rather than an awesome chart.  After reading this article, I immediately pulled out quantmod and PerfomanceAnalytics in R.  I used quantmod to download the daily data (from yahoo finance) for each index listed in the article, and then used PerformanceAnalytics to analyze and graph it. After and hour or so of fiddling around, I ended up with this chart:

Each line on this chart represents the rolling correlation between a major asset class and the S&P 500 (represented by SPY).  I used a 90-day window to calculate the correlations, so each point on each line is looking backwards at a 90-day timeframe.  As you can see, correlations have indeed gone up in the last few months, but there have been other periods in 2010 and 2011 with similarly high correlations.

This next chart looks at just the major US sectors, and takes the average of each of their correlations with SPY. This shows the overall correlation of the US stock market since 2007.  Again, things are highly correlated right now, but we’ve been here before.

Here is the code I used to generate these charts.  Feel free to comment on my implementation, and I’ll be happy to make any improvements and update the charts.

To leave a comment for the author, please follow the link and comment on their blog: Modern Toolmaking. offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

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)