FinQ4Cn: 基于 MCP 协议的中国 A 股量化分析

项目简介

FinQ4Cn 是一个基于 Model Context Protocol (MCP) 协议构建的开源项目,旨在为中国 A 股市场的量化分析提供一个强大、便捷、标准化的数据访问网关。它无缝集成了 akshare 强大的金融数据获取能力,并将其封装为一系列可通过 MCP 调用的工具,使得大型语言模型(LLM)、智能代理(Agent)或任何兼容 MCP 的客户端能够轻松、高效地获取中国股市的多维度数据,从而赋能更复杂的量化分析、策略研究和智能决策。

FinQ4Cn 不仅仅是一个数据获取工具,它更是一个连接 AI 与金融市场的桥梁。通过标准化的 MCP 接口,它将 akshare 的强大功能以服务化的形式呈现,极大地降低了 AI 应用接入中国 A 股市场数据的门槛。其全面的数据覆盖、内置的分析能力和可扩展的架构,使其成为金融 AI 领域极具竞争力的解决方案,有望在量化投资、智能投顾等场景中发挥重要作用。

核心优势与创新点

  1. 标准化接口 (MCP 驱动)

    • 本项目的核心创新在于采用 MCP 协议 作为数据和服务暴露的标准接口。这使得任何支持 MCP 的 AI 应用(如 Cherry Studio, MCP Inspector 等)都能以统一的方式发现、理解和调用 FinQ4Cn 提供的所有功能,极大地简化了集成过程,提升了互操作性。
  2. 全面的中国 A 股数据覆盖

    • 基础数据:通过股票名称精准查询股票代码。
    • 历史行情:获取指定时间段内(日线、周线、月线)的开盘价、收盘价、最高价、最低价、成交量等历史价格数据,并支持前复权/后复权。
    • 财务分析:深入获取上市公司的主营业务构成、关键财务指标(如净利润、营收增长率、ROE、毛利率等)的摘要数据,支持按报告期、年度、季度查询。
    • 市场情绪:获取个股及市场的融资融券明细,洞察市场资金流向和杠杆情况。
    • 公司事件:查询个股详细的历史分红送配记录,辅助价值投资分析。
  3. 实时资讯与事件驱动

    • 提供宏观财经新闻和市场趋势,帮助把握整体市场动向。
    • 提供与特定股票高度相关的新闻资讯,捕捉可能影响个股价格的事件,为事件驱动型策略提供数据支持。
  4. 内置量化分析能力

    • 集成基础的技术分析功能,例如计算 相对强弱指数 (RSI)双均线 (MA),并基于此生成简单的买卖信号(超买/超卖、金叉/死叉),为策略构建提供初步的量化依据。
  5. 回测框架

    • 集成了 pybroker 回测引擎,允许用户快速实现并回测自己的交易策略。项目内置了一个示例策略(带止盈的买入持有策略),展示了如何将策略逻辑封装并通过 MCP 调用进行评估。
  6. 易于集成与部署

    • 结构清晰,依赖项明确 (FastMCP, akshare, pydantic, pandas, pybroker)。
    • 提供了详细的配置指南(如与 Cherry Studio 和 MCP Inspector 的集成方法),方便用户快速上手和部署。

应用场景

  • AI 金融助手: 为 LLM 提供实时、准确的金融数据查询能力,使其能回答复杂的股票相关问题。
  • 量化策略研究: 为量化分析师提供便捷的数据源,用于因子挖掘、策略开发和历史回测。
  • 智能投顾: 为智能投顾平台提供底层数据支持,用于生成投资建议和风险评估。
  • 金融教育: 为学习量化金融的学生和爱好者提供一个易于使用的实践平台。

技术栈

  • 后端框架 : FastMCP (构建 MCP 服务器)
  • 数据源 : akshare (获取中国金融市场数据)
  • 数据处理 : pandas (数据清洗与分析)
  • 数据校验 : Pydantic (数据模型定义与校验)
  • 回测引擎 : pybroker (策略回测)
  • 可视化 : matplotlib (通过 MCP 工具调用进行图表生成)

