
gittech. site
for different kinds of informations and explorations.
FinAgents - An AI based investment committee
FinAgents
A multi-agent system that simulates a debate between famous investors analyzing stock investment opportunities.
Overview
FinAgents creates a virtual investment committee where AI agents with personas of famous investors like Warren Buffett and Cathie Wood debate whether stocks are good investments. The system:
- Gathers real financial data using yfinance
- Has specialized analyst agents evaluate different aspects of the stock
- Has investor agents with unique investment philosophies debate the merits
- Synthesizes a comprehensive investment recommendation
Key Features
- Parallel Processing: Agents run concurrently for faster analysis
- Diverse Perspectives: 5 famous investor personas with unique philosophies
- Specialized Analysis: 5 types of analyst agents focus on different aspects
- Real Market Data: Uses yfinance to pull actual stock information
- Comprehensive Output: Generates detailed reports saved as Markdown files
Investor Personas
- Warren Buffett: Value investing, long-term perspective
- Ray Dalio: Macro investing, economic cycles
- Cathie Wood: Growth and disruptive innovation
- Peter Lynch: Growth at a reasonable price
- Michael Burry: Contrarian investing, spotting market inefficiencies
Setup
- Create a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Set up environment variables:
Create a
.env
file with:
ANTHROPIC_API_KEY=your_api_key_here
DEFAULT_MODEL=claude-3-7-sonnet-20250219
STOCK_DATA_SOURCE=yfinance
Usage
Run the main script:
python main.py
The system will analyze Microsoft (MSFT) by default, using all agents in parallel, and save detailed reports to the results
directory.
Output Files
For each analyzed stock (e.g., MSFT):
results/MSFT_decision.md
: Final synthesized investment recommendationresults/MSFT_detailed_analysis.md
: Detailed reports from all analysts and investors
Project Structure
finagents/
βββ main.py # Main script to run the system
βββ src/
β βββ agents/
β β βββ investor_agents.py # Famous investor personas
β β βββ analyst_agents.py # Financial analyst agents
β β βββ debate_manager.py # Orchestrates the analysis process
β βββ utils/
β β βββ stock_data.py # Functions for retrieving stock data
βββ tests/ # Comprehensive test suite
β βββ unit/ # Unit tests for individual components
β βββ integration/ # Integration tests for the whole system
βββ results/ # Output directory for analysis reports
βββ requirements.txt # Project dependencies
βββ .env # Environment variables (API keys)
βββ run_tests.py # Script to run all tests
βββ README.md # This file
βββ ARCHITECTURE.md # Detailed system architecture
βββ QUICKSTART.md # Quick start guide
βββ PERSONAS.md # Detailed guide to agent personas
βββ EXTENDING.md # Guide for extending the system
Requirements
- Python 3.8+
- Anthropic API key (for Claude 3.7)
- Internet connection (for financial data retrieval)
Running Tests
The project includes a test suite focusing on core data utilities and file operations:
python run_tests.py
This will run the stock data utility tests and output file tests, providing a detailed report.
License
MIT
DISCLAIMER:
This project is purely educational. The AI-generated personas are fictional and do not represent real statements or endorsements from Warren Buffett, Ray Dalio, Cathie Wood, Peter Lynch, or Michael Burry.