Skip to content

An 18-year-old student with way too much free time is about to dive into developing an interactive stock market dashboard using Python (Streamlit, Plotly, yfinance) — a tool designed to visualize real-time market trends, analyze individual stocks, compare performance, and calculate key technical indicators... Work in progress !

License

Notifications You must be signed in to change notification settings

BuyukHasan/bourse_dashboard

Repository files navigation

📊 Financial Dashboard - Market Analyzer

Complete Streamlit application for financial market analysis with technical visualization, portfolio management, and sentiment analysis.

Bannière principale

✨ Main features

📈 Individual dashboards

Advanced technical analysis (MA, RSI, Bollinger Bands) with interactive Plotly visualizations Dashboard individuel Analyse technique

🔍 Multi-asset comparison

Comparative analysis and asynchronous data download Comparaison multi-actifs

💼 Virtual portfolio

Multi-asset portfolio simulation, performance/risk analysis and geographical mapping Portefeuille virtuel Performance portefeuille Carte géographique

📰 Market analysis

Reddit sentiment (simulated), financial news and macroeconomic context Analyse de sentiment Actualités financières Données macroéconomiques

🎨 Advanced customization

7 unique visual themes to customize the interface

Neon Cyberpunk : Neon Cyberpunk

Lava Explosion : Lava Explosion

Electric Ocean : Electric Ocean

Acid Jungle : Acid Jungle

Galactic Purple : Galactic Purple

Retro Dark : Retro Dark

Crypto Fever : Crypto Fever

Installation

  1. Clone the repository :
git clone https://github.com/BuyukHasan/bourse_dashboard
cd bourse_dashboard
  1. Create a virtual environment :
python -m venv venv
source venv/bin/activate  # Linux/Mac
venv\Scripts\activate    # Windows
  1. Install the dependencies :
pip install -r requirements.txt
  1. Launch the application :
streamlit run app.py

🚀 Usage

Available modes

  • Individual dashboard : Technical analysis of an asset
  • Multi-asset comparison : Comparison of multiple instruments
  • Virtual portfolio : Investment strategy simulation
  • Unit tests : Module validation

Tests unitaires

Useful commands

  • Rerun : Button r(from the dashboard)
  • Clear cache: Button c then confirm the instruction on the page (from the dashboard)
  • Stop application: Control + c (from the terminal where you launched streamlit run app.py)

🧩 File structure

financial-dashboard/
├── app.py                # Main entry point
├── requirements.txt      # Dependencies
├── .gitignore
└── src/                  # Folder containing all the project classes
    ├── asset_categories.py   # Asset classification by sector
    ├── css.py                # Visual theme management
    ├── dashboard.py          # Main dashboard module
    ├── data_fetcher.py       # Data retrieval (yfinance)
    ├── geo_data.py           # Geographical data
    ├── macro_data.py         # Macroeconomic data
    ├── news_fetcher.py       # News collection
    ├── portfolio_manager.py  # Portfolio management
    ├── reddit_analyzer.py    # Sentiment analysis (simulated)
    ├── technical_analyzer.py # Technical indicator calculations
    └── visualizer.py         # Graph visualizations

🛠 Main Dependencies

  • streamlit==1.47.0 - Web interface
  • yfinance==0.2.65 - Financial data
  • plotly==6.2.0 - Interactive visualizations
  • pandas==2.3.0 - Data manipulation
  • numpy==2.2.2 - Scientific calculations

🤝 Contribution

Contributions are welcome! Recommended process:

  1. Forker the project
  2. Create a branch : git checkout -b feature/new-feature
  3. Commit your changes : git commit -m 'Add an awesome feature'
  4. Push to the branch : git push origin feature/new-feature
  5. Open a Pull Request

📜 Licence

This project is licensed under the MIT License. See the LICENSE file for details.

Note : While the MIT license is permissive, an email notification (buyukh7723@gmail.com) is appreciated for significant reuse. I generally accept as long as I am notified.

About

An 18-year-old student with way too much free time is about to dive into developing an interactive stock market dashboard using Python (Streamlit, Plotly, yfinance) — a tool designed to visualize real-time market trends, analyze individual stocks, compare performance, and calculate key technical indicators... Work in progress !

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages