A Historical Analysis of US Equities and Treasury Yields(1999-2018)

Posted on Feb 28, 2019

This R Shiny app can be viewed here: https://davidlevy310.shinyapps.io/rates_sectorperformance/,

with the full code listed on my GitHub.


The purpose of this app is to provide a 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**


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.

Interesting to note and as I mentioned above, you can clearly see the yields converging around early 2000 as well as in 2006. The same is happening now.

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.

Example: Financials vs. 10-Year Treasury (~2007-2010)


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! 

About Author


David Levy

David Levy completed his BS from the Kelley School of Business at Indiana University. He has eight years of experience across financial services in various data-oriented, quantitative roles. David enjoys applying an analytical mindset and approach to solve...
View all posts by David Levy >

Leave a Comment

No comments found.

View Posts by Categories

Our Recent Popular Posts

View Posts by Tags

#python #trainwithnycdsa 2019 airbnb Alex Baransky alumni Alumni Interview Alumni Reviews Alumni Spotlight alumni story Alumnus API Application artist aws beautiful soup Best Bootcamp Best Data Science 2019 Best Data Science Bootcamp Best Data Science Bootcamp 2020 Best Ranked Big Data Book Launch Book-Signing bootcamp Bootcamp Alumni Bootcamp Prep Bundles California Cancer Research capstone Career Career Day citibike clustering Coding Course Demo Course Report D3.js data Data Analyst data science Data Science Academy Data Science Bootcamp Data science jobs Data Science Reviews Data Scientist Data Scientist Jobs data visualization Deep Learning Demo Day Discount dplyr employer networking feature engineering Finance Financial Data Science Flask gbm Get Hired ggplot2 googleVis Hadoop higgs boson Hiring hiring partner events Hiring Partners Industry Experts Instructor Blog Instructor Interview Job Job Placement Jobs Jon Krohn JP Morgan Chase Kaggle Kickstarter lasso regression Lead Data Scienctist Lead Data Scientist leaflet linear regression Logistic Regression machine learning Maps matplotlib Medical Research Meet the team meetup Networking neural network Neural networks New Courses nlp NYC NYC Data Science nyc data science academy NYC Open Data NYCDSA NYCDSA Alumni Online Online Bootcamp Online Training Open Data painter pandas Part-time Portfolio Development prediction Prework Programming PwC python python machine learning python scrapy python web scraping python webscraping Python Workshop R R language R Programming R Shiny r studio R Visualization R Workshop R-bloggers random forest Ranking recommendation recommendation system regression Remote remote data science bootcamp Scrapy scrapy visualization seaborn Selenium sentiment analysis Shiny Shiny Dashboard Spark Special Special Summer Sports statistics streaming Student Interview Student Showcase SVM Switchup Tableau team TensorFlow Testimonial tf-idf Top Data Science Bootcamp twitter visualization web scraping Weekend Course What to expect word cloud word2vec XGBoost yelp