13 KiB
13 KiB
TradingAgents System Architecture Guide
📖 Overview
This document provides a comprehensive overview of the TradingAgents system architecture, including the integration of Chinese market features, database systems, and multi-LLM support. The architecture is designed for scalability, reliability, and global market coverage.
🏗️ High-Level Architecture
┌─────────────────────────────────────────────────────────────────┐
│ TradingAgents System │
├─────────────────────────────────────────────────────────────────┤
│ CLI Interface (Market Selection + Configuration) │
├─────────────────────────────────────────────────────────────────┤
│ Multi-Agent Framework │
│ ├── Market Analyst ├── Fundamentals Analyst │
│ ├── News Analyst ├── Bull/Bear Researchers │
│ └── Trader Agent └── Risk Management │
├─────────────────────────────────────────────────────────────────┤
│ Multi-LLM Provider Layer │
│ ├── DashScope (Qwen) ├── OpenAI (GPT) │
│ ├── Google (Gemini) └── Anthropic (Claude) │
├─────────────────────────────────────────────────────────────────┤
│ Data Layer │
│ ├── US Market (Yahoo Finance) │
│ ├── China A-Share (TongDaXin API) │
│ └── Financial News & Social Media │
├─────────────────────────────────────────────────────────────────┤
│ Caching & Storage Layer │
│ ├── MongoDB (Persistent Storage) │
│ ├── Redis (High-Performance Cache) │
│ └── File Cache (Fallback) │
└─────────────────────────────────────────────────────────────────┘
🎯 Core Components
1. CLI Interface Layer
Market Selection System
- Interactive Market Selection: US Stock vs China A-Share
- Format Validation: Market-specific ticker validation
- Data Source Routing: Automatic routing based on market selection
- English-Only Interface: Internationalization-ready
Key Files:
cli/main.py - Main CLI application
cli/utils.py - Market selection and validation utilities
Flow:
User Input → Market Selection → Ticker Validation → Data Source Assignment
2. Multi-Agent Framework
Agent Hierarchy
TradingAgentsGraph
├── Analyst Team
│ ├── MarketAnalyst (Technical Analysis)
│ ├── FundamentalsAnalyst (Financial Analysis)
│ └── NewsAnalyst (Sentiment Analysis)
├── Research Team
│ ├── BullResearcher (Positive Sentiment)
│ └── BearResearcher (Risk Analysis)
├── Trading Team
│ ├── TraderAgent (Decision Making)
│ └── RiskManager (Risk Assessment)
└── Reflection System
└── ReflectionAgent (Quality Control)
Key Files:
tradingagents/graph/trading_graph.py - Main agent orchestration
tradingagents/agents/analysts/ - Analyst implementations
tradingagents/agents/researchers/ - Research team
tradingagents/agents/trader/ - Trading decisions
3. Multi-LLM Provider Layer
Provider Architecture
LLM Request → Provider Router → Specific Adapter → API Call → Response
Supported Providers
-
DashScope (Alibaba Cloud)
- Models: qwen-turbo, qwen-plus, qwen-max, qwen-max-longcontext
- Optimized for Chinese language
- Primary choice for Chinese users
-
OpenAI
- Models: GPT-4o, GPT-4o-mini, o1, o3, o4-mini
- Global standard for English content
-
Google AI
- Models: Gemini 2.0 Flash, Gemini 2.5 Flash
- Advanced reasoning capabilities
-
Anthropic
- Models: Claude 3.5 Haiku, Claude 3.5 Sonnet, Claude 4
- Strong analytical capabilities
Key Files:
tradingagents/graph/trading_graph.py - LLM initialization
tradingagents/agents/utils/memory.py - Embedding services
cli/utils.py - Provider selection
Intelligent Fallback System
Primary Provider (DashScope)
↓ (if unavailable)
Secondary Provider (OpenAI)
↓ (if unavailable)
Tertiary Provider (Google/Anthropic)
↓ (if all fail)
Error Handling & User Notification
4. Data Layer Architecture
Multi-Market Data Sources
US Stock Market:
Yahoo Finance API → Data Validation → Cache Storage → Agent Consumption
China A-Share Market:
TongDaXin API → Data Optimization → Cache Storage → Agent Consumption
Data Flow Architecture
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Data Request │ -> │ Source Router │ -> │ Data Provider │
└─────────────────┘ └──────────────────┘ └─────────────────┘
│
▼
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Cache Manager │ <- │ Data Processor │ <- │ Raw Data │
└─────────────────┘ └──────────────────┘ └─────────────────┘
Key Files:
tradingagents/dataflows/interface.py - Data interface
tradingagents/dataflows/tdx_utils.py - TongDaXin integration
tradingagents/dataflows/optimized_china_data.py - China data optimization
tradingagents/dataflows/chinese_finance_utils.py - Chinese finance tools
tradingagents/dataflows/stock_data_service.py - Unified data service
Supported Chinese Exchanges
- Shanghai Stock Exchange: 60xxxx (e.g., 600036 - China Merchants Bank)
- Shenzhen Stock Exchange: 00xxxx (e.g., 000001 - Ping An Bank)
- ChiNext Board: 30xxxx (e.g., 300001 - Technology stocks)
- STAR Market: 68xxxx (e.g., 688001 - Innovation companies)
5. Caching & Storage Layer
Three-Tier Cache Architecture
Tier 1: Redis (High-Performance Cache)
Memory-based → Sub-millisecond access → Real-time data
Tier 2: MongoDB (Persistent Storage)
Document-based → Structured storage → Historical data & analytics
Tier 3: File Cache (Fallback)
File-based → Reliable fallback → Always available
Cache Management Flow
Data Request
↓
Redis Check (Tier 1)
↓ (if miss)
MongoDB Check (Tier 2)
↓ (if miss)
File Cache Check (Tier 3)
↓ (if miss)
External API Call
↓
Store in All Tiers
Key Files:
tradingagents/dataflows/cache_manager.py - Cache coordination
tradingagents/dataflows/db_cache_manager.py - Database cache
tradingagents/dataflows/integrated_cache.py - Integrated cache system
tradingagents/dataflows/adaptive_cache.py - Adaptive cache strategies
tradingagents/config/database_manager.py - Database connections
tradingagents/config/mongodb_storage.py - MongoDB operations
Database Schema Design
MongoDB Collections:
stock_data - Historical stock prices and volumes
analysis_results - Agent analysis outputs
token_usage - LLM API usage tracking
cache_metadata - Cache management information
user_sessions - User interaction history
Redis Key Patterns:
stock:{symbol}:{date} - Daily stock data
analysis:{symbol}:{timestamp} - Analysis results
news:{symbol}:{date} - News sentiment data
cache:meta:{key} - Cache metadata
🔄 Data Flow Patterns
1. Analysis Workflow
User Input (CLI)
↓
Market Selection & Validation
↓
Data Retrieval (Multi-source)
↓
Agent Analysis (Multi-LLM)
↓
Result Aggregation
↓
Output Generation
↓
Cache Storage
2. Cache Workflow
Data Request
↓
Cache Key Generation
↓
Tier 1 (Redis) Check
↓ (if miss)
Tier 2 (MongoDB) Check
↓ (if miss)
Tier 3 (File) Check
↓ (if miss)
External API Call
↓
Multi-tier Storage
↓
Response to User
3. Error Handling Workflow
Component Failure
↓
Error Detection
↓
Fallback Activation
↓
Alternative Path
↓
User Notification (if needed)
↓
Graceful Degradation
🛡️ Reliability & Scalability Features
High Availability Design
- Multi-LLM Fallback: Automatic provider switching
- Multi-tier Caching: Redundant data storage
- Graceful Degradation: System continues with reduced functionality
- Error Recovery: Automatic retry mechanisms
Scalability Features
- Database Clustering: MongoDB replica sets
- Cache Scaling: Redis clustering support
- Load Balancing: Multiple API endpoints
- Horizontal Scaling: Stateless agent design
Performance Optimization
- Intelligent Caching: Adaptive cache strategies
- Connection Pooling: Database connection management
- Async Processing: Non-blocking operations
- Data Compression: Efficient storage formats
🔧 Configuration Management
Environment-Based Configuration
.env File → Environment Variables → Runtime Configuration
Configuration Hierarchy
1. Environment Variables (.env)
2. Default Configuration (default_config.py)
3. Runtime Overrides (main.py)
4. Dynamic Configuration (config.py)
Configuration Categories
- API Keys: LLM providers and data sources
- Database Settings: MongoDB and Redis configuration
- Cache Settings: Cache TTL and strategies
- Market Settings: Supported markets and exchanges
- Agent Settings: Model selection and parameters
📊 Monitoring & Analytics
System Metrics
- API Usage: Token consumption and costs
- Cache Performance: Hit rates and response times
- Database Performance: Query times and storage usage
- Error Rates: Failure rates by component
Business Metrics
- Analysis Quality: Agent performance metrics
- User Engagement: Usage patterns and preferences
- Market Coverage: Supported symbols and exchanges
- Response Times: End-to-end analysis duration
🚀 Deployment Architecture
Development Environment
Local Machine → File Cache → Single LLM Provider → Basic Features
Production Environment
Application Server → Redis Cluster → MongoDB Replica Set → Multi-LLM → Full Features
Cloud Deployment Options
- Database: MongoDB Atlas, Redis Cloud
- Application: Docker containers, Kubernetes
- Load Balancing: Application load balancers
- Monitoring: Application performance monitoring
🔮 Future Architecture Enhancements
Planned Improvements
- Microservices Architecture: Service decomposition
- Event-Driven Architecture: Async message processing
- Machine Learning Pipeline: Automated model training
- Real-time Streaming: Live market data processing
- Global CDN: Distributed cache network
Extensibility Points
- New Market Support: Additional exchanges and regions
- New LLM Providers: Additional AI services
- Custom Agents: User-defined analysis agents
- Plugin System: Third-party integrations
- API Gateway: External service access
This architecture provides a robust, scalable foundation for global financial market analysis while maintaining flexibility for future enhancements and integrations.