股票研究多代理服务器

一个用于全面股票研究和分析的多代理模型上下文协议(MCP)服务器,支持自然语言查询并基于SEC文件和实时市场数据提供详细分析。

  • by sahupra1357
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 sahupra1357/StockSearhMCP

使用说明

股票研究MCP服务器

一个老练的 多代理模型上下文协议(MCP)服务器 用于全面的股票研究和分析。使用自然语言查询任何部门或行业,并获得美国证券交易委员会文件和实时市场数据支持的即时详细分析。

✨ 主要亮点

  • 🤖 多代理架构:三个专业的人工智能代理协同工作进行全面分析
  • 🔍 语义搜索:ChromaDB拥有8000多份公司SEC文件,支持自然语言查询
  • 🚀 零配置:首次使用时自动设置ChromaDB,并进行流媒体播放
  • 🌐 双接口:通过克劳德桌面(MCP)或Gradio网络界面使用
  • 📊 实时数据:与雅虎财经和OpenAI整合,以获取当前市场洞察
  • ⚡ 快速高效:初始设置后分析查询的延迟约为355ms

📑 目录

🚀 特性

🤖 多代理系统

三位专业代理携手合作:

  1. 股票搜索代理

    • 通过ChromaDB对SEC文件进行语义搜索
    • 雅虎财经API独家直播数据 (无模拟数据)
    • 使用自然语言查询查找公司
  2. 股票分类代理

    • 按价格范围对股票进行分组
    • 高:>100美元,中:10-100美元,低:<10美元
    • 智能分类逻辑
  3. 股票分析代理

    • 价格趋势分析(看涨/看跌模式)
    • 雅虎财经独家直播新闻 AI情绪分析
    • 雅虎财经独家直播活动 (收益日期、股息、除息日期)
    • 基于人工智能的投资建议

📊 完整的分析流程

当您查询任何部门/行业时:

  1. 语义搜索 → 从SEC文件数据库中查找相关公司
  2. 实时数据获取 → 从雅虎财经获取当前价格、变化、市值(无模拟数据)
  3. 分类 → 按价格区间对股票进行分组
  4. 深入分析 → 对于每只股票:
    • 价格趋势和势头
    • 雅虎财经独家直播新闻 AI情绪分析
    • 雅虎财经独家直播活动 (收益日期、股息表)
    • 基于人工智能的投资推荐

🔍 ChromaDB集成

  • 自动构建:第一个查询触发一次性设置(20-40分钟)
  • 8000多家公司:从SEC EDGAR文件中索引
  • 语义搜索:对部门/行业的自然语言理解
  • 永久存储:数据库永久保存,以备将来即时查询
  • 流媒体进度:初始构建期间的实时更新

📦 安装和快速启动

先决条件

  • Python 3.10+ 或更高
  • 点 包管理器
  • OpenAI API密钥 用于嵌入
  • 符合SEC标准的用户代理 用于文件下载

快速设置(5分钟)

# 1. Navigate to project directory
cd /Users/pradeepsahu/dev_data/StockSearhMCP

# 2. Create virtual environment
python3 -m venv .venv

# 3. Activate virtual environment
source .venv/bin/activate  # macOS/Linux
# .venv\Scripts\activate   # Windows

# 4. Install dependencies
pip install -e .

# 5. Set environment variables
export OPENAI_API_KEY="your-openai-api-key"
export SEC_API_USER_AGENT="YourCompany contact@youremail.com"

# 6. (Optional) Test installation
python test_installation.py

验证安装

# Quick test - should show analysis of technology stocks
python examples/basic_usage.py

🗄️ ChromaDB设置-首次使用时自动完成!

✨ 新:ChromaDB会根据您的第一个查询自动构建,无需手动设置!

运作原理

  1. 第一个查询:当您首次提出股票分析请求时,系统会自动:

    • 检测到ChromaDB不存在
    • 从SEC获取公司数据
    • 下载和处理文件
    • 在ChromaDB中构建嵌入和存储
    • 显示实时进度更新
    • 然后继续您的查询
  2. 后续查询:ChromaDB是永久存储的,因此未来的所有查询都是即时的!

所需的环境变量

在MCP配置中设置这些(请参阅下面的配置部分):

# Required: OpenAI API key for embeddings
OPENAI_API_KEY="your-openai-api-key"

# Required: SEC-compliant User-Agent
SEC_API_USER_AGENT="Your Company Name contact@youremail.com"

# Optional: Customize ChromaDB storage location (default: ./chroma_db)
CHROMA_PERSIST_DIR="./chroma_db"

# Optional: Adjust processing (lower = faster but fewer companies)
MAX_WORKERS="4"        # Parallel downloads (default: 4)
BATCH_SIZE="32"        # Embedding batch size (default: 32)

手动构建(可选)

如果您更喜欢在第一次查询之前构建ChromaDB:

cd /Users/pradeepsahu/dev_data/StockSearhMCP
source .venv/bin/activate

# Set environment variables
export OPENAI_API_KEY="your-key"
export SEC_API_USER_AGENT="YourCompany contact@example.com"

# Run builder
python src/sector/builder.py

备注:首次构建需要20-40分钟。您将在构建过程中看到进度更新。

⚙️ 配置

添加到您的MCP设置文件中,以连接Claude Desktop或其他MCP客户端。

macOS/Linux

编辑 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "stock-research": {
      "command": "/Users/pradeepsahu/dev_data/StockSearhMCP/.venv/bin/python",
      "args": [
        "-m",
        "stock_research_mcp.server"
      ],
      "env": {
        "PYTHONPATH": "/Users/pradeepsahu/dev_data/StockSearhMCP/src",
        "OPENAI_API_KEY": "your-openai-api-key-here",
        "SEC_API_USER_AGENT": "YourCompany contact@youremail.com",
        "CHROMA_PERSIST_DIR": "/Users/pradeepsahu/dev_data/StockSearhMCP/output/chroma_db",
        "USE_REAL_API": "true",
        "USE_CHROMA_SECTORS": "true",
        "MAX_WORKERS": "4",
        "BATCH_SIZE": "32"
      }
    }
  }
}

替代方案:使用已安装的脚本

安装后,您还可以使用:

{
  "mcpServers": {
    "stock-research": {
      "command": "/Users/pradeepsahu/dev_data/StockSearhMCP/.venv/bin/stock-research-mcp",
      "env": {
        "OPENAI_API_KEY": "your-openai-api-key-here",
        "CHROMA_PERSIST_DIR": "/Users/pradeepsahu/dev_data/StockSearhMCP/output/chroma_db",
        "USE_REAL_API": "true",
        "USE_CHROMA_SECTORS": "true"
      }
    }
  }
}

视窗

编辑 %APPDATA%\Claude\claude_desktop_config.json:

{
  "mcpServers": {
    "stock-research": {
      "command": "python",
      "args": [
        "-m",
        "stock_research_mcp.server"
      ],
      "env": {
        "PYTHONPATH": "C:\\Users\\YourUsername\\dev_data\\StockSearhMCP\\src",
        "OPENAI_API_KEY": "your-openai-api-key-here",
        "SEC_API_USER_AGENT": "YourCompany contact@youremail.com",
        "CHROMA_PERSIST_DIR": "C:\\Users\\YourUsername\\dev_data\\StockSearhMCP\\output\\chroma_db",
        "USE_REAL_API": "true",
        "USE_CHROMA_SECTORS": "true",
        "MAX_WORKERS": "4",
        "BATCH_SIZE": "32"
      }
    }
  }
}

🎯 用法-两种访问方式

1.🌐 Gradio Web界面(最简单)

启动web界面以获得用户友好的体验:

# Option 1: Using launch script
./launch_gradio.sh

# Option 2: Direct Python
python gradio_app.py

访问地址: http://localhost:7860

