huntley1945g/Liquidity_Mainframe_BID
Liquidity Mainframe
Business Intelligence Dashboard for Stock Market Analysis
A professional, cyberpunk-themed Business Intelligence dashboard built with Gradio. Liquidity Mainframe enables users to upload datasets, fetch live stock data, apply interactive filters, generate visualizations, and extract actionable insights through an intuitive web interface.
Features
Data Management
- Multi-source data loading: Upload CSV/Excel files or fetch live stock data via Yahoo Finance
- Watchlist management: Track stocks with real-time price updates
- Data merging: Automatically combines data from multiple sources without duplicates
Interactive Analysis
- Dynamic filtering: Filter by date range, price, volume, ticker, and custom categories
- Real-time updates: Filtered row counts and data previews update instantly
- Comprehensive statistics: Mean, median, standard deviation, min, max, and quartiles for all numeric columns
Visualizations
Ten chart types including:
- Candlestick charts with volume overlay
- Moving Averages (SMA/EMA with customizable periods)
- Bollinger Bands
- RSI (Relative Strength Index)
- MACD (Moving Average Convergence Divergence)
- Returns Distribution histogram
- Correlation Heatmap
- Stock Comparison (normalized returns)
- Bar Charts with aggregation options
- Pie Charts for category analysis
Automated Insights
- Performance analysis: Total returns, annualized returns, top/bottom performers
- Risk metrics: Volatility assessment, maximum drawdown, volatility spikes
- Technical signals: RSI overbought/oversold, MACD crossovers, Golden/Death Cross detection
- Volume analysis: Volume spikes, trend confirmation
- Price levels: Support/resistance proximity, period highs/lows
Learning and Research
- Financial Encyclopedia: 20+ terms with definitions, formulas, and reference links
- Company Lookup: Business summaries, SEC filings, executive info, key metrics
Export Options
- Export filtered data as CSV
- Export charts as PNG (requires kaleido) or HTML
Project Structure
project/
├── app.py # Main Gradio application
├── data_processor.py # Data loading, cleaning, filtering
├── visualizations.py # Chart creation (Strategy Pattern)
├── insights.py # Automated insight generation
├── utils.py # Helper functions
├── config.py # Configuration constants
├── styles.py # Custom CSS styling
├── news_feed.py # News integration
├── requirements.txt # Dependencies
└── data/ # Sample datasets
├── tech_stocks_combined.csv
└── tech_stocks_full_history.csvInstallation
Prerequisites
- Python 3.8 or higher
- pip package manager
Setup
- Clone the repository
git clone <[repository-url](https://github.com/CS5130-Seattle-Applied/business-intelligence-dashboard-NovusViduus.git)>
cd project- Install dependencies
pip install -r requirements.txt- Optional: Install kaleido for PNG exports
pip install kaleidoRunning the Application
python project/app.pyThe application will launch at: http://localhost:7860
For public access:
demo.launch(share=True)Usage Guide
Tab Overview
Quick Start
- Load Data: Navigate to the Data Upload tab. Upload a CSV/Excel file or enter a ticker symbol (e.g.,
AAPL) and click "Fetch & Add".
- Explore: Go to the Statistics tab and click "Generate Statistics" to view comprehensive metrics.
- Visualize: In the Visualizations tab, select a chart type and stock, then click "Generate Chart".
- Analyze: Visit the Insights tab, select a ticker or "All Tickers", and click "Analyze" for automated insights.
Design Patterns
Strategy Pattern (Visualizations)
The visualization module implements the Strategy Pattern for flexible chart creation:
# Abstract base class
class VisualizationStrategy(ABC):
@abstractmethod
def create_chart(self, df: pd.DataFrame, **kwargs) -> go.Figure:
pass
# Concrete strategies
class CandlestickStrategy(VisualizationStrategy): ...
class RSIStrategy(VisualizationStrategy): ...
class CorrelationHeatmapStrategy(VisualizationStrategy): ...
# Context
class VisualizationContext:
def set_strategy(self, strategy_name: str): ...
def create_chart(self, df, **kwargs): ...This design allows new chart types to be added without modifying existing code.
Sample Datasets
The data/ folder includes sample stock market datasets:
- tech_stocks_combined.csv: Combined data for multiple tech stocks
- tech_stocks_full_history.csv: Extended historical data
Live data for any ticker can also be fetched using the Yahoo Finance integration.
Dependencies
See requirements.txt for the complete list with version numbers.
AI Tools Usage
This project was developed with assistance from AI tools:
- Claude (Anthropic)/ Gemini (Google): Architecture design feedback, code review, debugging help, stylizing stuff that didn't pan out.
All AI-generated code improvements were reviewed, tested, and customized for the specific requirements of this application.
Future Enhancements
- Portfolio tracking with P&L calculations
- Options chain analysis
- Backtesting capabilities
- Alert system for price/indicator thresholds
- Database integration for persistent storage
- User authentication and saved preferences
License
This project was created for educational purposes as part of a Business Intelligence Dashboard assignment.
Author
Graeme Huntley
