金融市场情绪分析工具

一款基于Twitter数据的金融市场情绪分析工具,通过Model Context Protocol (MCP)提供实时市场洞察,分析股票和金融市场的推文以评估市场情绪、跟踪价格提及和识别市场趋势。

  • by anuragratna
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 anuragratna/twitter-mcp-server

使用说明

Twitter市场情绪MCP服务器

一个强大的金融市场情绪分析工具,利用推特数据通过模型上下文协议(MCP)提供实时市场洞察。该服务器分析有关股票和金融市场的推文,以衡量市场情绪,跟踪价格提及,并确定市场趋势。

特性

1.市场情绪分析

  • 特定股票品种的情绪分析(例如,$AAPL、$TSLA)
  • 看涨/看跌情绪分类
  • 价格参考提取和分析
  • 看涨与看跌比率的计算

2.市场趋势分析

  • 多股票分析
  • 全行业情绪跟踪
  • 相关市场主题识别
  • 市场情绪评估

3.实时市场监控

  • 基于观察名单的监控
  • 特定符号情绪跟踪
  • 价格情绪相关性分析
  • 趋势市场话题检测

安装指南

先决条件

  • Python 3.9或更高版本
  • Twitter API v2证书(需要开发者帐户)
  • pip或uv包管理器

Twitter API设置

  1. 在以下网址创建Twitter开发者帐户https://developer.twitter.com
  2. 创建新项目和应用程序
  3. 启用OAuth 2.0
  4. 生成以下凭据:
    • API密钥和秘密
    • 访问令牌和密码
    • 承载令牌(用于v2 API)

安装

  1. 克隆存储库:
git clone https://github.com/yourusername/twitter-mcp-server.git
cd twitter-mcp-server
  1. 创建并激活虚拟环境:
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
  1. 安装依赖项:
pip install -r requirements.txt
  1. 设置环境变量: 创建一个 .env 根目录中带有您的Twitter API凭据的文件:
# Twitter API v2 Credentials
TWITTER_API_KEY=your_api_key_here
TWITTER_API_SECRET=your_api_secret_here
TWITTER_ACCESS_TOKEN=your_access_token_here
TWITTER_ACCESS_TOKEN_SECRET=your_access_token_secret_here
TWITTER_BEARER_TOKEN=your_bearer_token_here  # Required for v2 API

# Server Configuration
PORT=8000
HOST=0.0.0.0
LOG_LEVEL=INFO
  1. 测试您的设置:
python src/test_env.py

运行服务器

使用以下命令启动服务器:

uvicorn src.twitter_mcp:app --reload

服务器将在以下位置可用:

  • API文件:http://localhost:8000/docs
  • ReDoc文件:http://localhost:8000/redoc
  • MCP端点:http://localhost:8000/mcp

API终点

1.市场情绪分析

POST /mcp/analyze_market_sentiment

分析特定股票品种的情绪。

请求示例:

{
    "symbol": "AAPL",
    "lookback_hours": 24
}

示例响应:

{
    "symbol": "AAPL",
    "sentiment_score": 0.42,
    "sentiment_label": "bullish",
    "tweet_count": 100,
    "common_topics": ["earnings", "stock price", "market performance"],
    "price_mentions": {
        "$150": 5,
        "$155.50": 3
    },
    "bullish_ratio": 0.75
}

2.市场趋势分析

POST /mcp/analyze_market_trends

分析多只股票的趋势。

请求示例:

{
    "symbols": ["AAPL", "TSLA", "MSFT"],
    "hours": 24,
    "min_tweets": 50
}

3.市场监测

POST /mcp/monitor_market

实时市场情绪监测。

请求示例:

{
    "watchlist": ["AAPL", "GOOGL", "AMZN"],
    "timeframe_hours": 1
}

Smithery部署

服务器已配置为部署在Smithery上。配置可在 smithery.yaml.

关键部署功能:

  • HTTP传输
  • 环境变量管理
  • CORS支持
  • JSON日志记录
  • 健康检查端点

发展

运行测试

pytest src/test_twitter_mcp.py

环境测试

python src/test_env.py

贡献

  1. 分叉存储库
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add some amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。

致谢

  • 用于提供实时市场数据的Twitter API v2
  • 用于情感分析的TextBlob
  • web框架的FastAPI
  • Smithery提供部署支持