Back to skills
extension
Category: OtherAPI key required

估值模型

基于 MCP 聚源金融数据库进行专业财务预测与估值建模。融合高盛 DCF 标准与 Wind Evaluator 框架,自动生成完整三表预测、DCF 估值、相对估值、敏感性分析和 Football Field 估值区间。

personAuthor: user_cc9425b3hubcommunity

【财务预测与估值模型生成器】

⚠️ 数据准确性警告(2026-05-18 血泪教训)

曾犯错误: 将一致预期数据误作为历史实际值,导致贵州茅台 2025 年营收误差 +9.9%、净利润误差 +10.3%、增速方向错误(实际 -1.2% 误报为 +5.2%)

根本原因: 混用 ConsensusExpectationFinancialStatement 数据,未区分实际值和预测值

解决方案: 严格执行下文"数据准确性强制规范",历史数据必须使用 FinancialStatement 年报实际值,必须交叉验证

版本: v1.2.0(数据准确性增强版)


专业财务预测与估值模型生成器,融合高盛 DCF 估值标准与 Wind Evaluator 专业框架。基于恒生聚源 MCP 金融数据库,自动生成完整三表预测、DCF 估值、相对估值、敏感性分析和 Football Field 估值区间。

功能范围(强制执行)

| 功能 | 说明 | 适用场景 | 强制执行 | |------|------|----------|---------| | 历史报表导入 | 自动获取 5-10 年历史财务数据(利润表/资产负债表/现金流量表) | 模型初始化、历史趋势分析 | ✅ 必须 | | 基本假设构建 | 收入驱动、成本结构、资本配置、营运资本假设 | 预测逻辑设定 | ✅ 必须 | | 三表预测 | 利润表/资产负债表/现金流量表 5 年预测,自动配平 | 核心财务预测 | ✅ 必须 | | 财务分析 | 比率分析、杜邦分析、趋势分析 | 财务健康度评估 | ✅ 必须 | | DCF 估值 | WACC 计算、自由现金流折现、终值计算、敏感性分析 | 绝对估值 | ✅ 必须 | | 敏感性分析 | WACC vs g 矩阵、情景分析 | 风险评估 | ✅ 必须 | | 相对估值 | 可比公司筛选、PE/PB/EV/EBITDA/PEG 倍数分析(至少 3 种方法) | 市场法估值 | ✅ 必须 | | Football Field | 多方法估值区间可视化(至少 5 种方法对比) | 综合估值展示 | ✅ 必须 |

⚠️ 重要: 以上 8 项功能为强制执行,不得省略或简化。缺少任何一项,报告视为未完成。


🔒 数据准确性强制规范(v1.3.0 核心更新)

⚠️ 血泪教训 #1(2026-05-18 贵州茅台)

错误描述:ConsensusExpectation(一致预期)的预测数据误作为历史实际值使用

| 数据项 | 报告中使用(错误) | 实际值(正确) | 误差 | |--------|-----------------|--------------|------| | 2025 年营收 | 1,855 亿元 | 1,688 亿元 | +9.9% ❌ | | 2025 年净利润 | 908 亿元 | 823 亿元 | +10.3% ❌ | | 2025 年增速 | +5.2% | -1.2% | 方向错误 ❌ |

后果: 估值结果虚高 10%,投资评级错误


⚠️ 血泪教训 #2(2026-05-18 宁德时代)

错误描述: 虽然 v1.2.0 规范已存在,但为了速度跳过交叉验证,导致多处错误

| 数据项 | 年份 | 报告中使用(错误) | 实际值(正确) | 误差 | |--------|------|-----------------|--------------|------| | 营业收入 | 2023A | 3,621 亿 | 4,009 亿 | -9.7% ❌ | | 归母净利润 | 2024A | 542 亿 | 507 亿 | +6.8% ❌ | | 归母净利润 | 2025A | 768 亿 | 722 亿 | +6.4% ❌ | | 毛利率 | 2025A | 22.6% | 26.27% | -3.7% ❌ |

后果: 估值结果偏差 17%,目标价错误

根本原因:

  1. 为了速度跳过交叉验证步骤
  2. FinQuery 返回多期数据时未筛选"年报"标识
  3. 工具超时时使用估算值而非等待
  4. 急于生成报告,违反"数据准确性第一"原则

⚠️ 血泪教训 #3(2026-05-19 神州细胞)

错误描述: 优先使用 FinancialStatement,但返回空表,导致任务卡住

| 公司 | 工具 | 结果 | 原因 | |------|------|------|------| | 神州细胞 (688520) | FinancialStatement | ❌ 空表 | 科创板未盈利企业,财报结构特殊 | | 神州细胞 (688520) | FinQuery | ✅ 成功 | 智能解析,覆盖更广 |

教训: FinancialStatement 对科创板/生物科技企业可能返回空表,应优先使用 FinQuery

解决方案: v1.3.0 改为FinQuery 优先策略


🛑 红线规则(v1.7.0 更新)

违反以下任何一条,必须停止生成报告!

数据准确性规则(7 项)

  1. FinQuery 未筛选"年报"标识 → 停止!
  2. 未执行双工具交叉验证(FinQuery + FinancialStatement) → 停止!
  3. 关键年份(最新 2 年)未用 FinancialStatement 验证 → 停止!
  4. 两工具误差>1% 未重新查询并调查原因 → 停止!
  5. 工具超时使用估算值 → 停止!
  6. 未执行数据合理性检查(同比增速突变>20%) → 停止!
  7. 历史三表不完整(缺利润表/资产负债表/现金流量表) → 停止!

