{"id":26235942,"url":"https://github.com/shefreenkaur/comp_430_project","last_synced_at":"2026-04-13T01:33:41.300Z","repository":{"id":281956047,"uuid":"946975803","full_name":"shefreenkaur/COMP_430_Project","owner":"shefreenkaur","description":"A comprehensive, open-source business intelligence visualization tool designed for algorithmic trading systems. This application transforms complex trading data into intuitive visualizations, enabling traders and analysts to make data-driven decisions.","archived":false,"fork":false,"pushed_at":"2025-04-08T01:46:08.000Z","size":38,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-04T18:46:57.353Z","etag":null,"topics":["algorithmic-trading","api-development","business-intelligence","data-analytics","data-visualization","etl-pipeline","fastapi","finance","financial-analysis","interactive-dashboard","plotly","streamlit"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shefreenkaur.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-03-12T00:56:49.000Z","updated_at":"2025-04-08T01:46:11.000Z","dependencies_parsed_at":"2025-03-12T03:25:14.057Z","dependency_job_id":"4940de42-d419-49ae-b972-90d94450305f","html_url":"https://github.com/shefreenkaur/COMP_430_Project","commit_stats":null,"previous_names":["shefreenkaur/comp_430_project"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/shefreenkaur/COMP_430_Project","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shefreenkaur%2FCOMP_430_Project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shefreenkaur%2FCOMP_430_Project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shefreenkaur%2FCOMP_430_Project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shefreenkaur%2FCOMP_430_Project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shefreenkaur","download_url":"https://codeload.github.com/shefreenkaur/COMP_430_Project/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shefreenkaur%2FCOMP_430_Project/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31736723,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-12T22:19:12.206Z","status":"ssl_error","status_checked_at":"2026-04-12T22:18:33.088Z","response_time":58,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithmic-trading","api-development","business-intelligence","data-analytics","data-visualization","etl-pipeline","fastapi","finance","financial-analysis","interactive-dashboard","plotly","streamlit"],"created_at":"2025-03-13T03:18:50.502Z","updated_at":"2026-04-13T01:33:41.277Z","avatar_url":"https://github.com/shefreenkaur.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"﻿# Business Intelligence Visualization Tool for Algorithmic Trading\r\n\r\nA comprehensive, open-source business intelligence visualization tool designed for algorithmic trading systems. This application transforms complex trading data into intuitive visualizations, enabling traders and analysts to make data-driven decisions.\r\n\r\n## Features\r\n\r\n- **Multi-Asset Class Analysis**: Support for equities, cryptocurrencies, and forex\r\n- **Interactive Dashboards**: Dynamic charts and filters for data exploration\r\n- **Strategy Performance Tracking**: Monitor and compare trading strategies\r\n- **Multi-Dimensional Analysis**: Filter by symbol, strategy, time period, and asset class\r\n- **Real Market Data Integration**: Uses real-world data from Yahoo Finance\r\n- **Star Schema Data Model**: Optimized for analytical processing\r\n\r\n  \r\n![image](https://github.com/user-attachments/assets/5879818a-66e8-4a2f-9104-d4cf095617d1)\r\n\r\n\r\n\r\n##  Technology Stack\r\n\r\n- **Backend**: FastAPI + Uvicorn\r\n- **Frontend**: Streamlit + Plotly\r\n- **Database**: SQLite with SQLAlchemy ORM\r\n- **Data Processing**: Pandas + yfinance\r\n- **Version Control**: Git\r\n\r\n## Getting Started\r\n\r\n### Prerequisites\r\n\r\n- Python 3.8+\r\n- pip\r\n- virtualenv (recommended)\r\n\r\n### Installation\r\n\r\n1. Clone the repository\r\n   ```bash\r\n   git clone https://github.com/your-username/trading-bi-tool.git\r\n   cd trading-bi-tool\r\n   ```\r\n\r\n2. Create and activate a virtual environment\r\n   ```bash\r\n   python -m venv ProjectVenv\r\n   # On Windows\r\n   ProjectVenv\\Scripts\\activate\r\n   # On macOS/Linux\r\n   source ProjectVenv/bin/activate\r\n   ```\r\n\r\n3. Install dependencies\r\n   ```bash\r\n   pip install -r requirements.txt\r\n   ```\r\n\r\n### Running the Application\r\n\r\n1. Start the FastAPI backend server\r\n   ```bash\r\n   python bi_tool_test.py\r\n   ```\r\n\r\n2. In a new terminal, start the Streamlit frontend\r\n   ```bash\r\n   streamlit run bi_tool_streamlit.py\r\n   ```\r\n\r\n3. Load sample data (if needed)\r\n   ```bash\r\n   python load_market_data.py\r\n   ```\r\n\r\n4. Access the dashboard at http://localhost:8501\r\n\r\n## Project Structure\r\n\r\n```\r\nProject/\r\n├── Backend/\r\n│   ├── __init__.py\r\n│   ├── database.py      # Database models and connection\r\n│   ├── etl.py           # ETL processes\r\n│   ├── main.py          # API entry point\r\n│   ├── models.py        # Data models\r\n│   ├── routes.py        # API routes\r\n│   └── services.py      # Business logic\r\n│\r\n├── Frontend/\r\n│   ├── __init__.py\r\n│   ├── app.py           # Streamlit application\r\n│   ├── charts.py        # Chart definitions\r\n│   └── data_loader.py   # API integration\r\n│\r\n├── ProjectVenv/         # Virtual environment\r\n├── bi_tool_streamlit.py # Streamlit dashboard\r\n├── bi_tool_test.py      # FastAPI server\r\n├── database.py          # Main database models\r\n├── load_market_data.py  # Data loading script\r\n├── data.db              # SQLite database\r\n└── README.md            # Project documentation\r\n```\r\n\r\n## Core Components\r\n\r\n### 1. Data Model\r\n\r\nThe system implements a star schema with:\r\n- **Fact Table**: trade_facts\r\n- **Dimension Tables**: symbol_dim, trader_dim, strategy_dim\r\n\r\nThis design enables efficient querying and analysis across multiple dimensions.\r\n\r\n### 2. API Endpoints\r\n\r\n- `/symbols` - List all trading symbols\r\n- `/strategies` - List all trading strategies\r\n- `/traders` - List all traders\r\n- `/trades` - Get trade data with optional filtering\r\n- `/performance/{strategy_id}` - Get performance data for a strategy\r\n\r\n### 3. Dashboard Visualizations\r\n\r\n- Trading value by symbol\r\n- Trading distribution by strategy\r\n- Performance over time\r\n- Recent trades table\r\n- Key performance metrics\r\n\r\n![image](https://github.com/user-attachments/assets/daacce90-3b10-42cb-8a94-0e96e5e4d00d)\r\n\r\n\r\n![image](https://github.com/user-attachments/assets/42bda41e-54f5-466c-87f4-a7368e188244)\r\n\r\n![image](https://github.com/user-attachments/assets/c3797f06-d084-420e-8ee8-224b983ccd5e)\r\n\r\n\r\n\r\n\r\n\r\n## Contributors\r\n\r\n- **Diego Mckay** - Initial project setup, database foundation, API framework, basic dashboard\r\n- **Shefreen Kaur** - Advanced data modeling, data pipeline, enhanced API layer, advanced visualizations, system integration\r\n\r\n## Academic Context\r\n\r\nThis project was developed as part of the COMP 430 course. It demonstrates the application of business intelligence principles, data visualization techniques, and full-stack development in the context of algorithmic trading systems.\r\n\r\n## Future Enhancements\r\n\r\n- Real-time data streaming via WebSockets\r\n- User authentication and multitenancy\r\n- Strategy backtesting capabilities\r\n- Machine learning integration for predictive analytics\r\n- Export capabilities for reports and analysis\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshefreenkaur%2Fcomp_430_project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshefreenkaur%2Fcomp_430_project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshefreenkaur%2Fcomp_430_project/lists"}