股票比较分析服务

一个基于MCP协议的金融数据服务,提供股票比较分析和投资组合优化功能,适用于金融分析和投资决策。

  • by adrie1999
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 adrie1999/mcp_stocks

使用说明

股票比较MCP服务器

一个模型上下文协议(MCP)服务器实现,演示如何为财务数据构建MCP。此服务器使用TwelveData作为数据提供者提供股票比较分析。

特性

MCP工具

服务器通过MCP协议公开了三个主要工具:

  1. compare_stocks

    • 获取并比较多个股票代码
    • 返回价格指标、波动率、夏普比率、VAR 95和相关矩阵
    • 支持可定制的时间间隔和回顾期
  2. hierarchical_risk_parity_portfolio

    • 使用HRP算法构建最优投资组合权重
    • 基于关联距离的资产聚类
    • 在分层分支机构之间平均分配风险
  3. health_check

    • 用于监测的简单健康端点

实施特点

  • 缓存:API响应的本地文件系统缓存
  • 速率限制:遵守API限制的内置请求延迟
  • 错误处理:通过MCP协议进行全面的错误报告
  • 类型安全:具有运行时验证的完整类型支持
  • 指标:返回关键财务指标,包括:
    • 累计回报
    • 算出年波幅
    • 夏普比率
    • 95%风险价值
    • 相关矩阵

设置

  1. 安装紫外线:
curl -LsSf https://astral.sh/uv/install.sh | sh
  1. 创建一个 .env 使用TwelveData API密钥文件:
TWELVE_DATA_API_KEY=your_api_key_here

使用VS代码

此MCP服务器旨在与VS Code无缝协作(通过GitHub Copilot)。以下是如何设置它:

VS代码设置

  1. 安装GitHub Copilot和Copilot聊天扩展
  2. 在settings.json中启用MCP服务器支持:
{
    "github.copilot.advanced": {
        "mcp.enableStockComparison": true
    }
}
  1. 创建.vcode文件夹并添加mcp.json文件:
{
  "servers": {
    "stock-comparison": {
      "command": "uv",
      "args": ["run","python", "server/server.py"],
      "cwd": "."
    }
  }
}
  1. 按Ctrl+Shift+P并选择MCP列表服务器\股票比较

现在,您可以在Copilot Chat中使用自然语言分析股票:

Compare a list of 20 stocks for the past 252 trading days.
Then, based on the comparison and analysis, select 10 of those stocks and perform a portfolio optimization using the hierarchical risk parity method.

缓存配置

  • 缓存位置: ~/.stock_mcp_cache
  • 报价缓存TTL:15分钟
  • 历史数据缓存TTL:1小时
  • 基础缓存TTL:24小时

错误处理

服务器为常见场景提供详细的错误消息:

  • 缺少/无效的API密钥
  • 利率限制问题
  • 无效符号
  • 分析数据不足

许可证

MIT许可证