{"id":"cd9ae6d7-a40e-41f9-b49c-d0dfc36ab712","entityType":"agent","slug":"crewai-yohan-christmith-smart-investor-swarm","name":"smart-investor-swarm","canonicalUrl":"https://www.xpersona.co/agent/crewai-yohan-christmith-smart-investor-swarm","canonicalPath":"/agent/crewai-yohan-christmith-smart-investor-swarm","generatedAt":"2026-10-10T07:21:07.804Z","source":"GITHUB_REPOS","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-09T22:27:16.905Z","emptyReason":null},"description":"A locally-hosted Multi-Agent System (MAS) powered by CrewAI and Ollama that automates comprehensive stock investment research, technical analysis, and report generation. 🚀 Smart Investor Swarm A locally-hosted **Multi-Agent System (MAS)** that automates comprehensive stock investment research using AI agents powered by **Ollama** and orchestrated by **CrewAI**. This project leverages a sequential pipeline of four specialized AI agents to analyze stock data, gauge market sentiment, evaluate fundamentals, and generate a professional investment report with actionable recommendations (B","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 2 GitHub stars reported by the source. Last updated 10/9/2026.","installCommand":null,"sourceUrl":"https://github.com/Yohan-Christmith/smart-investor-swarm","homepage":null,"primaryLinks":[{"label":"View Source","url":"https://github.com/Yohan-Christmith/smart-investor-swarm","kind":"source"}],"safetyScore":66,"overallRank":20.4,"popularityScore":12,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"A locally-hosted Multi-Agent System (MAS) powered by CrewAI and Ollama that automates comprehensive stock investment research, technical analysis, and report ge"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-09T22:27:16.905Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[{"label":"crewai","status":"self-declared"},{"label":"multi-agent","status":"self-declared"}],"verifiedCount":0,"selfDeclaredCount":3,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"},{"key":"crewai","type":"capability","support":"supported","confidenceSource":"profile","notes":"Declared in agent profile metadata"},{"key":"multi-agent","type":"capability","support":"supported","confidenceSource":"profile","notes":"Declared in agent profile metadata"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile capability:crewai|supported|profile capability:multi-agent|supported|profile"}},"adoption":{"evidence":{"source":"GITHUB REPOS","verified":false,"confidence":"medium","updatedAt":"2026-10-09T22:27:16.905Z","emptyReason":null},"stars":2,"forks":0,"downloads":null,"packageName":null,"latestVersion":null,"tractionLabel":"2 GitHub stars"},"release":{"evidence":{"source":"agent-index","verified":false,"confidence":"medium","updatedAt":"2026-10-09T22:27:16.900Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T22:27:16.905Z","lastCrawledAt":"2026-10-09T22:27:16.900Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-16T22:27:16.900Z","lastVerifiedAt":null,"highlights":[]},"execution":{"evidence":{"source":"GITHUB REPOS","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":null,"setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/crewai-yohan-christmith-smart-investor-swarm/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/crewai-yohan-christmith-smart-investor-swarm/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/crewai-yohan-christmith-smart-investor-swarm/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/crewai-yohan-christmith-smart-investor-swarm/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/crewai-yohan-christmith-smart-investor-swarm/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/crewai-yohan-christmith-smart-investor-swarm/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"GITHUB_REPOS","generatedAt":"2026-10-10T07:21:07.804Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/crewai-yohan-christmith-smart-investor-swarm/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/crewai-yohan-christmith-smart-investor-swarm/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/crewai-yohan-christmith-smart-investor-swarm/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/crewai-yohan-christmith-smart-investor-swarm/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"GITHUB REPOS","verified":false,"confidence":"high","updatedAt":"2026-10-09T22:27:16.905Z","emptyReason":null},"readme":"# 🚀 Smart Investor Swarm\n\nA locally-hosted **Multi-Agent System (MAS)** that automates comprehensive stock investment research using AI agents powered by **Ollama** and orchestrated by **CrewAI**.\n\nThis project leverages a sequential pipeline of four specialized AI agents to analyze stock data, gauge market sentiment, evaluate fundamentals, and generate a professional investment report with actionable recommendations (Buy/Hold/Sell).\n\n---\n\n## 📋 Table of Contents\n1. [Overview](#-overview)\n2. [Architecture](#%EF%B8%8F-architecture)\n3. [Tech Stack](#%EF%B8%8F-tech-stack)\n4. [Prerequisites](#-prerequisites)\n5. [Installation & Setup](#-installation--setup)\n6. [Configuration](#%EF%B8%8F-configuration)\n7. [Running the System](#-running-the-system)\n8. [Running Tests](#-running-tests)\n9. [Troubleshooting](#%EF%B8%8F-troubleshooting)\n10. [Project Structure](#-project-structure)\n\n---\n\n## 📋 Overview\n\nThe **Smart Investor Swarm** takes a single stock ticker (e.g., `AAPL`, `GOOGL`) and orchestrates a team of 4 AI agents to perform a deep-dive analysis. Each agent builds upon the findings of the previous one, ensuring a cohesive and comprehensive final report.\n\n---\n\n## 🏗️ Architecture\n\nThe system uses a **sequential workflow** where context flows from one agent to the next:\n\n```\nUser Input (ticker: \"AAPL\")\n    │\n    ▼\n┌────────────────────────────────────┐\n│ Agent 1: Technical Data Collector  │  ← yfinance tool (SMA, RSI, MACD)\n└──────────────┬─────────────────────┘\n               │ context passed\n               ▼\n┌────────────────────────────────────┐\n│ Agent 2: Sentiment Analyst         │  ← News scraper tool (BeautifulSoup)\n└──────────────┬─────────────────────┘\n               │ context passed\n               ▼\n┌────────────────────────────────────┐\n│ Agent 3: Fundamental Analyst       │  ← yfinance fundamentals tool\n└──────────────┬─────────────────────┘\n               │ context passed\n               ▼\n┌────────────────────────────────────┐\n│ Agent 4: Portfolio Strategist      │  ← Report writer tool (Markdown)\n└────────────────────────────────────┘\n               │\n               ▼\n        📄 Final Report (./reports/)\n```\n\n### The 4 Specialized Agents:\n1. **Technical Analyst**: Fetches and analyzes historical price data, SMA, RSI, and MACD.\n2. **Sentiment Analyst**: Scrapes recent news headlines and evaluates market sentiment.\n3. **Fundamental Analyst**: Evaluates balance sheets, income statements, and valuation metrics.\n4. **Portfolio Strategist**: Synthesizes all data into a final report with a Buy/Hold/Sell rating.\n\n---\n\n## 🛠️ Tech Stack\n\n- **Orchestration**: [CrewAI](https://github.com/crewAIInc/crewAI)\n- **Local LLM**: [Ollama](https://ollama.ai/) (Default: `llama3.2` or `qwen2.5`)\n- **Data Sources**: `yfinance` (Financials), `requests` + `BeautifulSoup4` (News)\n- **Testing**: `pytest` + LLM-as-a-Judge methodology\n\n---\n\n## ⚙️ Prerequisites\n\nBefore you begin, ensure you have the following installed:\n\n1. **Python 3.10 or higher**\n2. **Ollama** (Download from [ollama.com](https://ollama.com))\n\n---\n\n## 🚀 Installation & Setup\n\nFollow these steps to get the project running locally:\n\n### 1. Clone the Repository\n```bash\ngit clone <your-repository-url>\ncd smart-investor-swarm\n```\n\n### 2. Set Up a Virtual Environment\n**On Windows:**\n```powershell\npython -m venv .venv\n.venv\\Scripts\\activate\n```\n\n**On macOS/Linux:**\n```bash\npython3 -m venv .venv\nsource .venv/bin/activate\n```\n\n### 3. Install Dependencies\n```bash\npip install -r requirements.txt\n```\n\n### 4. Start Ollama and Pull the Model\nMake sure the Ollama application is running in the background, then pull the required model:\n\n```bash\nollama pull llama3.2\n```\n*(Optional: If you prefer using `qwen2.5`, run `ollama pull qwen2.5` and update the `.env` file accordingly).*\n\n---\n\n## 🛠️ Configuration\n\nThe project uses a `.env` file for configuration. A default one is provided, but you can modify it if needed.\n\n**File:** `.env`\n```env\n# Ollama Configuration\nOLLAMA_BASE_URL=http://localhost:11434\nOLLAMA_MODEL=llama3.2\n\n# Application Settings\nLOG_LEVEL=INFO\nREPORTS_DIR=./reports\n```\n\n---\n\n## 📈 Running the System\n\nTo run the full multi-agent analysis for a specific stock ticker, use:\n\n```bash\npython main.py <TICKER>\n```\n\n**Example:**\n```bash\npython main.py MSFT\n```\n\nThe execution will print logs to the console and save a detailed Markdown report in the `./reports/` directory.\n\n---\n\n## 🧪 Running Tests\n\nThe project includes both standard unit tests and **LLM-as-a-Judge** evaluations to verify agent behavior.\n\nEnsure Ollama is running before executing tests.\n\n**Run all tests:**\n```bash\npytest tests/ -v\n```\n\n**Run tests for a specific agent:**\n```bash\npytest tests/test_technical_agent.py -v\n```\n\n---\n\n## 🛠️ Troubleshooting\n\n### 1. Connection Refused to Ollama\n**Error:** `Failed to establish a new connection: [Errno 111] Connection refused`\n- **Fix:** Ensure the Ollama application is running on your machine. Check if `http://localhost:11434` is accessible in your browser.\n\n### 2. Model Not Found\n**Error:** `model 'llama3.2' not found, try pulling it first`\n- **Fix:** Run `ollama pull llama3.2` in your terminal.\n\n### 3. Rate Limits / yfinance Issues\n- **Fix:** `yfinance` sometimes gets blocked if queried too frequently. Wait a few minutes or switch networks if data retrieval fails consistently.\n\n---\n\n## 📁 Project Structure\n\n```\nsmart-investor-swarm/\n├── main.py                         # Application Entry Point\n├── requirements.txt                # Python Dependencies\n├── .env                            # Configuration File\n├── src/\n│   ├── config.py                   # Environment & Path Loader\n│   ├── crew.py                     # CrewAI Assembly & Execution\n│   ├── agents/                     # Agent Definitions\n│   ├── tasks/                      # CrewAI Task Definitions\n│   ├── tools/                      # Custom Python Tools\n│   └── utils/                      # Logging & Utilities\n├── tests/                          # Test Suites & LLM Judges\n└── reports/                        # Generated Investment Reports\n```\n\n---\n\n## 📄 License\n\nThis project is for educational purposes only. **This is not financial advice.** Use at your own risk.\n","readmeExcerpt":"🚀 Smart Investor Swarm A locally-hosted **Multi-Agent System (MAS)** that automates comprehensive stock investment research using AI agents powered by **Ollama** and orchestrated by **CrewAI**. This project leverages a sequential pipeline of four specialized AI agents to analyze stock data, gauge market sentiment, evaluate fundamentals, and generate a professional investment report with actionable recommendations (B","codeSnippets":[],"executableExamples":[{"language":"text","snippet":"User Input (ticker: \"AAPL\")\n    │\n    ▼\n┌────────────────────────────────────┐\n│ Agent 1: Technical Data Collector  │  ← yfinance tool (SMA, RSI, MACD)\n└──────────────┬─────────────────────┘\n               │ context passed\n               ▼\n┌────────────────────────────────────┐\n│ Agent 2: Sentiment Analyst         │  ← News scraper tool (BeautifulSoup)\n└──────────────┬─────────────────────┘\n               │ context passed\n               ▼\n┌────────────────────────────────────┐\n│ Agent 3: Fundamental Analyst       │  ← yfinance fundamentals tool\n└──────────────┬─────────────────────┘\n               │ context passed\n               ▼\n┌────────────────────────────────────┐\n│ Agent 4: Portfolio Strategist      │  ← Report writer tool (Markdown)\n└────────────────────────────────────┘\n               │\n               ▼\n        📄 Final Report (./reports/)"},{"language":"bash","snippet":"git clone <your-repository-url>\ncd smart-investor-swarm"},{"language":"powershell","snippet":"python -m venv .venv\n.venv\\Scripts\\activate"},{"language":"bash","snippet":"python3 -m venv .venv\nsource .venv/bin/activate"},{"language":"bash","snippet":"pip install -r requirements.txt"},{"language":"bash","snippet":"ollama pull llama3.2"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[],"languages":["python"],"docsSourceLabel":"GITHUB REPOS","editorialOverview":"A locally-hosted Multi-Agent System (MAS) powered by CrewAI and Ollama that automates comprehensive stock investment research, technical analysis, and report generation. 🚀 Smart Investor Swarm A locally-hosted **Multi-Agent System (MAS)** that automates comprehensive stock investment research using AI agents powered by **Ollama** and orchestrated by **CrewAI**. This project leverages a sequential pipeline of four specialized AI agents to analyze stock data, gauge market sentiment, evaluate fundamentals, and generate a professional investment report with actionable recommendations (B","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":388,"uniquenessScore":64,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T22:27:16.905Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-09T22:27:16.905Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T07:21:07.804Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/github_repos","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}