当前位置: 首页 > news >正文

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启动文件

安装依赖方法:

pip install -r requirements.txt

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

pip install lib-pybroker -i https://pypi.tuna.tsinghua.edu.cn/simple

安装步骤

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

使用方法

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

Cherry Studio 集成

{"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协助编写

http://www.lryc.cn/news/618082.html

相关文章:

  • Java -- 集合 --Collection接口和常用的方法
  • Python网络爬虫(一) - 爬取静态网页
  • 爬虫与数据分析结合:中国大学排名案例学习报告
  • TDengine IDMP 基本功能(2.数据建模)
  • 爬虫与数据分析结和
  • 爬虫与数据分析入门:从中国大学排名爬取到数据可视化全流程
  • MySQL详细安装
  • 《算法导论》第 18 章 - B 树
  • 【MYSQL】MySQL中On duplicate key update
  • Dify入门指南(2):5 分钟部署 Dify:云服务 vs 本地 Docker
  • Python自动化测试实战:reCAPTCHA V3绕过技术深度解析
  • 常见鱼饵制作方式
  • Flutter学习笔记(六)---状态管理、事件、路由、动画
  • Vuex和Pina的区别
  • Prompt Engineering 最佳实践:让AI输出更精准的核心技巧
  • MaixPy简介
  • 贪心----2.跳跃游戏
  • 【09】中兴通讯——中兴 软件工程师 第一轮一面,技术面,校招,面试问答记录
  • QML的中英文翻译
  • OpenCV计算机视觉实战(19)——特征描述符详解
  • 【前端基础】16、结构伪类(注:粗略说明)
  • Facebook广告投放进阶:ABO精测与CBO放量的协同增长策略
  • 计算机网络---DNS(域名系统)
  • Java 大视界 -- Java 大数据在智能安防视频监控系统中的多目标跟踪与行为分析优化(393)
  • [Ubuntu] xrdp共享连接 Ubuntu 屏幕 | xfce4
  • 爬虫与数据分析结合案例
  • C++11的历史和统一的初始化列表
  • 数据填报是什么?数据填报工具有哪些?
  • 蓝桥杯算法之搜索章 - 4
  • 【单板硬件开发】关于复位电路的理解