Historical Data Analysis of US Equities and Treasury Yields
The skills the author demoed here can be learned through taking Data Science with Machine Learning bootcamp with NYC Data Science Academy.
This R Shiny app can be viewed here: https://davidlevy310.shinyapps.io/rates_sectorperformance/,
with the full code listed on my GitHub.
Purpose
The purpose of this app is to provide a data visualization and manipulation tool for users to explore performance as well as the historical relationship between US Equity and US Bond markets. As both markets are heavily intertwined, I thought it would be helpful for investors and academics alike to be able to take a closer look at the last 20 years of financial data.
In a typical bond market, the annual yield (or income returned) on long-term bonds is greater than the yields on short-term bonds. With longer-term bonds, investors expect to be compensated for the risk that comes with holding through various interest rate cycles and business climates. Thus, they receive more yield. Likewise, investors who buy shorter-term treasuries expect and accept a lower yield.
While this is usually the case, it is not always the case. This topic has been especially top of mind for investors in recent months as the yield curve inverted in December 2018 for the first time in over a decade. This is interesting to note as yield curve inversion has been a telling signal and predecessor to many recessions in the history of US markets.
**Past performance is not indicative of future results**
Data
For US Equity data, I pulled historical prices for nine S&P500 sector ETF’s included from Yahoo! Finance. All of these ETF’s were introduced in 1998 and were the best proxy I could find to obtain historical performance by sector. The US Treasury Yield data is from the Federal Reserve Economic Data or “FRED” database. While yield data was available back to 1947, I chose to include the same time period of data that was available to measure equity sector returns, which was 1999-2018.
Application Features
On the left-hand side “Historical Returns” tab on the dashboard, the user can first view and interact with a colorful chart where you can visualize “US Treasury Yields” over the past 20 years. This chart was made with Plotly.

In the “Equity Returns” tab is a graph which shows the cumulative performance of 9 equity sectors from 1999-2018. Note that these are cumulative returns and are all indexed to start at 0% return on 1/1/1999. All return percentages at any point in time are based on that start date. As you can see, although there were two US recessions in the time period explored, investing in the stock market has still been a pretty good proposition across the board!

On the “Correlation Matrix” tab, the relationship between different products in US equities and treasuries are explored. Intuitively, this demonstrates the very high, positive correlations amongst treasury yields and also moderate to strong positive correlations amongst most equity sectors. However, Equity sectors vs. Yields tell a different story, as correlations were ever so slightly positive over the time period. The relationship between stocks and bonds is ever-changing and dependent on many external market factors, which is demonstrated by the lack of absolute correlation over this 20 year period.

The “Comparison Tool” allows the user to customize two products and zoom in a time period of their choice to explore monthly percentage change in those instruments.

Limitations
As far as pulling historical equity sector returns, I was limited in my options. Ultimately, using the Sector ETF’s was the best proxy I could come up with, but I would have liked to include data older than 1999.
Similarly, with treasuries, I was able to pull yields data but I really would have preferred to use bond price data. As I could not find this data available back to 1999, I used yields as the best proxy and a representation of the inverse of bond price.
Future Development
Ideally, I would like to use historical bond price data and incorporate older US sector data as well (which I wasn’t able to find or access at this time).
I would like to further improve the app by adding new features, such as a tool that can show and allow the user to interact with lag times around market fluctuations. IE, be able to look at situations when the 10-year treasury moved X percent in a period. Which sectors performed best in the month/months following that? Is there any lagging relationship that could help investors predict and position their portfolio?
I look forward to further development in the future and I hope this initial version proves useful and informative!