项目结构

复制代码
mcp-server/
├── utils    
├── |──modules.py # 数据校验模块
├── |──stocks_common_metrics.py # 常用指标数据
├── |──stocks_risk_alert.py     # 股票风险提示信息
├── |──backtesting.py   # 策略回测
├── |──news_report.py # 新闻报告
├── |──quant_analysis.py #量化分析
├── |──tools.py  #工具
├──fs_server.py # mcp server启动文件

安装依赖方法:

bash 复制代码
pip install -r requirements.txt

建议使用以下方式安装回测包:

bash 复制代码
pip install lib-pybroker -i https://pypi.tuna.tsinghua.edu.cn/simple

安装步骤

  1. 克隆仓库:
bash 复制代码
git clone https://github.com/jinhongzou/FinQ4Cn-mcp-server.git
cd FinQ4Cn-mcp-server
  1. 创建并激活虚拟环境:
bash 复制代码
python -m venv venv
source venv/bin/activate
  1. 安装依赖:
bash 复制代码
pip install -r requirements.txt

使用方法

如需跨 Cherry Studio 的详细MCP配置说明,请访问:
Cherry Studio MCP 配置指南

Cherry Studio 集成

json 复制代码
{
  "mcpServers": {
    "FinQ4Cn-mcp-server": {
      "name": "FinQ4Cn",
      "command": "your_path/python.exe",
      "args": [
        "your_path/FinQ4Cn-mcp-server/mcp-server/fs_server.py"
      ]
    }
  }
}

有关如何配置和使用此工具包进行深入股票数据分析的详细说明,请参考文档或示例代码。

可用工具

stocks_common_metrics

  • get_stock_code: 通过股票名称获取对应的股票代码。
  • get_stock_zygc_em: 获取上市公司主营业务结构,用于分析公司核心业务、产品、服务和收入分布。
  • get_stock_financial_abstract: 获取上市公司财务报告摘要数据。
  • get_stock_margin_detail: 获取上市公司融资融券明细。
  • get_stock_fhps_detail: 获取上市公司历史分红和配股详情。

新闻资讯

  • financial_news: 获取指定日期范围内的最新财经新闻和市场趋势。
  • stock_news: 获取指定日期范围内与特定股票相关的最新新闻文章和信息。

回测功能

  • strategy_buy_with_stop_loss: 使用指定交易策略对历史股票数据进行回测以评估其表现。该策略如下:如果当前未持有该股票,则根据指定持仓比例(percent)买入股票,并设置止盈百分比(stop_profit_pct)。

#Qwen3 Coder挑战赛#,本项目由Qwen3 Coder协助编写

相关推荐
2501_9247314716 分钟前
城市路口识别准确率↑31%!陌讯时空建模算法在交通拥堵识别中的突破
人工智能·算法·目标检测·计算机视觉·目标跟踪
m0_616330451 小时前
Day 40 训练和测试的规范写法
人工智能·深度学习·机器学习
数据饕餮2 小时前
Pytorch深度学习框架实战教程-番外篇05-Pytorch全连接层概念定义、工作原理和作用
人工智能·pytorch·深度学习
FIT2CLOUD飞致云2 小时前
MaxKB+合合信息TextIn:通过API实现PDF扫描件的文档审核
人工智能·开源
算家计算3 小时前
OpenAI 全新开源模型 GPT-OSS-20B本地部署教程:16GB显存跑透128K上下文
人工智能·开源·openai
墨尘游子3 小时前
2- Python 网络爬虫 — 如何精准提取网页数据?XPath、Beautiful Soup、pyquery 与 parsel 实战指南
人工智能·网络爬虫·知识图谱·机器翻译
lll482333 小时前
数字图像处理4
人工智能·计算机视觉
霍格沃兹测试开发学社测试人社区3 小时前
Dify入门指南(2):5 分钟部署 Dify:云服务 vs 本地 Docker
人工智能·低代码
西猫雷婶3 小时前
scikit-learn/sklearn学习|岭回归解读
开发语言·人工智能·机器学习·支持向量机·回归·scikit-learn·sklearn