2025-06-12 13:43:05 +08:00
# Project Context: Advanced Crypto Trading Bot Platform
2025-06-06 19:47:08 +08:00
This document provides a comprehensive overview of the project's architecture, technology stack, conventions, and current implementation status, following the guidelines in `context-management.md` .
## 1. Architecture Overview
2025-06-12 13:43:05 +08:00
The platform is a **monolithic application** built with Python, designed for professional crypto trading strategy development and testing. The architecture features a mature, modular design with production-ready components and clear separation between infrastructure and business logic.
2025-06-06 19:47:08 +08:00
### Core Components
2025-06-12 13:43:05 +08:00
- **Production-Ready Data Collection Service**: A highly sophisticated, multi-process service with robust error handling, health monitoring, and auto-restart capabilities. Features a `BaseDataCollector` abstraction, `CollectorManager` for coordination, and exchange-specific implementations (OKX). Includes comprehensive telemetry, state management, and connection management.
- **Enterprise Database Layer**: PostgreSQL with TimescaleDB support, featuring a mature repository pattern implementation. Uses SQLAlchemy ORM with proper connection pooling, session management, and Alembic migrations. Includes specialized repositories for different entities with consistent error handling.
- **Advanced Dashboard & Visualization**: A sophisticated Dash application with multiple specialized layouts, real-time charting, technical indicator overlays, and comprehensive system monitoring. Features advanced chart configurations, strategy visualization tools, and responsive UI components.
- **Technical Indicators Engine**: Complete implementation of technical indicators (SMA, EMA, RSI, MACD, Bollinger Bands) with sparse data handling, chart layer integration, and configurable parameters.
- **Real-time Messaging Infrastructure**: Redis-based pub/sub system for component communication, with organized channel structures and both synchronous and asynchronous support.
2025-06-12 18:30:48 +08:00
- **Strategy Engine**: (✅ **IMPLEMENTED** ) Core trading logic components for strategy execution, including base strategy interface, dynamic loading, signal generation, batch processing, and real-time execution.
- **Bot Manager**: (⚠️ **NOT YET IMPLEMENTED** ) Core trading logic components for bot lifecycle management, and virtual portfolio tracking.
2025-06-12 13:43:05 +08:00
- **Backtesting Engine**: (⚠️ **NOT YET IMPLEMENTED** ) Historical strategy testing capabilities.
2025-06-06 19:47:08 +08:00
### Data Flow
2025-06-12 13:43:05 +08:00
1. **Data Collection** : `DataCollectionService` connects to exchange APIs (OKX WebSocket)
2. **Processing** : Raw trade data processed by exchange-specific processors
3. **Aggregation** : Trades aggregated into OHLCV candles across multiple timeframes
4. **Storage** : Both raw trade data and processed OHLCV stored in PostgreSQL
5. **Distribution** : Real-time data distributed via Redis pub/sub channels
6. **Visualization** : Dashboard reads from database for charts and system monitoring
2025-06-12 18:30:48 +08:00
7. **Strategy Processing** : Strategy engine now consumes OHLCV data for signal generation and execution.
2025-06-12 13:43:05 +08:00
### System Health & Monitoring
The platform includes comprehensive system health monitoring with:
- Real-time data collection status tracking
- Database performance metrics
- Redis connection monitoring
- CPU and memory usage tracking
- Automatic error detection and alerting
2025-06-06 19:47:08 +08:00
## 2. Technology Stack
- **Backend**: Python 3.10+
2025-06-12 13:43:05 +08:00
- **Web Framework**: Dash with Dash Bootstrap Components and Mantine UI components
- **Database**: PostgreSQL 14+ with SQLAlchemy ORM and Alembic migrations
- **Time-Series**: TimescaleDB support (schema available, not yet activated)
- **Messaging**: Redis for pub/sub communication
- **Data Processing**: pandas for numerical computations and data manipulation
- **Charting**: Plotly for advanced financial charts with technical indicators
- **Package Management**: `uv` for dependency management
- **Containerization**: Docker and Docker Compose for development environment
- **Testing**: pytest with comprehensive test suites for core components
- **Logging**: Custom unified logging system with component-specific organization
2025-06-06 19:47:08 +08:00
## 3. Coding Conventions
2025-06-12 18:30:48 +08:00
- **Modular Design**: Code is organized into modules with a clear purpose (e.g., `data` , `database` , `dashboard` , `strategies` ). See `architecture.md` for more details.
2025-06-06 19:47:08 +08:00
- **Naming Conventions**:
2025-06-12 13:43:05 +08:00
- **Classes**: `PascalCase` (e.g., `MarketData` , `BaseDataCollector` , `CollectorManager` )
- **Functions & Methods**: `snake_case` (e.g., `get_system_health_layout` , `connect` )
- **Variables & Attributes**: `snake_case` (e.g., `exchange_name` , `_ws_client` )
- **Constants**: `UPPER_SNAKE_CASE` (e.g., `MAX_RECONNECT_ATTEMPTS` )
- **Modules**: `snake_case.py` (e.g., `collector_manager.py` )
- **Private Attributes/Methods**: Single underscore `_` prefix
2025-06-06 19:47:08 +08:00
- **File Organization & Code Structure**:
2025-06-12 13:43:05 +08:00
- **Repository Pattern**: Database operations centralized through repository classes
2025-06-12 18:30:48 +08:00
- **Factory Pattern**: Used for collector creation, strategy loading and management
2025-06-12 13:43:05 +08:00
- **Abstract Base Classes**: Well-defined interfaces for extensibility
- **Dependency Injection**: Configuration and dependencies injected rather than hardcoded
- **Error Handling**: Custom exception hierarchies with proper error context
2025-06-06 19:47:08 +08:00
- **Import/Export Patterns**:
2025-06-12 13:43:05 +08:00
- **Absolute imports** preferred over relative imports
- **Clean public APIs** exposed through `__init__.py` files
- **Grouped imports**: Standard library, third-party, local application
- **Configuration Management**:
- **Pydantic Settings**: Type-safe configuration with environment variable support
- **JSON Configuration**: Strategy and bot parameters in JSON files
- **Environment Variables**: All credentials and deployment settings via `.env`
- **Database Access**:
- **Repository Pattern**: All database operations through repository layer
- **SQLAlchemy ORM**: Exclusive use of ORM for type safety and maintainability
- **Connection Pooling**: Sophisticated connection management with monitoring
- **Session Management**: Proper session lifecycle with context managers
- **Logging & Monitoring**:
- **Unified Logging**: Component-specific loggers with centralized configuration
- **Health Monitoring**: Comprehensive health checks and telemetry
- **Error Tracking**: Detailed error context and automated alerts
2025-06-06 19:47:08 +08:00
## 4. Current Implementation Status
2025-06-12 13:43:05 +08:00
### ✅ **Completed & Production-Ready Features**
**🏗️ Infrastructure Foundation (95% Complete)**
- **Database Schema & Models**: Complete PostgreSQL schema with all necessary tables, indexes, and relationships
- **Repository Layer**: Mature repository pattern with proper ORM usage
- **Connection Management**: Sophisticated connection pooling with health monitoring
- **Migration System**: Full Alembic setup for schema versioning
**📊 Data Collection System (90% Complete)**
- **BaseDataCollector**: Abstract base with health monitoring, auto-restart, telemetry
- **CollectorManager**: Multi-collector coordination with lifecycle management
- **OKX Integration**: Production-ready WebSocket implementation with error handling
- **Data Processing**: Real-time trade processing and OHLCV aggregation
- **State Management**: Comprehensive collector state tracking and monitoring
**🎯 Dashboard & Visualization (85% Complete)**
- **Multiple Layouts**: Market data, system health, bot management, performance dashboards
- **Advanced Charting**: Real-time candlestick charts with technical indicator overlays
- **System Monitoring**: Comprehensive real-time system health dashboard
- **Technical Indicators**: Complete implementation with chart integration
- **User Interface**: Professional UI with responsive design and intuitive navigation
**📈 Technical Analysis (95% Complete)**
- **Indicator Library**: SMA, EMA, RSI, MACD, Bollinger Bands with proper sparse data handling
- **Chart Integration**: Sophisticated indicator overlay system with configuration options
- **Strategy Configurations**: Advanced chart strategy templates and examples
2025-06-12 18:30:48 +08:00
**🤖 Strategy Engine (95% Complete)**
- **BaseStrategy Interface**: Implemented and serving as a foundation for strategies
- **Strategy Implementations**: EMA Crossover, MACD, and RSI strategies implemented
- **Strategy Factory**: Dynamic strategy loading and registration system in place
- **Signal Generation**: Core trading signal logic implemented with vectorized operations
- **Batch Processing**: Capabilities for backtesting large datasets
- **Real-time Execution**: Event-driven real-time signal generation and broadcasting
2025-06-12 13:43:05 +08:00
**🔧 Supporting Systems (90% Complete)**
- **Logging System**: Unified, component-specific logging with automatic cleanup
- **Configuration Management**: Type-safe settings with environment variable support
- **Redis Integration**: Pub/sub messaging system for real-time communication
- **Development Tools**: Comprehensive development and monitoring scripts
### ⚠️ **Critical Gaps - Core Business Logic Missing**
**🎮 Bot Management System (10% Complete)**
- **Bot Database Models**: Exist but no business logic implementation
- **BotManager Class**: Does not exist (`bot_manager.py` missing)
- **Virtual Portfolio**: No portfolio tracking or P& L calculation
- **Bot Lifecycle**: No start/stop/monitor functionality
**📊 Backtesting Engine (0% Complete)**
- **BacktestingEngine**: No historical testing capabilities
- **Performance Metrics**: No Sharpe ratio, drawdown, or performance calculation
- **Historical Data Processing**: No vectorized backtesting implementation
**⚡ Real-Time Trading Simulation (0% Complete)**
- **Trade Execution**: No simulated trade processing
- **Signal Processing**: No real-time signal generation from market data
- **Portfolio Updates**: No virtual portfolio management
### 🔧 **Technical Debt & Issues**
**📋 Testing Issues**
2025-06-12 18:30:48 +08:00
- Import errors in test suite due to file structure changes (mostly resolved with recent updates)
2025-06-12 13:43:05 +08:00
- Test coverage needs update for new components
**📄 Documentation Gaps**
- API documentation needs expansion
### 🎯 **Next Phase Priority**
2025-06-12 18:30:48 +08:00
The project has **excellent infrastructure** and a nearly complete **Strategy Engine** . The next phases will focus on:
2025-06-12 13:43:05 +08:00
2025-06-12 18:30:48 +08:00
1. **Chart Integration and Visualization** (Task Group 5.0) - Implement live strategy signal visualization layers and performance metrics display.
2025-06-12 13:43:05 +08:00
2. **Bot Management System** (Task Group 6.0) - Create bot lifecycle management and virtual portfolios
2025-06-12 18:30:48 +08:00
3. **Backtesting Engine** (Task Group 7.0) - Build historical strategy testing capabilities
4. **Real-Time Simulation** (Task Group 8.0) - Implement live strategy execution with virtual trading
2025-06-12 13:43:05 +08:00
The sophisticated infrastructure provides a solid foundation for rapid development of the trading logic components.