特征:

  • 🎨 具有实时进度条的漂亮web UI
  • 💡 示例行业(技术、医疗保健、生物技术等)
  • 📊 格式化报告中的即时分析结果
  • 📋 复制结果按钮
  • 🔄 数据库状态指示器
  • 📱 移动响应式设计

示例用法:

  1. 输入“技术”或单击示例按钮
  2. 点击“分析行业”
  3. 在首次ChromaDB构建期间观看进度(20-40分钟)
  4. 获取后续查询的即时结果
  5. 复制/共享分析报告

优势:

  • ✅ 无需MCP配置
  • ✅ 在没有Claude Desktop的情况下工作
  • ✅ 视觉进度跟踪
  • ✅ 易于与团队分享
  • ✅ API直接访问所有功能

2.🤖 克劳德桌面(MCP集成)

通过Claude Desktop进行人工智能交互:

配置后(请参阅配置部分),Claude会自动决定何时使用该工具。

✅ 触发该工具的查询:

"Analyze technology stocks"
"Show me healthcare sector analysis"
"What are the best semiconductor companies?"
"Use analyze_sector for renewable energy"
"Search for biotechnology stocks"

❌ 可能不会触发该工具的查询:

"Tell me about stocks" (too vague - Claude uses general knowledge)
"What's a good investment?" (general advice, not sector-specific)
"Explain the stock market" (educational, not analysis)

💡 专业提示:

  • 具体说明部门/行业
  • 使用行动词:“分析”、“搜索”、“查找”
  • 如果需要,明确地说“使用工具”
  • 开始新的对话,以可靠地使用工具

系统的工作原理

🎬 第一查询流 (一次性设置):

User asks: "Analyze biotechnology sector"
         ↓
System detects: No ChromaDB found
         ↓
Automatic Build Starts (streaming progress):
  📥 Step 1: Fetching company tickers from SEC → 8,000 companies
  📄 Step 2: Downloading filings (20-40 min)
     Progress: 100/8000, 200/8000... (updates every 10 companies)
     💾 Indexing batches to ChromaDB
  🔍 Step 3: Verifying index
  ✅ Step 4: Build complete! → 7,500 companies indexed
         ↓
Query Execution:
  - Semantic search finds biotechnology companies
  - Multi-agent analysis runs
  - Results displayed

⚡ 后续查询 (瞬间-<1秒):

User asks: "Show me semiconductor stocks"
         ↓
ChromaDB Semantic Search (instant):
  - Convert "semiconductor" to embedding
  - Find matches in SEC filings
  - Returns: NVDA, AMD, INTC, QCOM, etc.
         ↓
Multi-Agent Processing:
  ├─→ Search Agent: Fetch real-time prices (Yahoo Finance)
  ├─→ Categorization Agent: Group by price ranges
  └─→ Analysis Agent: News, events, recommendations
         ↓
Comprehensive Report (formatted & delivered)

示例查询(任何部门/行业!)

技术:

  • “分析科技行业的股票”
  • “给我看看半导体公司”
  • “查找人工智能股票”

医疗保健:

  • “分析生物技术公司”
  • “给我看看医药股”
  • “查找医疗器械公司”

其他行业:

  • “什么是最好的可再生能源股票?”
  • “分析电子商务公司”
  • “查找云计算股票”
  • “向我展示网络安全公司”

自然语言作品! ChromaDB语义搜索根据SEC提交的业务描述理解您的意图,因此您可以使用自然语言查询任何行业。

可用的MCP工具

analyze_sector

说明: 对任何部门或行业进行全面的多代理分析。

参数:

  • sector (字符串,必填):部门/行业的自然语言描述

支持的行业:

  • 任何行业或部门! 感谢ChromaDB对8000多份SEC文件进行语义搜索
  • 不限于预定义的类别-使用自然语言理解

示例:

{"sector": "technology"}
{"sector": "biotechnology"}
{"sector": "renewable energy"}
{"sector": "artificial intelligence"}
{"sector": "semiconductor manufacturing"}

📋 调试和日志

查看MCP服务器日志:

