KasSims/Interactive_Business_Intelligence_Dashboard
๐ Interactive Business Intelligence Dashboard
A professional-grade financial analysis platform with real-time market data, AI-powered trading recommendations, and interactive visualizations.
๐ Live Demo
View Live Demo on Hugging Face Spaces
โจ Features
Core Capabilities
- ๐ด Real-Time Market Data: Live stock prices from Yahoo Finance API
- ๐ค AI Trading Recommendations: Buy/Sell/Hold signals with confidence scores (0-100%)
- ๐ Dynamic Trending Stocks: REAL trending stocks fetched from Yahoo Finance (not hardcoded)
- ๐ TradingView Charts: Professional-grade interactive charts
- ๐ฐ News Sentiment Analysis: Integrated into trading recommendations
- ๐ผ Portfolio Analysis: Multi-stock portfolio evaluation and allocation
Advanced Features
- Technical Indicators: RSI, MACD, Bollinger Bands, Moving Averages, Volume Analysis
- Support/Resistance Detection: Automatic identification of key price levels
- Momentum Analysis: Price momentum and trend strength evaluation
- Smart Data Display: Toggle between latest snapshot or full historical data
- Correlation Analysis: Cross-stock correlation heatmaps
๐ ๏ธ Technology Stack
- Frontend: Gradio 5.4.0
- Data Processing: Pandas, NumPy
- Visualizations: Plotly, Matplotlib, Seaborn
- Statistical Analysis: SciPy
- Design Patterns: Strategy Pattern for modular analysis approaches
๐ Project Structure
Interactive_Business_Intelligence_Dashboard/
โโโ app.py # Main application entry point
โโโ requirements.txt # Python dependencies
โ
โโโ src/ # Source code (organized by layer)
โ โโโ core/ # Data layer
โ โ โโโ live_data.py # Real-time data fetching
โ โ โโโ data_processor.py # Historical data processing
โ โ โโโ symbol_search.py # Symbol lookup & validation
โ โ
โ โโโ analysis/ # Business logic layer
โ โ โโโ stock_signals.py # AI trading signals
โ โ โโโ fundamental_analysis.py # Financial metrics
โ โ โโโ insights.py # AI insights generation
โ โ
โ โโโ visualization/ # Presentation layer
โ โ โโโ visualizations.py # Chart generation
โ โ โโโ visualization_strategies.py # Strategy pattern
โ โ โโโ tradingview_charts.py # TradingView charts
โ โ โโโ tradingview_widget.py # TradingView widgets
โ โ
โ โโโ utils.py # Shared utilities
โ
โโโ docs/ # Comprehensive documentation
โ โโโ ARCHITECTURE.md # System design & architecture
โ โโโ SETUP.md # Installation & setup guide
โ โโโ FEATURES.md # Feature documentation
โ โโโ API_REFERENCE.md # Developer API reference
โ โโโ PERFORMANCE_IMPROVEMENTS.md # Optimization details
โ
โโโ data/ # Sample data
โ โโโ selected_portfolio.csv # 20 stocks & ETFs dataset
โ
โโโ scripts/ # Utility scripts
โ โโโ generate_sample_data.py # Data generation
โ โโโ prepare_selected_data.py # Data preparation
โ
โโโ assets/ # Static assets
โ โโโ ARCHITECTURE_DIAGRAM.txt # Visual architecture
โ โโโ screenshots/ # UI screenshots (for docs)
โ
โโโ exports/ # Generated outputs
โโโ tests/ # Test files๐ Documentation
Comprehensive documentation is available in the docs/ directory:
For Instructors: Start with SETUP.md for quick installation, then see ARCHITECTURE.md for technical details.
For Developers: See API_REFERENCE.md for module documentation and extension points.
๐ Quick Start
Prerequisites
- Python 3.8+
- pip package manager
Installation
- Put the project folder in your desired directory The instructions assume you have cloned or downloaded the project to your local machine.
- Install dependencies
pip install -r requirements.txt- Run the application
python app.py- Open in browser Navigate to
http://localhost:7860
โ ๏ธ Known Behavior
Time and Market Status Display:
- When running on localhost, the time and market status may display "Loading..." or "Checking..." due to JavaScript execution limitations in local Gradio environments
- The Hugging Face Spaces deployment properly updates the time and market status in real-time
- This does not affect any core functionality of the dashboard
๐ Dataset
The dashboard includes a curated portfolio of 20 major stocks and ETFs from 2013-2017:
Stocks
- Tech Giants: AAPL, MSFT, GOOGL, AMZN, NVDA, TSLA, AMD
- Financial: JPM, BAC, JNJ
- Consumer: WMT
- Energy: XOM
ETFs
- Market Indices: SPY, QQQ, DIA, IWM
- Sector ETFs: XLK, XLF, XLE, GLD
๐ฏ Usage Guide
1. Data Upload
- Click "Load Sample Portfolio" to use the default dataset
- Or upload your own CSV/Excel file with columns: Date, Open, High, Low, Close, Volume, Symbol
2. Data Exploration
- Statistics Tab: View comprehensive statistics and data quality metrics
- Filter & Explore Tab: Apply dynamic filters to focus on specific time periods or assets
3. Visualizations
Choose from multiple chart types:
- Time Series with Moving Averages
- Candlestick Charts with Volume
- Distribution Histograms
- Correlation Heatmaps
- Scatter Plots with Trendlines
- Performance Comparisons
4. Insights Generation
- Click "Generate Insights" for automated analysis
- View prioritized insights (High/Medium/Low)
- Access key performance metrics
5. Export Results
- Export filtered data as CSV
- Generate comprehensive summary reports
๐๏ธ Architecture & Design
Strategy Pattern Implementation
The project demonstrates advanced software engineering principles through the Strategy Pattern:
# Example usage
from visualization_strategies import VisualizationContext
context = VisualizationContext()
context.set_strategy('technical') # Switch to technical analysis
chart = context.create_visualization(df, params)Available strategies:
- Technical Analysis: Trading indicators and signals
- Fundamental Analysis: Value metrics and comparisons
- Risk Analysis: Portfolio risk assessment
๐ Key Metrics Calculated
- Returns: Daily, monthly, yearly returns
- Volatility: Historical and rolling volatility
- Sharpe Ratio: Risk-adjusted returns
- Maximum Drawdown: Peak-to-trough decline
- Value at Risk (VaR): Potential loss estimates
- Correlation Matrix: Asset relationships
๐งช Testing
Run the application with sample data:
python app.pyFor custom data testing:
- Ensure your CSV has required columns: Date, Open, High, Low, Close, Volume
- Optional columns: Symbol (for multi-asset analysis)
- Date format: YYYY-MM-DD
๐ค AI Tools Usage
This project was developed with assistance from AI tools:
- Code Generation: Initial boilerplate and function templates
- Documentation: README structure and docstrings
- Debugging: Error resolution and optimization suggestions
All AI-generated code was thoroughly reviewed, tested, and customized for the specific requirements.
๐ Future Enhancements
- [ ] Real-time data integration via APIs
- [ ] Portfolio optimization (Markowitz efficient frontier)
- [ ] Monte Carlo simulation for risk assessment
- [ ] Machine learning price predictions
- [ ] News sentiment analysis integration
- [ ] Custom indicator creation interface
๐จโ๐ป Author
Karim Semaan
- Course: CS5130 - Applied Programming and Data Processing for AI
- Institution: Northeastern University
- Term: Fall 2025
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ Acknowledgments
- Kaggle for the US Stocks & ETFs Dataset
- Gradio team for the excellent framework
- Course instructors for project guidance
๐ Contact
For questions or feedback about this project, please contact:
- Email: semaan.k@northeastern.edu
- GitHub: karimsemaan
This project was created as part of the Business Intelligence course final project, demonstrating proficiency in data analysis, visualization, and application development.
