2 KiB
2 KiB
Stock Bot Trading Platform
Project Purpose
This is an advanced trading bot platform with a microservice architecture designed for automated stock trading. The system includes:
- Market data ingestion from multiple providers (Yahoo Finance, QuoteMedia, Interactive Brokers, WebShare)
- Data processing and technical indicator calculation
- Trading strategy development and backtesting
- Order execution and risk management
- Portfolio tracking and performance analytics
- Web dashboard for monitoring
Architecture Overview
The project follows a microservices architecture with shared libraries:
Core Services (apps/)
- data-ingestion: Ingests market data from multiple providers
- data-pipeline: Processes and transforms data
- web-api: REST API service
- web-app: React-based dashboard
Shared Libraries (libs/)
Core Libraries:
- config: Environment configuration with Zod validation
- logger: Structured logging with Loki integration
- di: Dependency injection container
- types: Shared TypeScript types
- handlers: Common handler patterns
Data Libraries:
- postgres: PostgreSQL client for transactional data
- questdb: Time-series database for market data
- mongodb: Document storage for configurations
Service Libraries:
- queue: BullMQ-based job processing
- event-bus: Dragonfly/Redis event bus
- shutdown: Graceful shutdown management
Utils:
- Financial calculations and technical indicators
- Date utilities
- Position sizing calculations
Database Strategy
- PostgreSQL: Transactional data (orders, positions, strategies)
- QuestDB: Time-series data (OHLCV, indicators, performance metrics)
- MongoDB: Document storage (configurations, raw API responses)
- Dragonfly/Redis: Event bus and caching layer
Current Development Phase
Phase 1: Data Foundation Layer (In Progress)
- Enhancing data provider reliability
- Implementing data validation
- Optimizing time-series storage
- Building robust HTTP client with circuit breakers