# Follow live logs
tail -f ~/Library/Logs/Claude/mcp-server-stock-research.log

# View last 100 lines
tail -100 ~/Library/Logs/Claude/mcp-server-stock-research.log

# Search for errors
grep "ERROR" ~/Library/Logs/Claude/mcp-server-stock-research.log

# View analysis reports
grep -A 50 "STOCK ANALYSIS REPORT" ~/Library/Logs/Claude/mcp-server-stock-research.log

# Search for specific stock
grep "AAPL" ~/Library/Logs/Claude/mcp-server-stock-research.log

您将在日志中看到:

  • 工具调用: Processing sector analysis request for: technology
  • 取库: Fetched AAPL: $276.97
  • 代理工作流程: [StockSearchAgent], [StockCategorizationAgent], [StockAnalysisAgent]
  • ChromaDB: Found 15 stocks in technology sector
  • 完整分析结果

🏗️ 建筑

系统流程图

┌─────────────────────────────────────────────────────────────┐
│                    USER QUERY                               │
│         "Analyze stocks in biotechnology sector"            │
└────────────────────────┬────────────────────────────────────┘
                         │
                         ▼
┌─────────────────────────────────────────────────────────────┐
│              MCP SERVER (server.py)                         │
│  - Receives query via stdio                                 │
│  - Validates input                                          │
│  - Routes to orchestrator                                   │
└────────────────────────┬────────────────────────────────────┘
                         │
                         ▼
┌─────────────────────────────────────────────────────────────┐
│         ORCHESTRATOR (orchestrator.py)                      │
│  - Coordinates all 3 agents                                 │
│  - Manages workflow pipeline                                │
│  - Formats final output                                     │
└────────────────────────┬────────────────────────────────────┘
                         │
        ┌────────────────┴────────────────┐
        │                                  │
        ▼                                  ▼
┌─────────────────────┐         ┌─────────────────────────┐
│  STEP 1: SEARCH     │         │  ChromaDB Integration   │
│  ───────────────    │         │  ───────────────────    │
│  StockSearchAgent   │         │  • Semantic search      │
│                     │◄────────┤  • 8,000+ companies     │
│  Actions:           │         │  • SEC filings data     │
│  • Query ChromaDB   │         │  • Natural language     │
│  • Yahoo Finance    │         └─────────────────────────┘
│  • Return stocks    │
└──────────┬──────────┘
           │
           ▼
┌─────────────────────────┐
│  STEP 2: CATEGORIZE     │
│  ───────────────────    │
│  StockCategorization    │
│                         │
│  • High: >$100          │
│  • Medium: $10-$100     │
│  • Low: <$10            │
└──────────┬──────────────┘
           │
           ▼
┌──────────────────────────────────────────────────────────┐
│  STEP 3: ANALYZE (for each stock)                        │
│  ─────────────────────────────                           │
│  StockAnalysisAgent                                      │
│                                                          │
│  ┌──────────────────────────────────────────────┐       │
│  │ Price Analysis: trend, momentum, support     │       │
│  └──────────────────────────────────────────────┘       │
│  ┌──────────────────────────────────────────────┐       │
│  │ News Collection: sentiment, sources          │       │
│  └──────────────────────────────────────────────┘       │
│  ┌──────────────────────────────────────────────┐       │
│  │ Events: earnings, dividends, launches        │       │
│  └──────────────────────────────────────────────┘       │
│  ┌──────────────────────────────────────────────┐       │
│  │ Recommendations: signals, advice, risk       │       │
│  └──────────────────────────────────────────────┘       │
└──────────────────────────┬───────────────────────────────┘
                           │
                           ▼
┌─────────────────────────────────────────────────────────────┐
│                   FORMATTED REPORT                          │
│  ═══════════════════════════════════════════════════       │
│  STOCK ANALYSIS REPORT - BIOTECHNOLOGY SECTOR               │
│  ═══════════════════════════════════════════════════       │
│  HIGH-VALUE STOCKS (7): MRNA, GILD, BIIB...               │
│  MEDIUM-VALUE STOCKS (12): VRTX, REGN...                   │
│  LOW-VALUE STOCKS (8): Small caps...                       │
│                                                             │
│  Full analysis with news, events, recommendations          │
└─────────────────────────────────────────────────────────────┘

