I’m excited to share a Stock Market Analytics App I built using Plotly Dash. This app provides interactive stock market insights and portfolio management tools, leveraging yfinance for data retrieval, Polars for fast data wrangling, and SQLite for storage. Styling is handled with dash-bootstrap-components for a sleek, responsive UI. I’d love your feedback on improving its features, design, and performance!
Market Dashboard – Interactive line charts, candlestick charts, volume analysis, and correlation heatmaps. Portfolio Dashboard – View key performance indicators (KPIs), portfolio distribution, and sector allocation. Portfolio Management – Add, edit, and delete stocks via an intuitive form. User Guide – Glossary of financial terms and data source details. Efficient Data Handling – Uses Polars for fast data processing and SQLite for structured storage. Modern UI – Styled with dash-bootstrap-components for responsiveness.
Upcoming Feature
Automated Data Updates – Daily stock data updates to SQLite (pending implementation).
Looking for Feedback!
I’d love to hear your thoughts on: UI/UX improvements Performance optimizations Additional features that would enhance usability
If you have suggestions or spot any bugs, let me know!
Big thanks to Plotly Dash, yfinance, and this amazing community! Looking forward to your feedback!
Hi! Amazing job mate!
By the way, I am currently enhancing my ‘MySQL knowledge’, so I would be more than pleased to collaborate with you in setting up the ground on MySQL Server and handling read and write opps.
What a great app, @Alfredo49 . Nice job!
One thing I would recommend is to ensure consistency in the theme. For example, convert the right bottom dropdown to black background, just like the other dropdowns on the main page.
Actually I am planning to migrate to a database on server, I am looking for a cloud provider with free tier for avoid costs, do you have any solution in mind?
Actually, I was thinking more like a home-based platform, however you’re right. And the knowledge that you could get to it could be massive. This is a ChatGPT answer… Maybe it’s worth to explore:
Amazon Web Services (AWS):
AWS provides a free tier for Amazon RDS, which includes MySQL. New AWS customers receive 750 hours per month of Amazon RDS Single-AZ db.t3.micro or db.t4g.micro instance usage for MySQL, along with 20 GB of General Purpose SSD storage and up to 100% of the total provisioned storage size for backup storage. This offer is valid for 12 months from the date your account is activated.
Azure offers a free account that includes access to Azure Database for MySQL Flexible Server. With this, you get 750 hours per month of Burstable B1MS instance usage, 32 GB of storage, and 32 GB of backup storage. This offer is available for 12 months.
Oracle Cloud’s Free Tier provides Always Free services, including Autonomous Transaction Processing and Autonomous Data Warehouse, which support MySQL-compatible workloads. These services are available for an unlimited period with certain usage limits.
Exciting news—I’ve migrated the database from SQLite to BigQuery, powered by a robust ETL pipeline, and expanded the available tickers to the top 1,000 by market cap (NASDAQ)!
What’s New?
Scalable Data: BigQuery handles larger datasets efficiently. Expanded Coverage: Now includes 1,000 top NASDAQ stocks (up from ~40). Automated ETL: Daily updates via pipeline (no more manual refreshes!). End-to-End Diagram: Sharing the full data flow architecture (ETL + Dash app).
Regarding these two charts, are you able to update the x axis to only plotly business days. I think pandas has a method that helps identify business days. That way, the graph won’t have these missing gaps in days (between candlesticks and bars), which are usually the weekends or holidays.