Skip to content

callowo-stack/Multi-Agent-Trading-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ€– Multi-Agent Trading System

An advanced AI-powered trading framework that leverages multiple specialized agents to analyze markets and generate trading signals.

Python License Status

🎯 Overview

This system employs a multi-agent architecture where specialized AI agents collaborate to make informed trading decisions. Each agent represents a distinct investment philosophy or analytical approach, working together to achieve robust market analysis.

⚠️ Educational Purpose Only: This project is designed for learning and research. It simulates trading decisions without executing real trades.

πŸ—οΈ Architecture

Agent Hierarchy

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚           Portfolio Manager (Orchestrator)          β”‚
β”‚  β€’ Aggregates all agent signals                     β”‚
β”‚  β€’ Makes final trading decisions                    β”‚
β”‚  β€’ Manages position sizing                          β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                    β”‚
        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
        β”‚                       β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Strategy Agentsβ”‚    β”‚  Analysis Agents β”‚
β”‚                β”‚    β”‚                  β”‚
β”‚ β€’ Value        β”‚    β”‚  β€’ Fundamentals  β”‚
β”‚ β€’ Growth       β”‚    β”‚  β€’ Technicals    β”‚
β”‚ β€’ Momentum     β”‚    β”‚  β€’ Sentiment     β”‚
β”‚ β€’ Contrarian   β”‚    β”‚  β€’ Risk Manager  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Specialized Agents

Investment Philosophy Agents:

  • Value Agent: Identifies undervalued assets with strong fundamentals
  • Growth Agent: Focuses on high-potential disruptive companies
  • Momentum Agent: Captures trending market movements
  • Contrarian Agent: Finds opportunities in market inefficiencies

Analysis Agents:

  • Fundamentals Agent: Analyzes financial statements and metrics
  • Technicals Agent: Processes price action and technical indicators
  • Sentiment Agent: Evaluates market sentiment from news and social data
  • Risk Manager: Calculates risk metrics and sets position limits

Orchestration:

  • Portfolio Manager: Synthesizes all signals and makes final decisions

πŸš€ Key Features

✨ Multi-Agent Collaboration

  • Diverse Perspectives: Each agent brings unique analytical strengths
  • Consensus Mechanism: Weighted voting system for trade signals
  • Conflict Resolution: Risk manager provides final safety checks

πŸ“Š Comprehensive Analysis

  • Fundamental Analysis: P/E ratios, revenue growth, profit margins
  • Technical Analysis: Moving averages, RSI, MACD, volume patterns
  • Sentiment Analysis: News sentiment, social media trends
  • Risk Assessment: Volatility metrics, drawdown analysis, correlation

🎯 Intelligent Decision Making

  • Signal Aggregation: Combines multiple data sources
  • Position Sizing: Dynamic allocation based on conviction levels
  • Risk Management: Stop-loss, take-profit, and position limits
  • Portfolio Optimization: Diversification and rebalancing

πŸ”§ Extensible Framework

  • Modular Design: Easy to add new agents or strategies
  • Pluggable Data Sources: Support for multiple market data APIs
  • Backtesting Engine: Historical performance simulation
  • Logging & Monitoring: Comprehensive trade and performance tracking

πŸ’‘ How It Works

1. Data Collection

Each agent retrieves relevant market data from configured sources:

  • Price data (OHLCV)
  • Financial statements
  • News articles
  • Market sentiment indicators

2. Agent Analysis

Agents independently analyze the data using their specialized methodology:

# Example: Value Agent analyzing a stock
value_signal = value_agent.analyze(ticker="AAPL")
# Returns: {
#   "action": "BUY",
#   "conviction": 0.75,
#   "reasoning": "Trading below intrinsic value with strong moat"
# }

3. Signal Aggregation

The Portfolio Manager collects all agent signals:

signals = {
    "value_agent": {"action": "BUY", "conviction": 0.75},
    "growth_agent": {"action": "HOLD", "conviction": 0.45},
    "momentum_agent": {"action": "BUY", "conviction": 0.82},
    "technical_agent": {"action": "BUY", "conviction": 0.68},
}

4. Decision & Execution

Based on weighted consensus and risk constraints:

# Weighted decision
final_decision = portfolio_manager.decide(signals)
# Output: "BUY 50 shares AAPL" (if consensus > threshold)

πŸ“ Project Structure