关键创新: 对SEC备案数据进行语义搜索,可以自然语言理解部门/行业,无需硬编码映射!

项目结构

StockSearhMCP/
├── src/
│   ├── stock_research_mcp/           # Main package
│   │   ├── server.py                    → MCP server entry point
│   │   ├── types.py                     → Pydantic data models
│   │   └── agents/                      → Multi-agent system
│   │       ├── orchestrator.py             → Coordinates all agents
│   │       ├── stock_search_agent.py       → Agent 1: Search
│   │       ├── stock_categorization_agent.py → Agent 2: Categorize
│   │       ├── stock_analysis_agent.py     → Agent 3: Analyze
│   │       ├── sector_ticker_fetcher.py    → ChromaDB helper
│   │       └── real_api_fetcher.py         → Yahoo Finance integration
│   └── sector/                        # ChromaDB build system
│       ├── builder.py                    → Main build script
│       ├── fetch_tickers.py              → Get companies from SEC
│       ├── fetch_filings.py              → Download 10-K/10-Q filings
│       ├── extract_text.py               → Extract business descriptions
│       ├── embeddings_and_chroma.py      → OpenAI + ChromaDB
│       └── search_api.py                 → Optional: FastAPI interface
├── gradio_app.py                      # Web interface
├── test_gradio_setup.py               # Gradio verification
├── launch_gradio.sh                   # Launch script
├── examples/
│   ├── basic_usage.py                 # Simple example
│   └── real_api_integration.py        # API integration demo
└── output/
    └── chroma_db/                     # ChromaDB persistent storage

数据模型(types.py)

Stock                           # Company information
├── symbol: str                 # AAPL, MSFT, etc.
├── name: str                   # Apple Inc.
├── price: float                # 175.43
├── sector: str                 # Technology
├── market_cap: float           # Optional
├── change: float               # +1.35
└── change_percent: float       # +0.77%

StockCategory (Enum)            # Price ranges
├── HIGH      (> $100)
├── MEDIUM    ($10-$100)
└── LOW       (< $10)

PriceAnalysis                   # Technical analysis
├── current_price: float
├── trend: str                  # bullish/bearish
├── support: float              # Support level
└── resistance: float           # Resistance level

NewsItem                        # News articles
├── title: str
├── source: str
├── date: str
├── sentiment: str              # positive/negative/neutral
└── summary: str

EventItem                       # Upcoming events
├── type: str                   # Earnings Call, Dividend, etc.
├── date: str
├── description: str
└── impact: str                 # high/medium/low

StockAnalysis                   # Complete analysis
├── stock: Stock
├── category: StockCategory
├── price_analysis: PriceAnalysis
├── news: List[NewsItem]
├── events: List[EventItem]
└── recommendation: str

🔧 发展

运行测试

# Install development dependencies
pip install -e ".[dev]"

# Run tests
pytest

代码格式化

# Format code with Black
black src/

# Type checking with mypy
mypy src/

本地运行

# Run the server directly
python -m stock_research_mcp.server

# Or use the installed script
stock-research-mcp

🌐 数据源与API集成

该系统是 与真实API完全集成 并提供实时市场数据:

✅ 目前已集成

1.雅虎金融(yfinance) -独家实时数据源

  • ✅ 实时股票价格、市值和价格变化
  • ✅ 带有人工智能情绪分析的实时新闻文章
  • ✅ 实时收益日期和股息计划
  • ✅ 除息日期和公司事件
  • ✅ 不需要API密钥
  • ⚠️ 无模拟数据回退 -如果数据不可用,系统会正常失败

2.ChromaDB与SEC EDGAR

  • ✅ 8000多份公司文件已编入索引
  • ✅ 业务描述的语义搜索
  • ✅ 自然语言领域查询

🔌 可选的附加API

对于扩展功能,您可以添加:

# In stock_search_agent.py
import os
import requests

async def _fetch_stocks_from_source(self, sector: str) -> List[Stock]:
    api_key = os.getenv("ALPHA_VANTAGE_API_KEY")
    url = f"https://www.alphavantage.co/query?function=SECTOR&apikey={api_key}"
    
    response = requests.get(url)
    data = response.json()
    
    # Parse and return Stock objects
    return stocks

推荐API:

其他新闻来源:

注意:该系统已经通过yfinance库从雅虎财经获取了真实新闻。

其他事件源:

注意:该系统已经从雅虎财经获取了实际收益日期、股息计划和除息日期。

环境变量

创建一个 .env 文件:

# .env
ALPHA_VANTAGE_API_KEY=your_key_here
NEWS_API_KEY=your_key_here
FINNHUB_API_KEY=your_key_here
POLYGON_API_KEY=your_key_here

加载代码:

from dotenv import load_dotenv
load_dotenv()

安装python dotenv:

pip install python-dotenv

📊 示例输出

系统生成以下格式的综合报告:

================================================================================
STOCK ANALYSIS REPORT - TECHNOLOGY SECTOR
================================================================================
Total Stocks Analyzed: 10

────────────────────────────────────────────────────────────────────────────────
HIGH-VALUE STOCKS (Price > $100)
────────────────────────────────────────────────────────────────────────────────

📊 AAPL - Apple Inc.
   Price: $175.43 | Change: 1.35%
   Trend: bullish
   
   📰 Recent News (3):
      • Apple reports quarterly earnings [positive]
      • Analysts upgrade AAPL rating [positive]
   
   📅 Upcoming Events (3):
      • Earnings Call - 2025-12-19 [high impact]
      • Dividend Payment - 2025-12-04 [medium impact]
   
   💡 Recommendation:
      Stock shows positive momentum. News sentiment is generally positive...

🛠️ 故障排除

ChromaDB问题

问题:找不到ChromaDB/没有退货

✅ 解决:

# 1. Verify ChromaDB exists
ls -la output/chroma_db/

# 2. Check environment variable
echo $CHROMA_PERSIST_DIR

# 3. Rebuild if needed
python src/sector/builder.py

# 4. Use absolute path in MCP config
CHROMA_PERSIST_DIR="/Users/pradeepsahu/dev_data/StockSearhMCP/output/chroma_db"

问题:ChromaDB查询错误:“预期包含项目为…”

✅ 状态:已修复 最新版本

  • ChromaDB query() 总是回来 ids 默认情况下
  • 删除最新代码 "ids" 从 include 参数
  • 更新自 src/stock_research_mcp/agents/sector_ticker_fetcher.py 如有需要

MCP连接问题

问题:Claude Desktop未显示该工具

✅ 完整检查表:

  1. 配置位置 (macOS):

    # Must be in user home, not system /Library
    ~/Library/Application Support/Claude/claude_desktop_config.json
    
  2. 绝对Python路径:

    "command": "/Users/pradeepsahu/dev_data/StockSearhMCP/.venv/bin/python"
    

    ❌ 不是: "python" 或 "python3"

  3. 有效的API密钥:

    "OPENAI_API_KEY": "sk-proj-actual-key-here"
    

    ❌ 不是: "your-openai-api-key-here"

  4. JSON语法:

    • 验证时间https://jsonlint.com
    • 没有尾随逗号
    • 正确的引号和括号
  5. 完全重新启动:

    # Quit (Cmd+Q), wait 5 sec, reopen
    
  6. 检查连接:

    • 寻找🔌 绿色插头图标(克劳德桌面左下角)
    • 单击查看连接的服务器列表
  7. 查看日志:

    tail -f ~/Library/Logs/Claude/mcp*.log
    

手动测试服务器:

cd /Users/pradeepsahu/dev_data/StockSearhMCP
source .venv/bin/activate
python -m stock_research_mcp.server
# Should show: "Stock Research MCP Server starting..."
# Press Ctrl+D to exit

Claude中的强制工具使用:

  • ❌ 坏:“告诉我科技股的情况”(克劳德用常识)
  • ✅ 好:“分析科技股”(强制工具调用)
  • ✅ 明确:“使用analyze_sector工具进行医疗保健”

安装和服务器问题

问题:服务器无法启动

# Check Python version (need 3.10+)
python --version

# Activate virtual environment
source .venv/bin/activate

# Reinstall dependencies
pip install -e .

# Verify OpenAI key
echo $OPENAI_API_KEY

问题:导入错误

# Check PYTHONPATH in MCP config
echo $PYTHONPATH

# Verify all files exist
ls -la src/stock_research_mcp/agents/

# Check ChromaDB access
ls -la output/chroma_db/

生成器脚本问题

问题:SEC 403禁止错误

✅ 设置符合SEC的用户代理:

export SEC_API_USER_AGENT="YourCompany contact@example.com"

问题:OpenAI API错误

✅ 解决:

# Verify key is valid
echo $OPENAI_API_KEY

# Check quota/billing
# Visit: https://platform.openai.com/usage

问题:下载超时

✅ 减少工人:

export MAX_WORKERS="4"  # Instead of 8
export BATCH_SIZE="32"  # Instead of 64

Gradio接口问题

问题:端口7860已在使用中

# Kill existing process
lsof -ti:7860 | xargs kill -9

# Or change port in gradio_app.py
server_port=8080  # Use different port

问题:缺少Gradio

pip install gradio
# Or
uv pip install gradio

问题:OpenAI密钥不起作用

检查 .env 文件:

cat .env
# Should have: OPENAI_API_KEY=sk-proj-actual-key

🔄 更新ChromaDB索引

何时重建

在以下情况下重建ChromaDB索引:

  • 新公司向美国证券交易委员会提交文件
  • 您想刷新最新的10-K/10-Q文件
  • 索引已损坏
  • 你想扩展到更多的公司

如何更新

# Option 1: Full rebuild (deletes old data)
rm -rf output/chroma_db/
python src/sector/builder.py

# Option 2: Incremental update (builder will add/update)
python src/sector/builder.py

自定义索引

包括更多/更少的公司: 编辑 src/sector/fetch_tickers.py 按市值、交易所等进行筛选。

添加特定股票代码: 创建自定义股票代码列表JSON文件并修改 builder.py

更改归档类型: 编辑 candidates 在中列出 src/sector/fetch_filings.py:

candidates = ["10-K", "20-F", "S-1", "10-Q"]  # Modify as needed

🤝 贡献

欢迎投稿!需要改进的地方:

  • []与真实金融API集成
  • []先进的技术分析指标
  • []股票预测的机器学习
  • []更复杂的情绪分析
  • []历史数据分析
  • []投资组合管理功能
  • []实时价格更新
  • []其他行业和国际市场

📄 许可证

MIT许可证

⚠️ 免责声明

重要:此工具仅用于教育和研究目的。虽然该系统使用雅虎财经的真实市场数据,但投资建议是通过算法生成的,应该 非 作为实际投资决策的唯一依据。

  • 始终进行自己的研究
  • 咨询合格的财务顾问
  • 过去的表现并不能保证未来的结果
  • 投资涉及风险,包括本金损失

📚 资源

💡 提示

  1. 仅限实时数据 -该系统仅使用雅虎财经进行实时价格、新闻和活动(没有模拟数据)
  2. 速率限制 -雅虎金融通过yfinance有内置的利率限制
  3. 缓存 -考虑为频繁查询的股票缓存API响应
  4. 错误处理 -如果雅虎财经数据不可用,系统会正常失败(无法回退到模拟数据)
  5. 日志记录 -所有操作都记录到 logs/ 调试目录

内置于❤️ 使用Python和模型上下文协议