核心功能模块规则(4 项)← v1.7.0 新增

  1. 财务分析不完整(缺比率分析/杜邦分析/趋势分析) → 停止!
  2. DCF 估值不完整(缺 WACC 计算/敏感性分析) → 停止!
  3. 相对估值少于 3 种方法(PE/PB/EV/EBITDA/PEG) → 停止!
  4. Football Field 少于 5 种方法对比 → 停止!

宁可报告延迟,不可数据错误!宁可功能完整,不可简化省略!

⚠️ 重要教训(2026-05-19 惠泰医疗案例):

  • FinQuery 可能返回不一致数据(20.07 亿 vs 25.84 亿,误差 28%)
  • 必须用 FinancialStatement 验证最新 2 年数据
  • 发现数据异常必须重新查询,不能直接使用

⚠️ 重要教训(2026-05-19 宁德时代案例):

  • 不能把技能文档的"功能范围"当成"菜单"挑选执行
  • 财务分析、DCF 估值、相对估值、Football Field 都是强制要求
  • 缺少任何一项核心功能,报告视为未完成

一、数据源优先级(必须遵守)

| 数据类型 | 第一优先级 | 第二优先级 | 验证要求 | |---------|-----------|-----------|---------| | 历史实际值(年报) | FinQuery(筛选年报) | FinancialStatement | 必须筛选"年报"标识 | | 历史实际值(快报/季报) | FinQuery | FinancialStatement | 需用年报验证 | | 未来预测值 | ConsensusExpectation | - | 必须标注"E",不得与实际值混用 | | 财务比率 | FinancialAnalysis | 自行计算 | 需与财报数据勾稽 |

二、数据获取流程(v1.7.0 强制执行)

步骤 0:明确数据需求
  ↓
步骤 1:FinQuery 获取利润表数据(添加"年报"关键词)← 第一遍查询
  ↓
步骤 2:FinQuery 获取资产负债表数据(添加"年报"关键词)← 必须执行!
  ↓
步骤 3:FinQuery 获取现金流量表数据(添加"年报"关键词)← 必须执行!
  ↓
步骤 4:FinancialStatement 验证最新 2 年 ← 必须执行,不得跳过!
  ↓
步骤 5:双工具对比 ← 误差必须≤1%,否则重新查询!
  ↓
步骤 6:如误差>1%,重新查询 FinQuery ← 第二遍查询
  ↓
步骤 7:再次对比 ← 如仍不一致,以 FinancialStatement 为准
  ↓
步骤 8:ConsensusExpectation 获取未来 3 年预测 ← 必须执行!
  ↓
步骤 9:如 ConsensusExpectation 返回空 → 进行人工假设 ← 必须写明关键假设项!
  ↓
步骤 10:合理性检查 ← 同比增速突变>20% 需调查原因
  ↓
步骤 11:生成三表预测 ← 利润表 + 资产负债表 + 现金流量表
  ↓
步骤 12:生成财务分析 ← 比率分析 + 杜邦分析 + 趋势分析 ← v1.7.0 新增
  ↓
步骤 13:生成 DCF 估值 ← WACC 详细计算 + 敏感性分析 + 情景分析 ← v1.7.0 新增
  ↓
步骤 14:生成相对估值 ← PE/PB/EV/EBITDA/PEG 至少 3 种方法 ← v1.7.0 新增
  ↓
步骤 15:生成 Football Field ← 至少 5 种方法对比 ← v1.7.0 新增
  ↓
步骤 16:数据校验(勾稽关系检查)
  ↓
步骤 17:完成 17 项检查清单 ← 逐项勾选
  ↓
步骤 18:生成报告 ← 只有前 17 步全部通过才能执行

⚠️ 任何一步失败,必须停止生成报告!

⚠️ 人工假设规则(当 ConsensusExpectation 返回空时):

  • 必须写明关键假设项(营收增速、毛利率、费用率等)
  • 营收增速假设需参考行业平均增速 + 公司历史增速
  • 毛利率假设需参考历史毛利率水平 + 行业竞争格局
  • 费用率假设需参考历史费用率水平 + 规模效应
  • 必须在报告中明确标注"人工假设"并说明假设依据

⚠️ 历史三表完整性要求(v1.6.0 新增):

  • 必须获取完整的历史三表数据(利润表 + 资产负债表 + 现金流量表)
  • 利润表关键科目:营收、成本、毛利润、三费、研发、净利润
  • 资产负债表关键科目:货币资金、应收账款、存货、固定资产、资产总计、负债总计、所有者权益
  • 现金流量表关键科目:经营现金流、投资现金流、筹资现金流、现金净增加额
  • 历史数据年份:至少 5 年(2021-2025),如公司上市不足 5 年则获取全部年份

⚠️ 核心功能模块要求(v1.7.0 新增):

  • 财务分析必须包含:比率分析、杜邦分析、趋势分析
  • DCF 估值必须包含:WACC 详细计算、敏感性分析、情景分析
  • 相对估值必须包含:PE/PB/EV/EBITDA/PEG 至少 3 种方法
  • Football Field 必须包含:至少 5 种方法对比
  • 缺少任何一项,报告视为未完成!

⚠️ 关键教训(惠泰医疗案例):

  • FinQuery 可能返回不一致数据(20.07 亿 vs 25.84 亿,误差 28%)
  • 必须用 FinancialStatement 验证最新 2 年(2024-2025)
  • 发现数据异常必须重新查询,不能直接使用
  • 预测数据必须使用 ConsensusExpectation,不能人工假设
  • 必须生成完整三表预测(利润表 + 资产负债表 + 现金流量表)

三、数据验证规则(v1.3.0 强制执行)

规则 1:FinQuery 优先(不得违反)