Multi-Agent-Trading-System/
β”‚
β”œβ”€β”€ agents/
β”‚   β”œβ”€β”€ base_agent.py           # Abstract base class for all agents
β”‚   β”œβ”€β”€ value_agent.py          # Value investing strategy
β”‚   β”œβ”€β”€ growth_agent.py         # Growth investing strategy
β”‚   β”œβ”€β”€ momentum_agent.py       # Momentum trading strategy
β”‚   β”œβ”€β”€ fundamentals_agent.py   # Financial analysis
β”‚   β”œβ”€β”€ technicals_agent.py     # Technical analysis
β”‚   β”œβ”€β”€ sentiment_agent.py      # Market sentiment analysis
β”‚   β”œβ”€β”€ risk_manager.py         # Risk assessment
β”‚   └── portfolio_manager.py    # Orchestration & final decisions
β”‚
β”œβ”€β”€ data/
β”‚   β”œβ”€β”€ data_fetcher.py         # Market data retrieval
β”‚   β”œβ”€β”€ preprocessor.py         # Data cleaning & transformation
β”‚   └── cache.py                # Data caching utilities
β”‚
β”œβ”€β”€ backtesting/
β”‚   β”œβ”€β”€ engine.py               # Backtesting framework
β”‚   β”œβ”€β”€ metrics.py              # Performance calculations
β”‚   └── visualizer.py           # Results visualization
β”‚
β”œβ”€β”€ utils/
β”‚   β”œβ”€β”€ config.py               # Configuration management
β”‚   β”œβ”€β”€ logger.py               # Logging utilities
β”‚   └── helpers.py              # Helper functions
β”‚
β”œβ”€β”€ main.py                     # Entry point
β”œβ”€β”€ requirements.txt            # Python dependencies
β”œβ”€β”€ .env.example                # Environment variables template
└── README.md                   # This file

πŸ› οΈ Installation

Prerequisites

  • Python 3.11 or higher
  • pip package manager

Setup

  1. Clone the repository
git clone https://github.com/YOUR_USERNAME/Multi-Agent-Trading-System.git
cd Multi-Agent-Trading-System
  1. Create virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. Install dependencies
pip install -r requirements.txt
  1. Configure environment
cp .env.example .env
# Edit .env with your API keys (if using real data sources)

πŸš€ Usage

Basic Example

from agents import PortfolioManager
from agents import ValueAgent, GrowthAgent, TechnicalAgent
from data import DataFetcher

# Initialize agents
value = ValueAgent()
growth = GrowthAgent()
technical = TechnicalAgent()

# Create portfolio manager
portfolio = PortfolioManager(
    agents=[value, growth, technical],
    capital=100000,
    risk_limit=0.02  # 2% max risk per trade
)

# Analyze a stock
ticker = "AAPL"
decision = portfolio.analyze_and_decide(ticker)

print(f"Decision: {decision['action']}")
print(f"Position Size: {decision['shares']} shares")
print(f"Reasoning: {decision['reasoning']}")

Running Backtests

from backtesting import BacktestEngine

engine = BacktestEngine(
    portfolio_manager=portfolio,
    start_date="2020-01-01",
    end_date="2023-12-31",
    initial_capital=100000
)

results = engine.run(tickers=["AAPL", "MSFT", "GOOGL"])
results.plot()  # Visualize performance

πŸ“Š Performance Metrics

The system tracks comprehensive performance metrics:

  • Returns: Total return, annualized return, monthly returns
  • Risk: Volatility, Sharpe ratio, maximum drawdown
  • Win Rate: Percentage of profitable trades
  • Trade Statistics: Average win/loss, profit factor
  • Agent Contribution: Individual agent performance analysis

πŸ”‘ Key Technologies

  • Python 3.11+: Core programming language
  • Pandas: Data manipulation and analysis
  • NumPy: Numerical computing
  • Scikit-learn: Machine learning utilities
  • Matplotlib/Plotly: Data visualization
  • Requests: API data fetching

πŸŽ“ Educational Value

This project demonstrates:

  1. Software Architecture: Multi-agent systems, design patterns
  2. Financial Analysis: Fundamental, technical, and sentiment analysis
  3. Risk Management: Position sizing, portfolio optimization
  4. Data Engineering: API integration, data processing, caching
  5. Machine Learning: Signal processing, pattern recognition

⚠️ Disclaimer

This software is for educational purposes only.

  • Does not constitute financial advice
  • Past performance does not guarantee future results
  • Trading involves substantial risk of loss
  • The authors assume no liability for financial losses
  • Always consult with licensed financial advisors

🀝 Contributing

Contributions are welcome! Areas for improvement:

  • Additional trading agents (e.g., mean reversion, pairs trading)
  • Enhanced risk management algorithms
  • Integration with more data sources
  • Advanced backtesting features
  • Machine learning model improvements

πŸ“„ License

MIT License - see LICENSE file for details

πŸ“¬ Contact

Calvin Owoade
Portfolio: [your-portfolio-site.com]
LinkedIn: [linkedin.com/in/your-profile]
GitHub: @callowo-stack


Built with 🧠 for learning algorithmic trading and multi-agent systems

About

AI-powered trading framework with multiple specialized agents for market analysis and signal generation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages