Welcome to your personal AI-powered investment assistant! This project democratizes professional-grade investment strategies using AI, making hedge fund-level analysis accessible to everyone.
Multi-Agent System:
- Investment Agent - Collects preferences via questionnaire and creates investment strategy
- Portfolio Agent - Translates strategy into concrete ETF portfolio (max 4 ETFs)
- Analyst Agents - Comprehensive analysis including:
- Fees Agent - Analyzes Total Expense Ratios (TER)
- Diversification Agent - Evaluates asset class, geography, and sector distribution
- Alignment Agent - Assesses risk tolerance and time horizon alignment
- Performance Agent - Calculates CAGR, volatility, Sharpe ratio, max drawdown, alpha & beta
- Analysis Orchestrator - Aggregates all analyses for final reporting
β οΈ Disclaimer: This project is for educational and research purposes only. Not financial advice. Consult a qualified professional before making investment decisions.
- AI-Driven Analysis - Advanced market data analysis and strategy suggestions
- Portfolio Management - Build and track ETF-based investment portfolios
- Educational Tool - Learn LangGraph and AI applications in finance
- Python 3.10+
- API Keys Required:
- OpenAI API Key (or Google/Anthropic) - For LLM functionality
- Polygon.io API Key - For financial data (free tier available)
# Clone and navigate
git clone https://github.com/matvix90/ai-robo-advisor.git
cd ai-robo-advisor
# Setup environment
python3 -m venv venv && source venv/bin/activate
pip install -e .
# Configure API keys
cp .env.example .env
# Edit .env with your API keys
# Run the advisor
run-advisorgit clone https://github.com/matvix90/ai-robo-advisor.git
cd ai-robo-advisorpython3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activatepip install -e .# Copy example environment file
cp .env.example .env
# Edit .env file with your keys:
# OPENAI_API_KEY=your-openai-api-key
# POLYGON_API_KEY=your-polygon-api-keyNote: Portfolios limited to 4 ETFs and 2 years of data (free Polygon.io constraints).
Complete Docker environment for consistent, cross-platform development. Eliminates "works on my machine" issues with optimized multi-stage builds.
# Setup
cp .env.example .env
# Edit .env with your API keys
# Validate and start (recommended)
./docker-run.sh validate
./docker-run.sh
# Or manual approach
./docker/validate-setup.sh
./docker-run.sh up --build# Quick commands
./docker-run.sh # Start development environment
./docker-run.sh down # Stop containers
./docker-run.sh logs # View logs
./docker-run.sh shell # Interactive shell
./docker-run.sh test # Run tests
# Advanced usage
./docker-run.sh interactive # Development container with tools
./docker-run.sh prod # Production mode
./docker-run.sh clean # Clean up everything
./docker-run.sh help # Show all commands- Multi-stage builds: Base β Dependencies β Development/Production/Interactive
- Hot-reload: Source code changes reflected instantly
- Optimized images: Separate dev/prod configurations
- Security: Non-root user, isolated environment
π Complete Docker Guide - Detailed setup, troubleshooting, and advanced usage.
# Basic run
run-advisor
# Show AI reasoning process
run-advisor --show-reasoningComprehensive test suite for code quality and regression prevention.
# Run all tests
python -m pytest tests/
# OR
./run_tests.sh
# Run with coverage
python -m pytest tests/ --cov=src --cov-report=html
# Test categories
python -m pytest tests/ -m unit # Unit tests only
python -m pytest tests/ -m integration # Integration tests
python -m pytest tests/ -m "not slow" # Fast testspip install -e ".[test]"Contributions welcome! Please:
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit changes (
git commit -m 'Add AmazingFeature') - Push to branch (
git push origin feature/AmazingFeature) - Open a Pull Request
See CONTRIBUTING.md for detailed guidelines.
Distributed under the MIT License. See LICENSE for more information.


