股票市场实时分析工具

一个综合性的Python工具,用于从多个公共API获取和分析实时股票市场数据,并集成新闻情感分析功能,以了解新闻对股票价格的影响。

  • by anshika1109
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 anshika1109/stock-market-analyzer

使用说明

📈 基于新闻情绪分析的股市实时分析仪

一个全面的Python工具,用于从多个公共API获取和分析实时股市数据,并集成新闻情绪分析,以了解新闻如何影响股价。功能包括命令行界面、web仪表板和用于AI助手集成的MCP(模型上下文协议)服务器。

✨ 特性

  • 多源数据提取:从雅虎财经、阿尔法Vantage和Finnhub获取股票数据
  • 新闻情绪分析:分析新闻文章及其对股价的影响
  • 新闻价格相关性:了解新闻情绪是否与价格走势一致
  • 实时分析:比较不同来源的价格和新闻
  • 多个接口:
    • 股票和新闻的命令行工具
    • Web仪表板(Flask)
    • 独立HTML仪表板
    • 流线型仪表板
    • 用于AI助手的MCP服务器(Claude、Kiro)
  • 综合数据:价格、变化、交易量、市值、日内高点/低点、新闻情绪等
  • 易于集成:适用于Claude Desktop和其他MCP兼容客户端

🚀 快速开始

安装

# Clone the repository
git clone https://github.com/YOUR_USERNAME/stock-market-analyzer.git
cd stock-market-analyzer

# Install dependencies
pip install -r requirements.txt

基本用法

股票价格(命令行):

python main.py AAPL GOOGL MSFT

新闻分析(命令行):

# Get recent news
python news_cli.py AAPL

# Analyze sentiment
python news_cli.py AAPL sentiment

# Correlate news with price movement
python news_cli.py AAPL correlate

# Get news summary
python news_cli.py AAPL summary

独立仪表板:

open standalone_dashboard.html

Web仪表板:

python web_dashboard.py
# Open http://127.0.0.1:8080

🔑 API密钥(可选)

雅虎金融在没有API密钥的情况下工作。其他来源:

  1. 复制 .env.example 到 .env
  2. 添加API密钥:
cp .env.example .env
# Edit .env and add your keys

🤖 MCP服务器集成

将此工具与Claude Desktop或Kiro等人工智能助手一起使用。

Claude桌面设置

  1. 运行安装脚本:
./setup_claude_desktop.sh
  1. 重新启动克劳德桌面

  2. 问克劳德:“了解AAPL的股价”

  3. 问克劳德:“分析TSLA的新闻情绪”

  4. 问克劳德:“为什么苹果股价今天上涨了?”

看 CLAUDE_DESKTOP_SETUP.md 详细说明。

Kiro的设置

MCP服务器已在中预先配置 .kiro/settings/mcp.json。只需重新启动Kiro并询问:

  • “获取AAPL的股价”
  • “比较所有来源的TSLA”
  • “NVDA的新闻情绪如何?”
  • “为什么GOOGL股价今天下跌?”

📊 可用工具

命令行-股票价格

# Single stock
python main.py AAPL

# Multiple stocks
python main.py AAPL GOOGL MSFT TSLA

# Interactive mode
python main.py

命令行-新闻分析

# Get recent news articles
python news_cli.py AAPL news

# Analyze overall sentiment
python news_cli.py AAPL sentiment

# Correlate news with price movement
python news_cli.py AAPL correlate

# Get formatted summary
python news_cli.py AAPL summary

MCP服务器工具

与AI助手集成后,您可以访问:

库存数据:

  1. get_stock_quote -从特定来源获取报价
  2. 比较库存来源 -比较所有来源的数据
  3. get_best_quote -获得最可靠的报价
  4. get_multiple_fquotes -获取多个符号的报价

新闻分析: 5. get_stock_news -获取最近的新闻文章 6. 分析_新闻_评论 -分析整体情绪 7. 相关_新闻_价格 -将新闻与价格走势相关联 8. get_news_summary -获取格式化的新闻摘要

🏗️ 项目结构

.
├── analyzer.py              # Core stock analysis logic
├── news_analyzer.py         # News sentiment analysis
├── data_sources.py          # Stock API integrations
├── news_sources.py          # News API integrations
├── config.py                # Configuration management
├── main.py                  # CLI interface for stocks
├── news_cli.py              # CLI interface for news
├── mcp_server.py            # MCP server for AI integration
├── web_dashboard.py         # Flask web server
├── dashboard.py             # Streamlit dashboard
├── standalone_dashboard.html # Browser-only version
├── templates/
│   └── index.html           # Web dashboard UI
├── .kiro/settings/
│   └── mcp.json             # Kiro MCP configuration
└── requirements.txt         # Python dependencies

📖 文档

🔧 需求

  • Python 3.9+
  • 用于访问API的Internet连接
  • 可选:AlphaVantage和Finnhub的API密钥

📦 依赖项

  • requests -HTTP请求
  • pandas -数据操纵
  • yfinance -雅虎财经API
  • python-dotenv -环境变量
  • flask -Web仪表板(可选)
  • streamlit -流线型仪表板(可选)
  • mcp -模型上下文协议服务器

🎯 用例

  • 实时库存监控 -同时跟踪多个股票
  • 价格比较 -验证不同数据源的价格
  • 新闻情绪分析 -从新闻中了解市场情绪
  • 新闻价格相关性 -看看新闻是否解释了价格走势
  • AI助手集成 -用自然语言向AI请求股票数据和新闻分析
  • 数据分析 -导出数据以供进一步分析
  • 投资组合跟踪 -用新闻背景监控您的投资

🤝 贡献

欢迎投稿!请随意:

  • 报告错误
  • 建议新功能
  • 提交拉取请求
  • 改进文档

📝 许可证

MIT许可证-您可以将此项目用于个人或商业目的。

🙏 致谢

📧 联系

如有疑问或支持,请在GitHub上发布问题。

⚠️ 免责声明

此工具仅供参考。股市数据可能会延迟。在做出投资决策之前,一定要核实信息。不是财务建议。


由以下材料制成❤️ 面向股市爱好者和人工智能开发者