CoolFace
Apppublic

huntley1945g/Liquidity_Mainframe_BID

sourceHugging Faceupdated 10mo agoView on Hugging Face
0likes
App README

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.

Python Gradio Plotly


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.csv

Installation

Prerequisites

  • —Python 3.8 or higher
  • —pip package manager

Setup

  1. 1.Clone the repository
bash
   git clone <[repository-url](https://github.com/CS5130-Seattle-Applied/business-intelligence-dashboard-NovusViduus.git)>
   cd project
  1. 1.Install dependencies
bash
   pip install -r requirements.txt
  1. 1.Optional: Install kaleido for PNG exports
bash
   pip install kaleido

Running the Application

bash
python project/app.py

The application will launch at: http://localhost:7860

For public access:

python
demo.launch(share=True)

Usage Guide

Tab Overview

TabPurpose
Data UploadLoad CSV/Excel files or fetch stock data
WatchlistManage tracked stocks, view fundamentals
StatisticsGenerate summary statistics for all loaded data
Filter & ExploreApply filters and preview data
VisualizationsCreate charts with customizable options
InsightsView automated technical analysis
NewsStock-related news feed
Info & LearnFinancial encyclopedia and company research
ExportDownload filtered data

Quick Start

  1. 1.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".
  1. 1.Explore: Go to the Statistics tab and click "Generate Statistics" to view comprehensive metrics.
  1. 1.Visualize: In the Visualizations tab, select a chart type and stock, then click "Generate Chart".
  1. 1.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:

python
# 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

PackagePurpose
gradioWeb interface
pandasData manipulation
numpyNumerical operations
plotlyInteractive visualizations
yfinanceStock data fetching
openpyxlExcel file support
kaleidoPNG export (optional)

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