# ✅ 正确:优先使用 FinQuery 获取多年数据(筛选"年报"标识)
mcporter call jy-financedata-tool.FinQuery query="贵州茅台 2021-2025 年 营业收入 归母净利润 年报"
mcporter call jy-financedata-tool.FinQuery query="神州细胞 2021-2025 年 营业收入 营业成本 销售费用 管理费用 研发费用"

# ⚠️ 备用:如 FinQuery 返回异常,使用 FinancialStatement
mcporter call jy-financedata-api.FinancialStatement query="贵州茅台 财务报表 2025 年年报"

规则 2:强制交叉验证(误差≤1%)

# ✅ 正确:FinQuery 获取数据后,用 ConsensusExpectation 验证
mcporter call jy-financedata-tool.FinQuery query="贵州茅台 2021-2025 年 营业收入 年报"
mcporter call jy-financedata-api.ConsensusExpectation query="贵州茅台 一致预期"
# 对比同一年数据,误差必须≤1%

# ❌ 错误:未验证直接使用 FinQuery 数据
mcporter call jy-financedata-tool.FinQuery query="贵州茅台 2019-2025 年 营业收入"
# 直接使用,未验证 → 违反红线规则 2

规则 3:筛选"年报"标识(关键!)

# ✅ 正确:查询时添加"年报"关键词
mcporter call jy-financedata-tool.FinQuery query="贵州茅台 2021-2025 年 营业收入 年报"

# ❌ 错误:未指定报告期,可能混入季报/预测值
mcporter call jy-financedata-tool.FinQuery query="贵州茅台 营业收入"

规则 4:时间标识检查

| 标识 | 含义 | 能否作为历史实际值 | |------|------|------------------| | 2025-12-31 + 年报 | 2025 年年报实际值 | ✅ 可以 | | 2026-2028 + 预测年度 | 一致预期预测值 | ❌ 不可以 | | 2025E | 2025 年预测值 | ❌ 不可以(除非标注为快报) | | 2025A | 2025 年实际值 | ✅ 可以 |

规则 5:勾稽关系验证

利润表勾稽:
  毛利润 = 营业收入 - 营业成本
  营业利润 = 毛利润 - 三项费用 + 其他收益
  净利润 = 营业利润 - 所得税

资产负债表勾稽:
  资产 = 负债 + 所有者权益
  流动资产 + 非流动资产 = 总资产

现金流量表勾稽:
  现金净增加额 = 经营现金流 + 投资现金流 + 筹资现金流
  期末现金 = 期初现金 + 现金净增加额

规则 6:数据合理性检查(v1.4.0 新增)

同比增速合理性检查:
  - 营收增速突变>20% → 需调查原因(如 2023 年 +35% → 2024 年 -6%)
  - 营收增速突变>50% → 必须重新查询并核实
  - 毛利率波动>5% → 需调查原因
  - 净利率波动>5% → 需调查原因

双工具一致性检查:
  - FinQuery vs FinancialStatement 误差>1% → 重新查询
  - 两次 FinQuery 查询结果不一致 → 以 FinancialStatement 为准
  - 如 FinancialStatement 返回空表 → 用 ConsensusExpectation 历史值验证

⚠️ 惠泰医疗教训(2026-05-19):
  - 原报告:2024A 营收 15.44 亿 (-6.4%),2025A 营收 20.07 亿 (+30%)
  - 正确值:2024A 营收 20.66 亿 (+25%),2025A 营收 25.84 亿 (+25%)
  - 问题:增速从 +25% 突变为 -6% 未引起警觉!

规则 7:预测数据规则(v1.5.0 新增)

优先使用 ConsensusExpectation:
  - 必须首先调用 ConsensusExpectation 获取机构一致预期
  - 预测数据必须标注角标 [4] 并明确标注为"E"
  - 必须生成完整三表预测(利润表 + 资产负债表 + 现金流量表)

人工假设备用方案(当 ConsensusExpectation 返回空时):
  - 必须写明关键假设项及假设依据
  - 营收增速假设:参考行业平均增速 + 公司历史 3 年平均增速
  - 毛利率假设:参考历史 3 年平均毛利率 + 行业竞争格局
  - 费用率假设:参考历史 3 年平均费用率 + 规模效应
  - 净利率假设:参考历史 3 年平均净利率 + 盈利能力趋势

关键假设项必须说明:
  - 营收增速假设依据(如:行业增速 15% + 公司市占率提升)
  - 毛利率变化假设依据(如:竞争加剧下降 1-2% 或产品结构优化上升 1-2%)
  - 费用率变化假设依据(如:规模效应下降 0.5-1%)
  - 必须在报告中明确标注"人工假设"并说明假设依据

⚠️ 中控技术教训(2026-05-19):
  - 原报告:人工假设 2026E 营收 88.80 亿,未使用 ConsensusExpectation
  - 正确做法:先调用 ConsensusExpectation,返回 93.70 亿(机构预期)
  - 教训:预测数据必须优先使用机构一致预期,不得跳过

规则 8:历史三表完整性规则(v1.6.0 新增)

历史财务数据必须展示完整三表:

利润表(至少 5 年):
  - 营业收入、营业成本、毛利润、毛利率
  - 销售费用、管理费用、研发费用、财务费用
  - 营业利润、归母净利润、净利率
  - 数据来源:FinQuery 工具 [1]

资产负债表(至少 5 年):
  - 流动资产:货币资金、应收账款、存货
  - 非流动资产:固定资产、在建工程
  - 资产总计、负债总计、所有者权益
  - 资产负债率 = 负债总计 / 资产总计
  - 数据来源:FinQuery 工具 [1]

现金流量表(至少 5 年):
  - 经营活动现金流净额
  - 投资活动现金流净额
  - 筹资活动现金流净额
  - 现金净增加额
  - 数据来源:FinQuery 工具 [1]

