股票分析系统

一个集成了新闻情感分析、智能推荐和自动化报告的股票分析系统,适用于投资者进行实时市场分析和投资决策。

  • by naveenkshyam
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 naveenkshyam/StockMCP

使用说明

库存分析系统

先进的股票分析系统,具有新闻情绪整合、智能推荐和自动报告功能。

特性

✅ 实时股票分析 -带有进入/退出点的买入/卖出建议
✅ 新闻情感整合 -分析新闻以预测价格走势
✅ 前N条建议 -多因素评分系统(50分)
✅ 历史分析 -3个月绩效跟踪趋势
✅ 电子邮件报告 -HTML和文本格式通知
✅ 自动调度 -每日/每周自动报告
✅ 可配置列表 -预定义的观察名单(技术、便士、金融、电动汽车、定制)
✅ MCP服务器 -AI助手的模型上下文协议集成

快速开始

1.设置环境

cd server
source .venv/bin/activate

2.配置设置

编辑 server/config.yaml:

email:
  from: "your-email@gmail.com"
  password: "your-gmail-app-password"
  to: "recipient@example.com"

stock_lists:
  custom: [YOUR, STOCKS, HERE]

3.运行系统

交互式菜单(推荐):

./start.sh
# or
python run.py

命令行:

# Analyze top 20 penny stocks
python feature_manager.py analyze --list penny --top 20

# Historical performance (15%+ gains)
python feature_manager.py historical --min-performance 15

# Send email report
python feature_manager.py email --list tech

# Schedule daily reports at 9 AM
python feature_manager.py schedule --schedule-type daily --schedule-time 09:00

运行测试:

python test_all_features.py --quick

文件结构

server/
├── run.py                    # Interactive menu - START HERE
├── feature_manager.py        # Command-line interface
├── test_all_features.py      # Test suite
├── config.yaml               # Configuration file
├── config_manager.py         # Config loader
├── email_notifier.py         # Email functionality
├── main.py                   # MCP server (advanced)
├── start.sh                  # Quick start script
└── features/
    ├── stock_analyzer.py     # Analysis + news + recommendations
    ├── news_analyzer.py      # News sentiment & trajectory
    ├── historical_analyzer.py # 3-month performance
    └── auto_scheduler.py     # Automated scheduling

关键能力

1.股票分析与新闻

  • 当前价格和变化
  • 买入/卖出建议(强烈买入、买入、持有、等待)
  • 切入点(保守、温和、激进)
  • 止损计算
  • 风险评估(低/中/高)
  • 新闻情绪 (正/负/中性)
  • 价格走势 (7天和30天目标)

2.最佳推荐(50分)

股票评分基于:

  • 推荐质量(10分)
  • 风险等级(10分)
  • 日动力(5分)
  • 体积比(5分)
  • 新闻情绪 (10分)
  • 轨迹预测 (10分)

3.配置(config.yaml)

库存清单:

  • default -一般混合
  • tech -技术(AAPL、MSFT、NVDA等)
  • penny -低价股票(1-10美元)
  • finance -银行和金融(BAC、WFC、JPM等)
  • ev_clean -电动汽车与清洁能源
  • custom -您的观察名单

设置:

  • 电子邮件凭据(需要Gmail应用程序密码)
  • 价格过滤器(最小/最大)
  • 新闻分析(启用/禁用、情绪权重)
  • 调度员(每日/每周时间)

示例

寻找最佳低价股

python feature_manager.py analyze --list penny --top 10

通过电子邮件发送每日技术报告

python feature_manager.py schedule \
  --schedule-type daily \
  --schedule-time 08:00 \
  --list tech

涨幅最大(过去3个月)

python feature_manager.py historical \
  --list default \
  --min-performance 20 \
  --save top_gainers

分析特定股票

python feature_manager.py analyze \
  --tickers AAPL,MSFT,TSLA \
  --min-price 0 \
  --max-price 500

Gmail设置(用于电子邮件功能)

  1. 启用两步验证:https://myaccount.google.com/security
  2. 生成应用程序密码:https://myaccount.google.com/apppasswords
  3. 增添 config.yaml:
email:
  from: "your-email@gmail.com"
  password: "16-char-app-password"
  to: "recipient@example.com"

测试

快速测试:

python test_all_features.py --quick

完整测试套件:

python test_all_features.py

测试包括:

  • 单/多股票分析
  • 得分最高的推荐
  • 历史业绩
  • 配置管理器
  • 新闻分析器
  • 电子邮件功能

MCP服务器(高级)

与MCP兼容的AI助手一起使用:

cd server
uv run main.py

MCP服务器提供8个工具:

  • get_stock_info -实时库存数据
  • get_buying_recommendation -买入/卖出建议
  • get_top_performers -表现最佳的股票
  • get_price_trajectory -价格预测
  • get_stocks_under_price -按价格筛选
  • generate_daily_analysis_email -电子邮件报告
  • send_email_notification -发送电子邮件
  • save_daily_analysis_to_file -保存报告

命令参考

命令 描述
python run.py 交互式菜单
python feature_manager.py analyze --list penny 分析低价股
python feature_manager.py analyze --list tech --top 20 前20只科技股
python feature_manager.py historical --min-performance 15 15%+3个月收益
python feature_manager.py email --list default 发送电子邮件报告
python feature_manager.py schedule --schedule-type daily --schedule-time 09:00 每日上午9点报告
python test_all_features.py --quick 快速测试
./start.sh 快速启动脚本

选项

常见标志:

  • --tickers AAPL,MSFT -特定库存
  • --list penny -使用配置监视列表
  • --top 20 -获取前N个推荐
  • --min-price 1.0 -最低价格过滤器
  • --max-price 10.0 -最高价格过滤器
  • --min-performance 10 -最低3个月收益%
  • --no-news -禁用新闻分析(更快)
  • --save filename -保存到文件

需求

  • Python 3.12+
  • y金融-股票数据
  • pandas,numpy-数据处理
  • pyyaml-配置
  • schedule-任务调度
  • mcp-模型上下文协议

故障排除

未找到库存:

  • 检查价格范围(默认为$1-$10)
  • 使用 --min-price 0 --max-price 1000 范围更广

新闻不起作用:

  • 一些股票的新闻有限
  • 使用 --no-news 用于更快分析的标志

电子邮件失败:

  • 验证Gmail应用程序密码(不是常规密码)
  • 检查config.yaml格式
  • 确保启用两步验证

免责声明

此工具仅供参考。不是财务建议。在做出投资决策之前,一定要做自己的研究,并咨询合格的财务顾问。

数据来源:雅虎财经(延迟15-20分钟),yfinance新闻推送。