DCF 估值模型(Intrinsic Valuation via Discounted Cash Flow)通过将公司未来自由现金流折现到当前时点来计算内在价值,构建三情景(Bear/Base/Bull)动态估值模型,支持敏感性分析和公式驱动重算,输出专业估值报告与可交互模型。**触发词**:DCF 估值、现金流贴现、内在价值、绝对估值、企业估值、WACC、终值计算、估值模型、投行估值、估值报告、DCF Excel 模型。**案例提问**:"为恒生电子生成投行标准的 DCF 估值模型,包含敏感性
DCF 估值模型(Intrinsic Valuation via Discounted Cash Flow)
功能概述
DCF 估值模型(Intrinsic Valuation via Discounted Cash Flow)是一项面向实际任务的技能,主要用于基于恒生聚源 MCP 金融数据库 + 投行标准建模架构,执行 DCF 估值全流程分析,输出可交互模型与专业估值报告;MCP 数据源;
核心要点
- 自动从恒生聚源采集历史财务、市场数据、一致预期,无需手动录入;
- Excel 公式驱动;
- 所有计算单元格都是活公式,修改假设自动重算,支持动态调。
使用与执行
它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
结果检查与注意事项
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
DCF 估值模型(Intrinsic Valuation via Discounted Cash Flow)
基于恒生聚源 MCP 金融数据库 + 投行标准建模架构,执行 DCF 估值全流程分析,输出可交互模型与专业估值报告。
核心优势
| 特性 | 描述 |
|---|---|
| MCP 数据源 | 自动从恒生聚源采集历史财务、市场数据、一致预期,无需手动录入 |
| Excel 公式驱动 | 所有计算单元格都是活公式,修改假设自动重算,支持动态调整 |
| 三情景动态切换 | Case Selector(1/2/3)控制悲观/中性/乐观情景快速切换 |
| 敏感性分析 | Markdown 报告包含 1 个 5×5 敏感性表(WACC vs 永续增长率,使用完整 DCF 公式重算);Excel 模型中包含 2 个敏感性表框架(增长 vs 利润率、Beta vs 无风险利率),完整结果详见报告 |
| 中文支持 | 全中文界面 + UTF-8 编码,报告可直接交付 |
| 双重输出 | 可交互 Excel 模型 + Markdown/PDF 估值报告,满足不同场景需求 |
功能范围
| 场景 | 描述 | 触发示例 |
|---|---|---|
| 上市公司估值诊断 | 计算内在价值并与当前市值对比,判断高估/低估 | "用 DCF 评估贵州茅台的合理股价"、"老凤祥现在值不值得买" |
| 并购交易估值 | 确定标的公司合理收购价格区间,支持谈判决策 | "用 DCF 评估收购某公司的合理价格"、"某标的并购估值区间" |
| 投资价值分析 | 深度分析公司价值驱动因素,识别关键假设 | "分析某公司的价值来源,哪些假设最关键" |
查询建议
必需输入:目标公司名称
可选输入:
- 估值目的(投资参考/并购定价/IPO 定价等)
- 特定假设要求(如"永续增长率按 2% 计算")
- 关注重点(如"重点分析 WACC 敏感性")
- 输出偏好(如"只需要报告,不需要模型")
有效示例
- "为老凤祥做 DCF 估值,用于投资参考,输出估值报告"
- "用 DCF 模型评估贵州茅台的合理股价,包含敏感性分析"
- "某公司到底值多少钱?用 DCF 算一下内在价值"
环境配置
⚠️ 首次使用前必须完成配置!
📖 详细配置指南:见 references/setup-guide.md
⛔ 执行约束(AI 必须遵守)
以下行为严格禁止,违反会导致技能故障:
| 禁止事项 | 正确做法 |
|---|---|
❌ 在 调用本 skill 的过程中 目录创建 .py、.ps1 等脚本文件 |
手动收集数据,之后直接使用 scripts/ 目录中的现有脚本,通过参数传入公司数据 |
❌ 篡改 references/report-template.md 的结构 |
严格遵循 references/report-template.md 的指引,特别是 数据溯源 和 角标标注 的内容 |
| ❌ 跳过阶段 6(PDF 转换) | Markdown 报告生成后,必须调用 python scripts/md2pdf.py reports/[报告].md |
正确的执行流程:
1. 创建临时目录 `reports/tmp_YYYYMMDD_HHMMSS/`
↓
2. 严格遵循 `references/mcp-data-collection.md` 的指引,MCP **手动** 采集数据 → 保存到临时目录的 JSON 文件
↓
3. 运行 `python scripts/create_dcf_excel.py --tmp-dir tmp_YYYYMMDD_HHMMSS`
↓
4. 手动整合 `data_sources_final.json`(LLM 整合临时表为正式表)
↓
5. 运行 `python scripts/generate_report.py --tmp-dir tmp_YYYYMMDD_HHMMSS`
↓
6. 运行 `python scripts/md2pdf.py reports/tmp_XXXX/xxx.md`
↓
7. 输出在 `reports/tmp_YYYYMMDD_HHMMSS/` 目录下:Excel + Markdown + HTML + PDF
注意:
- 所有数据文件保存在
reports/tmp_YYYYMMDD_HHMMSS/临时目录中 - 每次调用 skill 时创建新的临时目录(时间戳命名)
- 临时目录永久保留,便于追溯和审计
阶段 2:数据质量检查
进入建模前,必须确认以下数据齐全:
- 至少 5 年历史财务数据完整
- 当前股价、总股本、净债务已获取
- 无风险利率、Beta、市场风险溢价已获取
- 一致预期或研报观点已获取
- 所属行业已获取(
StockBelongIndustryAPI) - 风险因素已归纳(
FinancialResearchReportAPI + LLM 归纳)
如有数据缺失,按以下优先级补齐:
- 历史财务数据缺失 → 重新调用
FinancialStatementAPI 获取缺失年份 - 市场数据缺失 → 重新调用对应 API(
AShareLiveQuote/MacroIndustryEDB/StockRiskAnalysis) - 一致预期缺失 → 尝试调用
ConsensusExpectationDetail获取券商预测区间,或使用行业增速替代 - 关键数据无法获取 → 在报告中标注"数据缺失",使用行业典型值估算并注明
阶段 3:Excel 模型构建
模型架构:
Sheet 1: DCF ├── Case Selector(1=Bear, 2=Base, 3=Bull) ├── 三情景假设块(Bear/Base/Bull 独立块) ├── 合并列(INDEX 公式引用选中情景) ├── 历史 + 预测财务(5 年) ├── 自由现金流计算 ├── WACC 与折现 ├── 终值计算 ├── 估值摘要 └── 敏感性分析(3 个 5×5 表) Sheet 2: WACC ├── 股权成本计算(CAPM) ├── 债务成本计算 └── 资本结构权重
关键特性:
- 所有投影单元格 = Excel 公式(非硬编码)
- 蓝色字体 = 硬编码输入,黑色字体 = 公式
- 每个硬编码值都有单元格注释(来源)
- 情景切换通过 Case Selector 控制
📖 Excel 建模完整工作流:严格遵循 references/excel-model-building.md
阶段 4:模型验证
自动验证脚本:
python scripts/validate_dcf.py reports/[模型文件名].xlsx
验证项目:
- ✅ 公式错误扫描(#REF!, #DIV/0!等)
- ✅ 终值增长率 < WACC(关键约束)
- ✅ WACC 在合理范围(5-20%)
- ✅ 终值占 EV 比例(40-80%)
关于公式计算:
Excel 模型中的所有公式会在你用 Excel 打开时自动计算,无需额外步骤。
阶段 4.5:错误处理流程
验证失败处理:
- 公式错误(#REF!, #DIV/0!) → 检查 Excel 模型中的单元格引用,重新运行
create_dcf_excel.py - 终值增长率 >= WACC → 调整永续增长率假设(降至 2-3%),重新生成模型
- WACC 超出合理范围 → 检查 Beta、无风险利率输入,重新计算 WACC
- 终值占 EV 比例异常 → 检查预测期长度和永续增长率假设
脚本报错处理:
- Python 脚本报错 → 检查错误信息,确认 Python 依赖已安装(
pip install markdown openpyxl) - MCP API 调用失败 → 检查网络连接和 API Key 配置,重试调用
- 文件保存失败 → 检查
reports/目录权限,确认路径无中文字符
无法解决的错误 → 查看脚本输出的错误日志,联系技能开发者
阶段 5:Markdown 报告生成
报告结构:
- 摘要(核心估值结论)
- 目标公司概况
- 模型选择
- 折现率计算
- 自由现金流预测
- 终值计算
- 估值结果
- 敏感性分析
- 数据溯源
- 免责声明
📖 报告模板:严格遵循 references/report-template.md
阶段 6:PDF 转换
python scripts/md2pdf.py reports/[报告文件名].md
资源清单
jy-intrinsic-valuation-via-discounted-cash-flow/ ├── SKILL.md # 主技能文件 ├── scripts/ # 脚本目录 │ ├── create_dcf_excel.py # Excel 模型生成器(核心) │ ├── validate_dcf.py # DCF 模型验证 │ ├── generate_report.py # Markdown 报告生成 │ └── md2pdf.py # PDF 转换器(重要) ├── references/ # 详细文档目录 │ ├── setup-guide.md # 环境配置指南 │ ├── mcp-data-collection.md # MCP 数据采集工作流 │ ├── excel-model-building.md # Excel 建模指南 │ ├── valuation-calculation-methodology.md # DCF 估值计算方法论 │ ├── report-template.md # 报告模板 │ ├── data-format-spec.md # 数据格式规范 │ ├── data_collected.template.json # 数据采集模板 │ └── mcp_call_log.template.json # MCP 调用日志模板 └── reports/ # 输出目录(首次调用 skill 时自动生成)
输出格式
输出目录:
- Excel 模型:
reports/[YYYY-MM-DD]_DCF 模型_[目标公司].xlsx(直接输出到 reports/) - Markdown 报告:
reports/[YYYY-MM-DD]_DCF 报告_[目标公司].md - HTML 中间文件:
reports/[YYYY-MM-DD]_DCF 报告_[目标公司].html - PDF 最终交付:
reports/[YYYY-MM-DD]_DCF 报告_[目标公司].pdf - 数据文件(保存在临时目录,便于追溯):
reports/tmp_XXXX/mcp_call_log.json← MCP 调用日志(数据溯源临时表)reports/tmp_XXXX/data_collected.json← 采集的有效数据reports/tmp_XXXX/data_sources_final.json← 数据溯源正式表reports/[YYYY-MM-DD]_DCF 模型_[目标公司].json← Excel 模型配套输入(与 Excel 同目录)
限制与规范
数据溯源与角标规则
数据溯源表: ⚠️ 报告中涉及到 gildata API 时,data source 需精确到 具体的 API,同时 data provider 统一写为 恒生聚源 MCP。
正文角标: ⚠️ 从 MCP 获取的原始数据需在正文中加角标 [1][2][3]...,与数据溯源正式表序号严格对应:
| 加角标 ✅ | 不加角标 ❌ |
|---|---|
| 股价、市值、总股本 | 分析结论(如"低估买入") |
| 历史财务数据(营收/净利润) | 模型计算值(如 FCF、WACC) |
| Beta、无风险利率、市场风险溢价 | 行业常识(如"行业平均 PE 约 15-20x") |
| 一致预期数据 | 推理判断(如"上行空间 40%") |
示例:
当前股价:36.90 元 [1] ✅ 原始数据 内在价值:51.63 元 ✅ 模型计算值,无角标 上行空间:+39.9% ✅ 计算值,无角标
Excel 颜色规范
| 字体颜色 | 含义 |
|---|---|
| 蓝色 (0,0,255) | 硬编码输入 |
| 黑色 (0,0,0) | 公式计算 |
| 绿色 (0,128,0) | 跨 Sheet 引用 |
单元格注释规范
每个硬编码值必须添加注释:
"Source: 恒生聚源 MCP, jy-financedata-api.FinancialStatement, 2026-05-18"
注意事项
- 公式优先:所有计算单元格必须是 Excel 公式,不能是硬编码
- 情景分离:Bear/Base/Bull 假设必须放在独立块中
- 敏感性表:3 个 5×5 表,每个单元格都是完整 DCF 重算公式
- 验证必须:交付前必须运行
validate_dcf.py - 中文编码:所有文件使用 UTF-8 编码
热门AI工具
相关专题
本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。
0
2026.10.22
本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。
0
2026.10.22
本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。
0
2026.10.22
本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。
0
2026.10.22
本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。
0
2026.10.22
本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。
0
2026.10.22
本专题讲解Golangci-lint的安装、初始化、基础命令和首次代码检查,覆盖本地环境、Docker及多平台用法,帮助Go开发者快速上手。
0
2026.10.22
PHP2Shell漏洞是什么,哪些PHP版本和运行环境会受到影响,服务器应该如何检测与修复?本专题提供版本自查脚本、Linux与Docker升级命令、PHP-FPM和Apache排查步骤,以及修复验证、临时缓解和应急响应方案。
0
2026.10.22
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.5万人学习
共6课时 | 54.7万人学习
