Stock and Portfolio Analysis dashboard

Interactive web application

Project Overview and Objective

This interactive dashboard is a tool designed for visualizing stock and portfolio performance. It integrates real-time financial data of 25 largest stocks of the S&P based on volume. Furthermore, it allows for comparison between stocks, and portfolio performance versus a benchmark (the S&P).

I wanted to make a stock analysis dashboard. Mainly because of my financial background in my bachelor’s and because I think that building a dashboard with dynamic and real-time data would be more fun. However, many stock visualizations exist; there even is a template on the Shiny documentation website of a basic visualizer. Hence, I added the portfolio part and the option to compare multiple stocks.

In case you want to see the app immediately, the link can be found here.

Key Features
  • Stock Visualization: Through visual representations, users can track the performance of individual and multiple stocks and observe market trends. The stock data can be retrieved dynamically, for a set period or custom dates.
  • Portfolio Management: The dashboard enables insight into a personalized stock portfolio with monthly rebalancing. Users can add and remove stocks and compare the portfolio to the overall S&P500.
  • Optimization Based on Sharpe Ratio: The application allows the user to calculate the optimal portfolio allocation based on a maximum Sharpe Ratio.
Technical Implementation and Learning Outcomes

Built using Shiny, a dynamic Python library for building interactive web applications, this project has been a deep dive into the practical aspects of dashboard creation and data visualization. I had some prior experience building UIs in Java but doing this in Python was completely new.

Throughout this project, I've gained significant expertise in:

  • Dynamic Data Visualization: Crafting intuitive and informative visualizations that respond to user inputs.
  • Interactive Application Design: Developing a responsive, user-friendly interface.
  • General Stock Analysis using Python: Pulling data from Yahoo Finance and doing calculations in a regular and a portfolio setting.