股票分析助手

一个结合实时股票数据、新闻分析和AI推荐的高级股票市场分析助手,适用于投资者和金融分析师。

  • by deepansh-saxena
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 deepansh-saxena/stocks-analyzer-ai

使用说明

股票顾问代理MCP

一个复杂的股市分析助手,结合了实时股票数据、新闻分析和人工智能推荐。

特性

  • 实时股票数据:从Zacks报价源获取股票信息
  • 新闻分析:使用NewsAPI获取最新新闻标题
  • AI驱动的分析:使用GPT-4分析股票数据和新闻情绪
  • web界面:采用markdown格式的现代React前端
  • 情境聊天:维护后续问题的对话历史记录
  • MCP集成:使用模型上下文协议进行工具集成

建筑

Frontend (React) → API Server (Flask) → MCP Client → Stocks Server (MCP Tools)

安装说明

1.创建虚拟环境(推荐)

# Create virtual environment
python -m venv venv

# Activate virtual environment
# On macOS/Linux:
source venv/bin/activate
# On Windows:
# venv\Scripts\activate

2.安装依赖项

# Install Python dependencies
pip install mcp langchain-mcp-adapters langgraph openai flask flask-cors requests newsapi-python

# Install frontend dependencies
cd frontend
npm install

3.配置API密钥

更新以下文件中的API密钥:

  • api_server.py:更新您的OpenAI API密钥(替换 #OPENAI_API_KEY 使用您的实际密钥)
  • stocks_server.py:更新您的NewsAPI密钥(替换 "Api Key Here" 使用您的实际密钥)

4.启动服务器

# Terminal 1: Start API server (this will automatically start the stocks server as needed)
python api_server.py

# Terminal 2: Start frontend
cd frontend
npm run dev

备注:您不需要手动启动 stocks_server.py。它在需要时由API服务器自动作为子流程启动。

5.访问应用程序

  • 前端: http://localhost:5173(或Vite显示的端口)
  • API服务器: http://localhost:5050
  • 健康检查: http://localhost:5050/api/health

用法

  1. 在浏览器中打开前端
  2. 询问有关股票的问题,例如:
    • “微软今天看起来怎么样?”
    • “我应该买苹果股票吗?”
    • “获取有关特斯拉的新闻并分析股票”
    • “NVIDIA的最新进展是什么?”

AI代理将:

  • 从Zacks获取实时股票数据
  • 从NewsAPI获取相关新闻头条
  • 使用GPT-4分析信息
  • 提供带有详细推理的买入/持有/卖出建议
  • 使用标记表、粗体文本和清晰结构设置回复格式

API终点

  • POST /api/analyze:根据用户消息分析股票
  • GET /api/health:健康检查端点

可用工具

  • get_stock_data(ticker):从Zacks报价源获取股票数据
  • get_news(keyword, category, language, country):从NewsAPI获取新闻文章

特性

情境聊天

  • 维护每个会话的对话历史记录
  • 后续问题参考了之前的分析
  • 避免不必要地重复信息

丰富的格式

  • 关键指标的Markdown表格
  • 重要数字和标题的粗体文本
  • 可点击的新闻链接
  • 推荐的区块链报价
  • 专业但对话式的语气

实时分析

  • 当前股价和业绩
  • 分析师评级和建议
  • 财务指标(市盈率、每股收益、收入增长)
  • 技术指标和趋势
  • 近期新闻情绪分析

故障排除

依赖关系问题

  • 确保您处于虚拟环境中: source venv/bin/activate
  • 安装所有必需的软件包: pip install -r requirements.txt (如果可用)
  • 对于前端问题: cd frontend && npm install

API连接问题

  • 验证API服务器是否正在端口5050上运行
  • 如果前端无法连接,请检查CORS设置
  • 确保在中设置了OpenAI API密钥 api_server.py

新闻API问题

  • 验证您的NewsAPI密钥是否有效并已在中设置 stocks_server.py
  • 检查API配额限制
  • 确保关键字不太具体

股票服务器问题

  • 股票服务器作为子进程运行,无需手动启动
  • 仅 stdio 支持传输(无TCP)
  • 检查API服务器输出中的日志是否存在错误

发展

要修改系统,请执行以下操作:

  1. 添加新工具:编辑 stocks_server.py 并添加新 @mcp.tool() 函数
  2. 更新前端:修改 frontend/src/App.tsx
  3. 更改API:编辑 api_server.py 对于新端点
  4. 更新提示:在中修改系统消息 api_server.py
  5. 添加日志记录:使用 print() 调试工具中的语句

项目结构

Stocks-Advisor-Agent-MCP/
├── api_server.py          # Flask API server
├── stocks_server.py       # MCP server with stock tools
├── client.py             # MCP client for testing
├── frontend/             # React frontend
│   ├── src/
│   ├── package.json
│   └── ...
└── README.md

许可证

该项目用于教育和示范目的。