A comprehensive desktop application for stock market analysis, trading, and portfolio management designed for day traders and financial analysts.
- Data Grid: Historical data from Redline utility and live feed data
- Models Grid: ML models (ADM, CIPO, BICIPO) with performance metrics
- AI Module: AI-driven trading strategies and risk management
- Message Bus: ZeroMQ-based inter-module communication
- Multi-asset Support: Stocks, currencies, cryptocurrencies, and commodities
- Modular, multi-process architecture
- Each module operates as standalone application
- Centralized Message Bus for communication
- Grid-based UI with interactive visualizations
- M3 Silicon (ARM64) optimized
- Python 3.12+
- Conda or Mamba
- PostgreSQL (optional, for remote storage)
- Clone the repository:
git clone <repository-url>
cd TradePulse- Create conda environment:
mamba env create -f environment.yml
conda activate tradepulse- Install dependencies:
pip install -r requirements.txt- Configure the application:
# Edit config.json with your settings- Run the application:
python main.pyTradePulse/
├── main.py # Main application entry point
├── module_manager.py # Module management and orchestration
├── config.json # Configuration file
├── data_grid/ # Data collection and visualization
├── models_grid/ # ML models and predictions
├── ai_module/ # AI trading strategies
├── utils/ # Shared utilities
├── tests/ # Test suite
└── docker-compose.yml # Docker orchestration
python main.pyThis launches the complete TradePulse system with all modules running.
python -m data_gridWhat it does:
- Fetches historical and live market data
- Creates interactive charts (candlestick, line, volume)
- Exports data to various formats (CSV, Excel, JSON)
- Manages data sources and caching
python -m models_gridWhat it does:
- Trains and evaluates ML models (ADM, CIPO, BICIPO)
- Generates predictions and performance metrics
- Manages model selection and feature importance
- Provides model comparison and analysis
python -m ai_moduleWhat it does:
- Generates AI-driven trading strategies
- Manages risk assessment and position sizing
- Optimizes portfolio allocation
- Analyzes market conditions and confidence scores
python -m pytest tests/python -m pytest tests/test_integration.py
python -m pytest tests/test_components.py
python -m pytest tests/test_utilities.pypython -m pytest tests/ --cov=. --cov-report=htmldocker-compose updocker-compose up data_grid models_grid ai_moduledocker-compose up -ddocker-compose logs -fEdit config.json to configure:
- Database connections (SQLite, PostgreSQL, DuckDB)
- API keys and data sources
- ML model parameters
- Trading parameters
- Visualization preferences
- Alert thresholds
All modules communicate through the Message Bus:
- Publish/Subscribe pattern using ZeroMQ
- Heartbeat monitoring for health checks
- Automatic reconnection on failures
- Message queuing for reliability
- Maximum 200 lines per file (enforced)
- Shared utilities in
utils/directory - Consolidated performance metrics
- No duplicate code across modules
- Create module directory with
__init__.py - Implement
__main__.pyentry point - Add to
module_manager.py - Update
config.jsonif needed
# Set environment variable for development
export TRADEPULSE_DEV=1
# Run with debug logging
python -m data_grid --debug-
Module Connection Failed
- Check Message Bus is running
- Verify network ports (default: 5555-5560)
- Check firewall settings
-
Database Connection Error
- Verify database credentials in
config.json - Check database service is running
- Test connection manually
- Verify database credentials in
-
ML Model Training Fails
- Check available memory
- Verify data quality and format
- Check model parameters in config
# View application logs
tail -f logs/tradepulse.log
# Run with verbose output
python main.py --verbose
# Check module health
python module_manager.py --health-check- Minimum: 8GB RAM, 4 CPU cores
- Recommended: 16GB RAM, 8 CPU cores
- Storage: 10GB+ for data and models
- Network: Stable internet for live data
- Use SSD storage for database
- Enable data caching in config
- Adjust ML model complexity
- Monitor memory usage
[License information]
For issues and questions, please refer to the documentation or create an issue in the repository.