⚠️ 宁德时代教训(2026-05-19):
  - 原报告:历史数据只展示了利润表,缺失资产负债表和现金流量表
  - 正确做法:历史三表都必须展示,让投资者全面了解公司财务状况
  - 教训:历史财务数据必须完整展示三表,不得省略

📋 人工假设模板(当 ConsensusExpectation 返回空时使用):

```markdown
### 5.X 盈利预测与关键假设

**数据来源:** 人工假设(ConsensusExpectation 无机构覆盖)

**关键假设项:**

| 假设项 | 2026E | 2027E | 2028E | 假设依据 |
|--------|-------|-------|-------|---------|
| 营收增速 | 15.0% | 18.0% | 20.0% | 行业增速 15% + 公司市占率提升 |
| 毛利率 | 32.0% | 32.5% | 33.0% | 历史 3 年均值 32% + 产品结构优化 |
| 销售费用率 | 10.5% | 10.0% | 9.5% | 历史 3 年均值 10.5% + 规模效应 |
| 管理费用率 | 5.0% | 4.8% | 4.5% | 历史 3 年均值 5% + 规模效应 |
| 研发费用率 | 12.0% | 12.0% | 12.0% | 历史 3 年均值 12%,维持创新投入 |
| 净利率 | 8.0% | 9.0% | 10.0% | 毛利率提升 + 费用率下降 |

**假设合理性说明:**
1. 营收增速假设:参考申万工控设备行业平均增速 15%,公司作为行业龙头给予 3-5% 溢价
2. 毛利率假设:参考公司历史 3 年平均毛利率 32.5%,假设产品结构优化带动毛利率稳中有升
3. 费用率假设:参考公司历史 3 年平均费用率,假设规模效应带动费用率逐年下降 0.5%
4. 净利率假设:基于毛利率提升 + 费用率下降,假设净利率从 8% 逐步提升至 10%

**风险提示:**
- 上述预测为人工假设,实际业绩可能受行业周期、竞争格局、政策变化等因素影响
- 建议关注公司年报、季报及机构研报,及时更新预测数据

规则 3:时间标识检查

| 标识 | 含义 | 能否作为历史实际值 | |------|------|------------------| | 2025-12-31 + 年报 | 2025 年年报实际值 | ✅ 可以 | | 2026-2028 + 预测年度 | 一致预期预测值 | ❌ 不可以 | | 2025E | 2025 年预测值 | ❌ 不可以(除非标注为快报) | | 2025A | 2025 年实际值 | ✅ 可以 |

规则 4:勾稽关系验证

利润表勾稽:
  毛利润 = 营业收入 - 营业成本
  营业利润 = 毛利润 - 三项费用 + 其他收益
  净利润 = 营业利润 - 所得税

资产负债表勾稽:
  资产 = 负债 + 所有者权益
  流动资产 + 非流动资产 = 总资产

现金流量表勾稽:
  现金净增加额 = 经营现金流 + 投资现金流 + 筹资现金流
  期末现金 = 期初现金 + 现金净增加额

四、数据标注规范(必须执行)

每个数据必须标注来源和时间:

| 科目(亿元) | 2023A | 2024A | 2025A | 2026E | 2027E |
|-------------|-------|-------|-------|-------|-------|
| 营业收入 | 1,477[1] | 1,709[1] | 1,688[1] | 1,755[3] | 1,825[3] |
| 同比增速 | 19.0% | 15.7% | -1.2% | 4.0% | 4.0% |

> 注:
> - [1] 来源:FinQuery (jy-financedata-tool) 年报实际值
> - [3] 来源:ConsensusExpectation 一致预期
> - A = Actual(实际值),E = Estimate(预测值)

五、禁止行为(违反会导致数据错误)

严禁:

  1. 使用 ConsensusExpectation 数据作为历史实际值
  2. 未经验证的 FinQuery 数据直接用于报告
  3. 将预测值(带"E")误作为实际值使用
  4. 忽视数据的时间标识(年报/季报/预测)
  5. 单一数据源,不做交叉验证
  6. 忽略同比增速的合理性检查(如突然从 +15% 变为 -1%)
  7. FinQuery 查询未添加"年报"关键词

必须:

  1. 历史数据优先使用 FinQuery(添加"年报"关键词)
  2. 用 ConsensusExpectation 交叉验证同一年数据
  3. 明确标注每个数据是实际值还是预测值
  4. 检查同比增速的合理性
  5. 验证财务勾稽关系
  6. 发现异常数据立即重新查询
  7. FinancialStatement 作为备用方案(当 FinQuery 返回异常时)

📋 数据验证清单(生成报告前必须逐项检查)

报告提交前检查清单(v1.7.0 更新)

数据准确性检查(8 项)

  • [ ] 数据来源检查: 历史实际值是否来自 FinQuery(或 FinancialStatement 备用)?
  • [ ] 年报标识检查: FinQuery 查询是否添加了"年报"关键词?
  • [ ] 双工具验证检查: 最新 2 年(2024-2025)是否用 FinancialStatement 验证过?
  • [ ] 工具一致性检查: FinQuery vs FinancialStatement 误差是否≤1%?
  • [ ] 历史三表完整性检查: 历史数据是否包含完整三表(利润表 + 资产负债表 + 现金流量表)?
  • [ ] 预测三表完整性检查: 是否生成完整三表预测(利润表 + 资产负债表 + 现金流量表)?
  • [ ] 时间标识检查: 是否混淆了实际值和预测值?
  • [ ] 数据标注检查: 每个数据是否标注了来源(A/E)?

核心功能模块检查(5 项)← v1.7.0 新增

  • [ ] 财务分析完整性检查: 是否包含比率分析、杜邦分析、趋势分析?
  • [ ] DCF 估值完整性检查: 是否包含 WACC 详细计算、敏感性分析、情景分析?
  • [ ] 相对估值完整性检查: 是否包含 PE/PB/EV/EBITDA/PEG 至少 3 种方法?
  • [ ] Football Field 检查: 是否生成多方法估值区间对比表(至少 5 种方法)?
  • [ ] 一致预期获取检查: 是否使用 ConsensusExpectation 获取未来 3 年预测?(如返回空,是否写明人工假设依据)

合理性检查(4 项)

  • [ ] 增速合理性检查: 同比增速是否合理?有无异常波动(突变>20%)?
  • [ ] 毛利率合理性检查: 毛利率波动是否>5%?需说明原因
  • [ ] 勾稽关系检查: 三表数据是否满足会计勾稽关系?
  • [ ] 异常值检查: 是否有数据明显偏离行业趋势?

总计:17 项检查,必须全部通过才能生成报告!

⚠️ 惠泰医疗教训(2026-05-19):

  • 原报告未检查:2024 年增速从 +25% 突变为 -6% 未引起警觉
  • 原报告未验证:未用 FinancialStatement 验证 2024-2025 年数据
  • 原报告未复查:FinQuery 返回 20.07 亿后未重新查询核实

检查人: _________
检查日期: _________
检查状态: □ 通过 □ 不通过(需修正)


功能范围

| 功能 | 说明 | 适用场景 | |------|------|----------| | 历史报表导入 | 自动获取 5-10 年历史财务数据(利润表/资产负债表/现金流量表) | 模型初始化、历史趋势分析 | | 基本假设构建 | 收入驱动、成本结构、资本配置、营运资本假设 | 预测逻辑设定 | | 三表预测 | 利润表/资产负债表/现金流量表 5 年预测,自动配平 | 核心财务预测 | | 财务分析 | 比率分析、杜邦分析、趋势分析 | 财务健康度评估 | | DCF 估值 | WACC 计算、自由现金流折现、终值计算 | 绝对估值 | | 敏感性分析 | WACC vs g 矩阵、龙卷风图、情景分析 | 风险评估 | | 相对估值 | 可比公司筛选、PE/PB/EV/EBITDA 倍数分析 | 市场法估值 | | Football Field | 多方法估值区间可视化 | 综合估值展示 |

查询建议

查询需要具备的要素:

  • 公司名称(必填)
  • 股票代码(可选,建议提供以提高准确性)
  • 预测年限(可选,默认 5 年)
  • 输出格式(可选,支持 Excel/Markdown)

查询写法示例:

  • "为贵州茅台搭建财务预测与估值模型"
  • "宁德时代未来 5 年三表预测,输出 Excel"
  • "福耀玻璃 DCF 估值分析"

查询示例

  1. "帮我为贵州茅台 (600519.SH) 搭建完整财务预测与估值模型"
  2. "宁德时代未来 5 年财务预测,包含 DCF 估值和可比公司分析"
  3. "生成福耀玻璃的三表模型,预测 2026-2030 年"

环境检查与配置

每次使用本技能前,必须先检查 mcporter 安装和 MCP 服务配置状态!

步骤 1:检查 mcporter 是否安装

mcporter --version

如未安装:

npm install -g mcporter
mcporter --version

步骤 2:检查 MCP 服务配置

mcporter list

预期输出:

  • jy-financedata-tool
  • jy-financedata-api

如服务未配置:

2.1 获取 JY_API_KEY

申请邮箱: datamap@gildata.com

邮件标题: 数据地图 KEY 申请-XX 公司 - 申请人姓名

正文模板:

  • 姓名:
  • 手机号:
  • 公司/单位全称:
  • 所属部门:
  • 岗位:
  • MCP_KEY 申请用途:
  • Skill 申请列表:
  • 是否需要 Skill 安装包:(是/否)

2.2 配置 MCP 服务

mcporter config add jy-financedata-api --url "https://api.gildata.com/mcp-servers/aidata-assistant-srv-api?token=你的 JY_API_KEY"
mcporter config add jy-financedata-tool --url "https://api.gildata.com/mcp-servers/aidata-assistant-tool?token=你的 JY_API_KEY"

2.3 验证配置

mcporter list

2.4 使用方式

# 基础键值对传参
mcporter call 服务名称。工具 参数=值

# 所有服务工具的入参均为 query
mcporter call jy-financedata-api.FinancialStatement query="贵州茅台 财务报表"

步骤 3:在 OpenClaw 中启用 mcporter

配置文件路径:

  • Windows: C:\Users\你的用户名\config\mcporter.json
  • Linux/MacOS: /root/config/mcporter.json

编辑 openclaw.json:

{
  "skills": {
    "entries": {
      "mcporter": {
        "enabled": true,
        "env": {
          "MCPORTER_CONFIG": "C:\\Users\\你的用户名\\config\\mcporter.json"
        }
      }
    }
  }
}

重启 OpenClaw:

openclaw gateway restart

核心工作流程

⚠️ 数据准确性第一原则: 所有历史财务数据必须以 FinancialStatement 年报实际值为准,严禁使用一致预期数据替代历史实际值!

步骤 0:数据验证准备(必须执行)

目标: 明确区分历史实际值和预测值,防止数据混用

关键规则: | 数据类型 | 推荐工具 | 验证要求 | |---------|---------|---------| | 历史实际值(年报) | FinQuery(添加"年报"关键词) | 必须筛选年报标识,用 ConsensusExpectation 验证 | | 历史实际值(快报/季报) | FinQuery | 需用年报数据验证 | | 未来预测值 | ConsensusExpectation | 明确标注"E",不得与实际值混用 |

并发调用:

# 获取多年年报实际值(优先使用 FinQuery)
mcporter call jy-financedata-tool.FinQuery query="贵州茅台 2021-2025 年 营业收入 归母净利润 年报"
mcporter call jy-financedata-api.ConsensusExpectation query="贵州茅台 一致预期"

步骤 1:公司基本信息与行业分类

目标: 获取公司基本信息、所属行业分类,用于后续可比公司筛选

并发调用:

mcporter call jy-financedata-api.CompanyBasicInfo query="贵州茅台 公司简介"
mcporter call jy-financedata-api.StockBelongIndustry query="贵州茅台 行业分类"
mcporter call jy-financedata-api.StockBelongConcept query="贵州茅台 所属概念"

步骤 2:历史财务数据获取(⚠️ 关键步骤)

⚠️ 数据准确性强制验证流程:

  1. 首先使用 FinQuery 获取多年数据(优先执行,添加"年报"关键词)
  2. 内部验证:检查"年报"标识、核算方式、勾稽关系
  3. 如数据异常,用 FinancialStatement 验证关键年份(备用方案)
  4. 明确标注:每个数据必须标注来源(年报/快报/预测)

方案 A(推荐):FinQuery 优先 + 内部验证

# 第一步:使用 FinQuery 获取多年年报数据(必须添加"年报"关键词)
mcporter call jy-financedata-tool.FinQuery query="贵州茅台 2021-2025 年 营业收入 归母净利润 营业成本 年报"
mcporter call jy-financedata-tool.FinQuery query="贵州茅台 2021-2025 年 销售费用 管理费用 研发费用 财务费用 年报"

# 第二步:内部验证(关键!)
# 1. 检查"时间"字段是否为 2025-12-31, 2024-12-31 等(年报日期)
# 2. 检查"报告期"字段是否为"年报"
# 3. 检查"核算方式"是否为"累计值"
# 4. 检查同比增速是否合理(如突然从 +15% 变为 -1% 需重新查询)
# 5. 验证勾稽关系:毛利润 = 营业收入 - 营业成本

# 第三步:如数据异常,使用 FinancialStatement 验证关键年份
mcporter call jy-financedata-api.FinancialStatement query="贵州茅台 财务报表 2025 年年报"
# 对比同一年数据,误差必须≤1%

❌ 严禁行为:

  • 不得使用 ConsensusExpectation 数据作为历史实际值
  • 不得将预测值(带"E"标注)误作为实际值使用
  • FinQuery 查询未添加"年报"关键词
  • 未经验证的 FinQuery 数据直接用于报告
  • 用 ConsensusExpectation 验证历史实际值(它是预测数据工具!)

方案 B(备用):FinancialStatement(当 FinQuery 返回异常时)

# 仅当 FinQuery 返回异常时使用此方案
mcporter call jy-financedata-api.FinancialStatement query="贵州茅台 财务报表 2025 年年报"
mcporter call jy-financedata-api.FinancialStatement query="贵州茅台 财务报表 2024 年年报"

步骤 3:一致预期与机构评级

目标: 获取市场一致预期数据和机构评级,作为预测参考

⚠️ 注意: 此步骤获取的数据为预测值,必须标注"E",不得与历史实际值混用

并发调用:

mcporter call jy-financedata-api.ConsensusExpectation query="贵州茅台 一致预期 未来 3 年"
mcporter call jy-financedata-api.InstitutionalRating query="贵州茅台 机构评级"
mcporter call jy-financedata-api.PerformanceForecast query="贵州茅台 业绩预告"

步骤 4:估值与风险分析

目标: 获取当前估值指标和风险指标

并发调用:

mcporter call jy-financedata-api.StockValueAnalysis query="贵州茅台 价值分析 PE PB"
mcporter call jy-financedata-api.StockRiskAnalysis query="贵州茅台 风险分析 Beta 波动率"
mcporter call jy-financedata-api.AShareLiveQuote query="贵州茅台 实时行情"

步骤 5:可比公司筛选与分析

目标: 筛选 8-12 家可比公司,获取估值对比数据

调用:

# 先获取行业成分股
mcporter call jy-financedata-api.IndustryConstituentStocks query="白酒行业 成分股"

# 再获取可比公司估值对比
mcporter call jy-financedata-api.ValueAnalysisComparison query="贵州茅台 与同行业企业 PE PB EV 对比"
mcporter call jy-financedata-api.FinancialDataComparison query="贵州茅台 与同行业企业营收利润对比"
mcporter call jy-financedata-api.FinancialRatioComparison query="贵州茅台 与同行业企业 ROE 毛利率对比"

步骤 6:生成预测与估值模型

目标: 基于获取的数据,构建完整三表预测和 DCF 估值模型

输出:

  • Excel 格式完整模型(包含 13 个工作表)
  • Markdown 格式摘要报告
  • HTML 格式可视化报告(含 Football Field 图)

⚠️ 最终数据验证(必须执行):

  1. 对比历史实际值与预测值,确保无混用
  2. 检查同比增速合理性(异常波动需说明原因)
  3. 验证三表勾稽关系
  4. 完成"数据验证清单"全部 8 项检查

快速开始

工具调用命令

# 基础调用格式
mcporter call jy-financedata-api.{工具名} query="{查询内容}"

常用工具列表

| 工具 | 服务 | 用途 | 优先级 | |------|------|------|--------| | FinQuery | jy-financedata-tool | 智能查询关键财务指标(营收/净利润等) | ⭐⭐⭐ 优先使用(添加"年报"关键词) | | ConsensusExpectation | jy-financedata-api | 获取市场一致预期数据(用于交叉验证) | ⭐⭐⭐ 必须验证 | | FinancialStatement | jy-financedata-api | 获取历史财务报表(备用方案) | ⭐⭐ 当 FinQuery 返回异常时使用 | | FinancialAnalysis | jy-financedata-api | 获取财务分析指标(ROE/毛利率等) | ⭐⭐⭐ 优先 | | StockValueAnalysis | jy-financedata-api | 获取估值指标(PE/PB/EV 等) | ⭐⭐⭐ 优先 | | StockRiskAnalysis | jy-financedata-api | 获取风险指标(Beta/波动率等) | ⭐⭐ | | IndustryConstituentStocks | jy-financedata-api | 获取行业成分股列表 | ⭐⭐⭐ 优先 | | ValueAnalysisComparison | jy-financedata-api | 可比公司估值对比 | ⭐⭐⭐ 优先 | | CompanyBasicInfo | jy-financedata-api | 公司基本信息 | ⭐⭐ | | StockBelongIndustry | jy-financedata-api | 公司所属行业分类 | ⭐⭐ |

数据获取策略

  1. 优先并发调用: 步骤 1-5 中的工具调用尽量并发执行
  2. 按需调用: 根据公司所属行业选择对应的可比公司筛选工具
  3. 超时处理: 单个工具调用超时 30 秒则跳过,不影响整体流程
  4. 数据缓存: 相同 query 的查询结果可缓存 60 分钟
  5. FinQuery 优先: 历史数据优先使用 FinQuery(添加"年报"关键词)
  6. 交叉验证: 同一年数据必须用 ConsensusExpectation 验证,误差≤1%
  7. 备用方案: 当 FinQuery 返回异常时,使用 FinancialStatement

示例调用

# 【正确】优先使用 FinQuery 获取多年数据(添加"年报"关键词)
mcporter call jy-financedata-tool.FinQuery query="贵州茅台 2021-2025 年 营业收入 归母净利润 年报"
mcporter call jy-financedata-tool.FinQuery query="贵州茅台 2021-2025 年 营业成本 销售费用 管理费用 研发费用 年报"

# 【验证】用 ConsensusExpectation 交叉验证
mcporter call jy-financedata-api.ConsensusExpectation query="贵州茅台 一致预期"

# 【备用】当 FinQuery 返回异常时,使用 FinancialStatement
mcporter call jy-financedata-api.FinancialStatement query="贵州茅台 财务报表 2025 年年报"

# 获取一致预期(仅用于预测,不得用于历史)
mcporter call jy-financedata-api.ConsensusExpectation query="贵州茅台 一致预期 2026-2028 年"

# 获取估值指标
mcporter call jy-financedata-api.StockValueAnalysis query="贵州茅台 价值分析"

输出模板

详细输出格式参见 references/output-template.md

保存路径:

  • 必须自动保存文件到 {workspace}\reports\ 目录
    • {workspace} = 当前工作空间根目录(通常是 C:\Users\你的用户名\.openclaw\workspace\
  • 不能仅在聊天界面输出

输出文件命名:

  • {公司名}_财务预测与估值模型_{YYYYMMDD}.xlsx
  • {公司名}_估值分析报告_{YYYYMMDD}.md
  • {公司名}_估值分析报告_{YYYYMMDD}.html

溯源要求

  • 所有数据必须标注来源角标 [1]、[2]
  • 文末统一列出数据来源清单(包含 MCP 工具名称)
  • 关键数据需多源交叉验证(如财报 + 一致预期 + 研报)
  • 数据必须标注更新时间
  • 必须明确标注实际值 (A) vs 预测值 (E)

资源清单

~/.openclaw/workspace/skills/jy-evaluation-model/
├── SKILL.md              # 技能主文档
├── DATA_ACCURACY_SPEC.md # 数据准确性规范(已整合到 SKILL.md)
└── references/
    ├── output-template.md       # 输出格式模板
    └── examples.md              # 使用示例

数据源清单

本技能所有数据均来自恒生聚源 MCP 金融数据库,无第三方数据源。

MCP 服务配置

| 服务名称 | 服务类型 | 用途 | 配置状态检查 | |----------|----------|------|--------------| | jy-financedata-api | HTTP MCP | 核心金融数据查询(财报/估值/预期等) | mcporter list | | jy-financedata-tool | HTTP MCP | 辅助工具(智能查询/筛选等) | mcporter list |

工具 - 数据源映射

| 工具名称 | 所属服务 | 数据来源 | 数据类型 | |----------|----------|----------|----------| | FinancialStatement | jy-financedata-api | 恒生聚源财报数据库 | 历史财务数据(实际值) | | FinancialAnalysis | jy-financedata-api | 恒生聚源财务指标库 | 财务比率指标 | | ConsensusExpectation | jy-financedata-api | 恒生聚源一致预期库 | 市场预测数据(预测值) | | StockValueAnalysis | jy-financedata-api | 恒生聚源估值数据库 | PE/PB/EV 等 | | StockRiskAnalysis | jy-financedata-api | 恒生聚源风险指标库 | Beta/波动率等 | | IndustryConstituentStocks | jy-financedata-api | 恒生聚源行业分类库 | 成分股列表 | | ValueAnalysisComparison | jy-financedata-api | 恒生聚源估值对比库 | 相对估值数据 | | CompanyBasicInfo | jy-financedata-api | 恒生聚源公司资料库 | 公司基本信息 | | StockBelongIndustry | jy-financedata-api | 恒生聚源行业分类库 | 行业归属 | | FinQuery | jy-financedata-tool | 恒生聚源综合数据库 | 智能查询(需验证) | | AShareLiveQuote | jy-financedata-api | 恒生聚源行情数据库 | 实时行情 |

数据源验证

使用前必须验证:

# 1. 验证所有工具调用均来自恒生聚源
mcporter list

# 2. 验证无第三方 API 调用
# 检查 SKILL.md 中所有 mcporter call 命令,确保服务名称前缀为 jy-financedata

# 3. 验证数据时效性
# 行情数据:实时
# 估值数据:T+1 更新
# 财务数据:季报/年报披露后 1-2 个工作日
# 一致预期:每日更新

限制

  1. 数据时效性:

    • 行情数据:实时
    • 估值数据:T+1 更新
    • 财务数据:季报/年报披露后 1-2 个工作日更新
    • 一致预期:每日更新
  2. 覆盖范围:

    • A 股上市公司:全覆盖
    • 港股上市公司:支持
    • 美股上市公司:支持(工具前缀 US 开头)
  3. 合规边界:

    • 明确标注"仅供参考,不构成投资建议"
    • 不承诺收益、不推荐具体买卖点
    • 风险提示必须醒目
    • 数据来源可追溯
  4. API 限制: 遵循聚源 MCP 服务 rate limit,建议单个公司模型生成间隔≥5 秒

注意事项

  1. 首次使用: 必须先完成 mcporter 安装和 MCP 服务配置
  2. JY_API_KEY: 需向恒生聚源申请,配置一次即可长期使用
  3. 并发调用: 步骤 1-5 建议并发执行以提升速度
  4. 超时处理: 单个工具调用超时不影响整体流程
  5. 数据验证: 关键数据需交叉验证(如财报 vs 一致预期)
  6. 模型配平: 资产负债表必须自动配平,使用"现金及等价物"作为配平项
  7. 预测合理性: 必须生成预测合理性检验报告
  8. ⚠️ 数据准确性(v1.3.0 核心):
    • 历史数据优先使用 FinQuery(添加"年报"关键词)
    • 必须执行交叉验证(FinQuery vs ConsensusExpectation)
    • 必须完成数据验证清单(9 项检查)
    • 必须明确标注实际值 (A) vs 预测值 (E)
    • FinancialStatement 作为备用方案(当 FinQuery 返回异常时)

版本历史:

  • v1.0.0 (2026-05-18): 初始版本
  • v1.1.0 (2026-05-18): 新增 FinQuery 优先策略
  • v1.2.0 (2026-05-18): 数据准确性增强版(贵州茅台/宁德时代错误后修订)
  • v1.3.0 (2026-05-19): FinQuery 优先策略版(神州细胞案例后优化)
  • v1.4.0 (2026-05-19): 双工具强制验证版(惠泰医疗数据错误后修订)
  • v1.5.0 (2026-05-19): 完整三表预测版(中控技术案例后修订)
  • v1.6.0 (2026-05-19): 历史三表完整版(宁德时代案例后修订)
  • v1.7.0 (2026-05-19): 核心功能强制执行版(宁德时代漏功能后修订)

v1.4.0 核心更新:

  1. 强制双工具交叉验证(FinQuery + FinancialStatement)
  2. 最新 2 年必须用 FinancialStatement 验证
  3. 新增数据合理性检查(增速突变>20% 需调查)
  4. 新增 9 项检查清单(原 8 项 + 双工具验证)
  5. 明确 FinQuery 可能返回不一致数据的处理流程

v1.5.0 核心更新(2026-05-19):

  1. 强制使用 ConsensusExpectation 获取未来 3 年预测(优先机构预期)
  2. 人工假设备用方案:当 ConsensusExpectation 返回空时,必须写明关键假设项
  3. 必须生成完整三表预测(利润表 + 资产负债表 + 现金流量表)
  4. 新增 11 项检查清单(原 9 项 + 一致预期获取 + 三表完整性 + 人工假设检查)
  5. 预测数据必须标注角标 [4] 并明确标注为"E"(人工假设标注 [人工])
  6. 新增规则 7:预测数据规则(优先 ConsensusExpectation,人工假设需说明依据)

v1.6.0 核心更新(2026-05-19):

  1. 历史财务数据必须展示完整三表(利润表 + 资产负债表 + 现金流量表)
  2. 新增 13 项检查清单(原 11 项 + 历史三表完整性检查)
  3. 新增规则 8:历史三表完整性规则
  4. 历史数据年份要求:至少 5 年(2021-2025),如公司上市不足 5 年则获取全部年份
  5. 历史三表关键科目必须完整展示(货币资金、应收账款、存货、固定资产、资产总计、负债总计、所有者权益、经营现金流、投资现金流、筹资现金流、现金净增加额)

v1.7.0 核心更新(2026-05-19):

  1. 功能范围表增加"强制执行"列,明确 8 项核心功能必须全部执行
  2. 新增 17 项检查清单(原 13 项 + 核心功能模块检查 5 项)
  3. 新增核心功能模块检查:财务分析、DCF 估值、相对估值、Football Field
  4. 明确:缺少任何一项核心功能,报告视为未完成
  5. 新增警告:技能文档的"功能范围" = 强制要求,不是"菜单"

免责声明: 本服务所生成、展示或输出的内容(包括但不限于文本、数据、分析结果等),部分来源于恒生聚源 MCP、第三方数据源、公开信息。本服务仅对数据源进行自动化调用、处理与呈现,不构成任何投资决策或其他决策的建议或者承诺,投资者不应以本服务取代其独立判断或仅根据本服务做出决策。数据源本身可能存在不准确、不完整、过时、错误或缺失等情况。由于数据源提供方的限制、技术传输偏差、自然语言歧义或其他客观原因,本服务对所生成、展示或输出内容的真实性、准确性或完整性不做任何保证。本服务的服务提供方及其关联公司不对任何机构或个人因参照本服务所生成、展示或输出内容进行投资、决策而产生的任何后果承担任何责任。市场有风险,投资需谨慎。