上市公司深度研究报告生成技能
基于恒生聚源 MCP 金融数据库,为指定上市公司生成专业深度研究报告。报告覆盖公司概览、商业模式与竞争优势、基本面分析、技术面分析、估值分析、消息面分析、风险提示及投资结论八大核心维度,所有数据可溯源、带原始发布时间戳,支持 PDF+Markdown 双格式输出。
功能范围
本技能支持:
- 公司深度研究:为 A 股/港股上市公司生成完整深度研究报告
- 多维度分析:涵盖基本面、技术面、估值、消息面、风险等全维度
- 数据溯源:所有数据标注来源与截止日期,支持角标引用
- 专业输出:生成兼具专业性与美观性的 PDF 报告,含图表分析
- 同业对比:自动获取同行业可比公司数据进行横向比较
查询建议
必备要素:
- 公司名称或股票代码(必需)
- 报告侧重点(可选,如"侧重估值分析")
- 输出路径(可选,默认桌面)
查询写法:
- "为{公司名称}生成深度研究报告"
- "分析{股票代码}的投资价值"
- "写一份{公司名}的研究报告,侧重{维度}"
查询示例
# 示例 1:基础查询
为贵州茅台生成深度研究报告
# 示例 2:指定股票
分析 600519 的投资价值
# 示例 3:侧重特定维度
为宁德时代写一份研究报告,侧重估值分析和风险提示
# 示例 4:指定输出路径
为比亚迪生成深度报告,输出到~/Documents/
环境检查与配置
每次使用本技能前,必须先检查 mcporter 安装和 MCP 服务配置状态!
步骤 1:检查 mcporter 是否安装
mcporter --version
如未安装,按以下流程安装:
# 1. 通过 npm 全局安装
npm install -g mcporter
# 2. 验证安装
mcporter --version
步骤 2:检查 MCP 服务配置
# 列出所有已配置的 MCP 服务
mcporter list
预期输出(必须包含以下两个服务):
- jy-financedata-tool
- jy-financedata-api
如服务未配置,需要获取 JY_API_KEY 并配置:
- 获取 JY_API_KEY:向恒生聚源申请 JY_API_KEY,通过邮箱申请(首次配置需提供,配置一次即可)
JY_API_KEY 申请路径: 向恒生聚源官方邮箱发送邮件申请签发 数据地图 JY_API_KEY,用于接口鉴权 申请通过后,恒生聚源将默认发送【工具版和接口版】KEY 另外,【Skill】包可通过 https://clawhub.ai/ 自行选择下载,若需要我们通过邮件提供【Skill】,亦可在邮件中注明 申请邮箱:mailto:datamap@gildata.com 邮件标题:数据地图 KEY 申请-XX 公司 - 申请人姓名 正文模板: • 姓名: • 手机号: • 公司/单位全称: • 所属部门: • 岗位: • MCP_KEY 申请用途: • Skill 申请列表: • 是否需要 Skill 安装包:(是,邮件提供/否,自行下载) • 其他补充说明(可选):
- 配置 MCP 服务:
# 配置 jy-financedata-tool 服务
mcporter config add jy-financedata-tool --url "https://api.gildata.com/mcp-servers/aidata-assistant-srv-tool?token=你的 JY_API_KEY"
# 配置 jy-financedata-api 服务
mcporter config add jy-financedata-api --url "https://api.gildata.com/mcp-servers/aidata-assistant-srv-api?token=你的 JY_API_KEY"
- 验证配置:
mcporter list
数据采集方案
注意:所有数据模块均使用 jy-financedata-api 服务调用。
一、公司概览数据
| 数据模块 | MCP 工具 | 用途 | |---------|---------|------| | CompanyBasicInfo | jy-financedata-api | 公司注册信息、主营业务、行业归属、公司简介 | | StockBelongIndustry | jy-financedata-api | 申万/证监会行业分类体系中的归属 | | StockBelongConcept | jy-financedata-api | 所属概念板块及入选依据 | | StockBelongIndex | jy-financedata-api | 归属市场指数 | | CompanyManagement | jy-financedata-api | 现任董事会、监事会、高管人员信息 | | StockShareStructure | jy-financedata-api | 总股本、流通股本、限售股等结构数据 | | Top10ShareHolders | jy-financedata-api | 前十大股东持股信息及比例(选取最新报告期的数据,并在报告中标注截至日期/报告期) |
二、商业模式数据
| 数据模块 | MCP 工具 | 用途 | |---------|---------|------| | MainOperIncData | jy-financedata-api | 主营业务收入按产品/行业/地区的构成 | | ProcurementAndSales | jy-financedata-api | 前五大供应商与客户及占比(如数据缺失则基于 CompanyBasicInfo 分析产业链地位) | | HoldShareCompany | jy-financedata-api | 控股参股公司信息及财务数据 | | PatentAnnualStatistics | jy-financedata-api | 历年专利申请与公布数量(完全根据 PatentAnnualStatistics 数据进行分析,不得瞎编乱造) | | FinancialRatioComparison | jy-financedata-api | 与同行业企业的 ROE、毛利率、净利率对比 | | ResearchReport | jy-financedata-api | 研报中对行业竞争格局与趋势的分析 |
三、基本面分析数据
| 数据模块 | MCP 工具 | 用途 | |---------|---------|------| | FinancialStatement | jy-financedata-api | 近三年资产负债表、利润表、现金流量表 | | FinancialAnalysis | jy-financedata-api | 盈利能力、偿债能力、营运能力指标 | | FinancialDataComparison | jy-financedata-api | 与同行业企业营收、利润、资产规模对比 | | ConsensusExpectation | jy-financedata-api | 未来三年营收与净利润的市场一致预测 | | PerformanceForecast | jy-financedata-api | 最新业绩预告中的净利润预期与增速 | | InstitutionalRating | jy-financedata-api | 机构评级次数、评分及家数 | | ResearchReport | jy-financedata-api | 研报中对公司盈利与成长维度的分析 |
四、技术面分析数据
| 数据模块 | MCP 工具 | 用途 | |---------|---------|------| | StockDailyQuote | jy-financedata-api | 近期日 K 线数据(开高低收、量额、换手率) | | StockMultiPeriodQuote | jy-financedata-api | 周线/月线级别 K 线数据 | | StockQuoteTechIndex | jy-financedata-api | MA、MACD(仅 DIF 和 MACD 柱,不含 DEA)、KDJ、RSI、BOLL 等技术指标 | | StockRangeQuotation | jy-financedata-api | 近 1 月/3 月/6 月/1 年的区间涨跌幅 | | RealStockFundFlow | jy-financedata-api | 主力与散户资金净流入数据 |
五、估值分析数据
| 数据模块 | MCP 工具 | 用途 | |---------|---------|------| | StockValueAnalysis | jy-financedata-api | PE、PB、PS、EV/EBITDA、股息率等估值指标(用于计算历史估值中位数和分位数) | | ValueAnalysisComparison | jy-financedata-api | 同行业可比公司的 PE、PB、EV 等估值数据 | | ConsensusExpectation | jy-financedata-api | 未来盈利预测用于 PEG 及 DCF 估算 | | ConsensusExpectationDetail | jy-financedata-api | 各券商对公司 EPS 与净利润预测明细 |
六、消息面分析数据
| 数据模块 | MCP 工具 | 用途 | |---------|---------|------| | StockNewslist | jy-financedata-api | 公司近期新闻舆情及情感倾向 | | ResearchReport | jy-financedata-api | 券商研报观点、评级及目标价(数据源为 jy-financedata-api,按研报发布日期降序排列,确保获取最新研报;如接口返回多期数据,优先选取发布日期最近的报告) | | AShareAnnouncement | jy-financedata-api | 近期重要公告列表 | | InstitutionInvestigation | jy-financedata-api | 近期机构调研记录与内容 | | ShareholdingChangePlan | jy-financedata-api | 股东增减持计划信息 | | StockRepurchase | jy-financedata-api | 公司回购计划与执行进度 | | BonusStock | jy-financedata-api | 近期分红派息方案 |
七、风险分析数据
| 数据模块 | MCP 工具 | 用途 | |---------|---------|------| | StockRiskAnalysis | jy-financedata-api | β系数、波动率、夏普比率等风险指标 | | StockSuitArbitration | jy-financedata-api | 重大诉讼案件信息 | | StockViolationPenalty | jy-financedata-api | 公司违规处罚记录 | | StockPledge | jy-financedata-api | 大股东质押比例及风险 | | RestrictedStockLifting | jy-financedata-api | 近期限售股解禁安排 | | StockSecuritiesMargin | jy-financedata-api | 融资融券余额变动趋势 |
报告生成流程
步骤 1:确认公司与输出路径
- 询问用户要分析的公司名称或股票代码
- 确认输出路径(默认:~/Desktop/)
- 检查 mcporter 配置状态
步骤 2:数据采集
按以下顺序调用 MCP 工具(所有参数统一使用 query):
# 示例:获取公司基本信息
mcporter call jy-financedata-api.CompanyBasicInfo --query "贵州茅台"
# 示例:获取行业归属
mcporter call jy-financedata-api.StockBelongIndustry --query "贵州茅台"
# 示例:获取财务数据
mcporter call jy-financedata-api.FinancialStatement --query "贵州茅台"
数据选取原则:
- 财报数据选取最新财报日期,显示财报日期(如:2025 年三季报,报告期 2025-09-30)
- 优先季报数据,否则选年报/半年报
- 记录所有数据的截止日期用于溯源
财报数据选取逻辑:
1. 检查是否存在最新季报数据(一季报/三季报)
2. 如无季报,检查是否存在半年报数据
3. 如无半年报,使用年报数据
4. 在报告中明确标注财报类型和报告期
示例:
### 3.1 财务状况与盈利能力
**财报类型**:2025 年三季报(报告期:2025-09-30)
| 指标 | 2025Q3 | 2024Q3 | 同比增速 |
|-----|-------|-------|---------|
| 营业收入 | 1765.16 亿元 | 1737.78 亿元 | +1.58% |
| 归母净利润 | 150.23 亿元 | 132.45 亿元 | +13.42% |
步骤 3:数据校验
- 检查关键数据是否完整(营收、利润、估值指标等)
- 如数据缺失,按以下流程处理:
- 临时接口异常:重试 1-2 次(接口可能临时返回 500 错误)
- 参数问题:尝试使用股票代码(如"601600"或"601600.SH")代替公司名称
- 数据确实不存在:标注"数据暂缺"并说明原因
- 记录数据截止日期(格式:2026-04-21)
常见数据缺失原因及修复:
| 数据模块 | 可能原因 | 修复方法 | |---------|---------|---------| | Top10ShareHolders | 临时接口异常 | 重试 1-2 次;如仍缺失标注"前十大股东数据暂缺" | | HoldShareCompany | 临时接口异常 | 重试 1-2 次;如仍缺失标注"参控股公司数据暂缺" | | ConsensusExpectation | 临时接口异常或无一致预期 | 重试 1-2 次;如仍缺失标注"暂无一致预期数据" | | InstitutionalRating | 临时接口异常或股票无机构覆盖 | 重试 1-2 次;如仍缺失标注"暂无机构评级数据" | | StockRangeQuotation | 参数格式问题 | 使用"股票代码 + 区间"格式,如"601600 近 1 月";如仍缺失标注"区间涨跌幅数据暂缺" | | RealStockFundFlow | 临时接口异常 | 重试 1-2 次;如仍缺失标注"资金流向数据暂缺" | | StockNewslist | 需要特定查询格式 | 使用"股票代码 + 新闻"格式;如仍缺失标注"暂无舆情数据"并说明原因 | | ResearchReport | 临时接口异常或无研报覆盖 | 重试 1-2 次;如仍缺失标注"近 3 月无券商研报覆盖";研报数据仅展示近 3 个月内的最新报告,超过 3 个月的研报不纳入分析 | | AShareAnnouncement | 需要特定查询格式 | 使用"股票代码 + 公告"格式;如仍缺失标注"近期无重要公告" | | InstitutionInvestigation | 临时接口异常或无调研记录 | 重试 1-2 次;如仍缺失标注"近 3 月无机构调研记录" | | StockPledge | 临时接口异常或无质押 | 重试 1-2 次;如无质押标注"大股东无股权质押" | | ShareholdingChangePlan | 无增减持计划 | 标注"近期无股东增减持计划" | | StockRepurchase | 无回购计划 | 标注"近期无股票回购计划" | | BonusStock | 无分红方案 | 标注"近期无分红派息方案" |
步骤 4:报告撰写
按以下结构撰写报告(详见 references/report-template.md):
- 公司概览:基本情况、行业定位、股东背景
- 商业模式与竞争优势:营收结构、产业链地位、护城河
- 基本面分析:财务状况、盈利能力、成长性
- 技术面分析:K 线形态、技术指标、资金流向
- 估值分析:历史估值、同业对比、前瞻估值
- 消息面分析:核心事件、机构调研、舆情情绪(必须包含图表展示)
- 风险提示:经营风险、财务风险、市场风险
- 投资结论:综合评分与投资建议
技术面分析图表要求:
- 4.1 K 线形态分析:表格展示近 5 日 K 线数据(日期、开盘、最高、最低、收盘、成交量、K 线形态)
- 4.3 动量指标:表格展示 MACD(DIF、MACD 柱)、KDJ(K 值、D 值、J 值)、RSI 指标数据
- 4.4 布林带位置:表格展示收盘价与布林带上轨/中轨/下轨的位置关系
- 4.6 资金流向:表格展示主力净额、超大单/大单/中单/小单净额,五日/十日资金流向统计(文字分析中说明连续 X 日净流入/流出)
消息面分析图表要求:
- 6.1 舆情情感分布:表格展示正面/中性/负面新闻数量及占比
- 6.1 重要正面/负面舆情:表格展示重要舆情标题、来源机构、核心要点
- 6.2 研报观点分析:表格展示研报发布机构、发布时间、发布标题、核心观点、评级
- 6.3 重要公告汇总:表格展示近期重要公告列表(日期、类型、标题、影响评估)
- 6.4 机构调研统计:表格展示近 3 月调研记录(日期、机构数、方式、关注焦点)
- 6.5 资本运作动态:表格展示增减持/回购/分红信息
- 6.6 消息面综合评估:表格展示各维度评分及综合评估(增加研报观点维度)
步骤 5:格式处理
- 添加免责声明与风险提示(见下方模板)
- 添加数据来源与截止日期
- 添加溯源角标(每个小节结束处)
- 生成 Markdown 文件
- 调用
scripts/generate_pdf.py脚本生成 PDF(自动执行,确保排版准确)
步骤 6:输出确认
- 确认输出路径(默认:~/Desktop/)
- 执行 PDF 生成脚本:
python scripts/generate_pdf.py <report.md> <output.pdf> - 告知用户文件位置(PDF+Markdown 双格式)
- 注意:报告文件直接输出到用户指定路径,不在 skill 目录下生成 reports 文件夹
免责声明模板
每份报告必须在文末按以下顺序组织:
- 数据来源章节:归集所有使用的数据源(见"数据来源归集格式")
- 免责声明章节:包含完整风险提示
- 报告生成时间和数据截至时间
完整结构示例:
## 数据来源
[1] CompanyBasicInfo 公司简介,恒生聚源 MCP;数据截止 2026-04-27
[2] StockBelongIndustry 所属行业分类,恒生聚源 MCP;数据截止 2026-04-27
[3] StockBelongConcept 所属概念板块,恒生聚源 MCP;数据截止 2026-04-27
...
---
## 免责声明与风险提示
本服务所生成、展示或输出的内容(包括但不限于文本、数据、分析结果等),部分来源于恒生聚源 MCP、第三方数据源、公开信息。本服务仅对数据源进行自动化调用、处理与呈现,不构成任何投资决策或其他决策的建议或者承诺,投资者不应以本服务取代其独立判断或仅根据本服务做出决策。
数据源本身可能存在不准确、不完整、过时、错误或缺失等情况。由于数据源提供方的限制、技术传输偏差、自然语言歧义或其他客观原因,本服务对所生成、展示或输出内容的真实性、准确性或完整性不做任何保证。
本服务的服务提供方及其关联公司不对任何机构或个人因参照本服务所生成、展示或输出内容进行投资、决策而产生的任何后果承担任何责任。市场有风险,投资需谨慎。
---
**报告生成时间**:2026-04-27 15:00
**数据截至时间**:2026-04-27 15:00
数据来源格式(已合并到"数据来源归集格式")
注意:
- 数据来源列表后不再单独添加"数据截止 XXXX"行,而是在免责声明后统一添加报告生成时间和数据截至时间
- 每个数据源单独一行,序号(如 [1]、[2])另起一行,不要跟在上一行末尾
- 格式示例: [1] CompanyBasicInfo 公司简介,恒生聚源 MCP;数据截止 2026-04-27 [2] StockBelongIndustry 所属行业分类,恒生聚源 MCP;数据截止 2026-04-27
溯源角标格式
正文中的溯源角标放在每个小节结束部分:
### 1.1 公司基本情况
[正文内容...]
数据来源:[1] CompanyBasicInfo 公司简介,恒生聚源 MCP;数据截止 2026-04-27
注意:
- 角标放在小节(如 1.1、1.2)结尾,不是大章节结尾
- 使用普通文本格式,不使用引用块(>)或表格等特殊标记
- 文字不加粗(保持普通文本样式)
- 英文 API 名称在前,中文名称在后
- 恒生聚源 MCP 后面用分号(;)
- 每个数据源另起一行,序号(如 [1]、[2])另起一行,不要跟在上一行末尾
数据来源归集格式
在免责声明章节前,必须增加"数据来源"章节,归集所有使用的数据源:
## 数据来源
[1] CompanyBasicInfo 公司简介,恒生聚源 MCP;数据截止 2026-04-27
[2] StockBelongIndustry 所属行业分类,恒生聚源 MCP;数据截止 2026-04-27
[3] StockBelongConcept 所属概念板块,恒生聚源 MCP;数据截止 2026-04-27
...
注意:
- 每个数据源单独一行,序号(如 [1]、[2])另起一行,不要跟在上一行末尾
- 英文 API 名称在前,中文名称在后
- 恒生聚源 MCP 后面用分号(;)
- 数据截止日期统一标注
PDF 输出要求
- 背景色:白色(#FFFFFF)
- 字体:使用 Noto Serif CJK SC 字体渲染,确保无乱码
- 图表:专业美观,图表后配文字分析,蓝色渐变表格头
- 格式:像专业证券分析师报告,兼具专业性与美观性
- 样式:无独立封面页,报告标题 + 元信息 + 核心结论摘要直接展开,采用专业证券研究报告样式(蓝色渐变表格头、信息框、关键指标卡片等)
- 路径:默认 ~/Desktop/,生成前询问用户确认或修改
- 生成方式:必须调用
scripts/generate_pdf.py脚本生成 PDF,使用 markdown2 将 Markdown 转换为 HTML,weasyprint 将 HTML+CSS 转换为 PDF,确保排版准确输出
图表使用规范
- 关键数据须以表格呈现
- 图表后必须配文字分析
- 图表标题清晰,标注数据来源
- 颜色搭配专业(避免过于花哨)
- 图表编号连续(图 1、图 2...)
报告质量检查清单
- [ ] 所有关键数据已获取且标注截止日期
- [ ] 财报数据为最新可用数据(优先季报)
- [ ] 每个小节结束处有数据来源标注(如 1.1、1.2 结尾)
- [ ] 文末"数据来源"章节完整归集所有使用的数据源
- [ ] 数据来源格式正确:每个数据源单独一行,序号(如 [1]、[2])另起一行,不要跟在上一行末尾
- [ ] 数据来源章节位于免责声明之前
- [ ] 免责声明完整
- [ ] 报告生成时间和数据截至时间已添加
- [ ] PDF 无乱码,背景为白色
- [ ] 图表专业美观,配有分析文字
- [ ] 投资结论明确(评分/信号/估值/建议)
注意事项
- 禁止编造数据:所有数据必须通过 MCP 工具获取真实数据
- 数据缺失处理:如数据缺失,标注"数据暂缺"并说明原因
- 时间敏感性:明确标注所有数据的截止日期
- 客观中立:分析须客观,避免过度乐观或悲观
- 风险提示:风险提示必须充分,不得淡化风险
相关文件
- report-template.md - 完整报告模板
- data-sources.md - 数据源详细说明
- example-output.md - 示例输出
- chart-styles.md - 图表样式规范
- generate-report.js - 报告内容生成脚本(Node.js,数据采集 + Markdown 生成)
- generate_pdf.py - PDF 生成脚本(markdown2 + weasyprint)
微信扫一扫