Install any skill in seconds. Free to start, no credit card required.
Get Started Free →A股DCF估值模型/现金流折现。当用户说“DCF”、“现金流折现”、“DCF估值”、“内在价值”、“intrinsic value”、“帮我算一下XX值多少钱”、“合理估值”、“目标价推导”时触发。基于 cn-stock-data 获取历史财务数据,构建自由现金流折现模型(FCFF),计算 WACC,输出含敏感性分析的估值 Excel。支持机构 DCF 报告风格(formal)和个人估值笔记风格(brief)。不适用于可比公司估值法(用 a-share-comps)或财报分析(用 a-share-earnings-analysis)。
.claude/skills/aifinlab-a-share-dcf/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-08 | ✗→✓ | ▲ Improved | 15% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 25% | 0% |
| case-14 | ✗→✓ | ▲ Improved | -31% | 0% |
| case-19 | ✗→✓ | ▲ Improved | -45% | 0% |
| case-13 | ✓→✗ | ▼ Worse | 56% | 0% |
bashSCRIPTS="$SKILLS_ROOT/cn-stock-data/scripts" # 历史财务指标(收入/利润/折旧/资本开支/营运资金等) python "$SCRIPTS/cn_stock_data.py" finance --code [CODE] # 最新行情(市值、股价,用于 WACC 和对比) python "$SCRIPTS/cn_stock_data.py" quote --code [CODE] # 行业可比公司行情(用于 Beta/WACC 参考) python "$SCRIPTS/cn_stock_data.py" quote --code [COMP1],[COMP2],[COMP3]
补充:通过 web 搜索获取:
分析过去 3-5 年的关键财务趋势:
FCFF = EBIT × (1 - 税率) + 折旧摊销 - 资本开支 - 营运资金增加A 股 WACC 参数:
- 无风险利率 Rf: 10 年期国债收益率(web 搜索获取,通常 2.5%-3.5%)
- 市场风险溢价 ERP: A 股通常取 5%-7%(高于美股的 4%-6%,反映新兴市场溢价)
- Beta: 优先用 web 搜索获取;若不可用,取行业平均或根据公司特征估计
- 股权成本 Ke = Rf + Beta × ERP
- 债务成本 Kd: 公司实际借款利率或同类公司债利率
- 税率: A 股一般企业 25%,高新技术企业 15%
- WACC = Ke × (E/(E+D)) + Kd × (1-T) × (D/(E+D))两种方法取平均或选其一:
估值桥:
FCFF 现值之和
+ 终值现值
= 企业价值(EV)
- 净债务(有息负债 - 现金)
- 少数股东权益
= 股权价值
/ 总股本
= 每股价值
vs 当前股价 → 上行/下行空间(%)敏感性分析表(必须):
| 维度 | formal(机构 DCF) | brief(个人估值笔记) | |------|-------------------|---------------------| | 输出格式 | Excel (.xlsx) | Markdown | | 预测年数 | 5-7 年 | 3-5 年 | | WACC | 完整推导过程 | 直接给出假设值 | | 敏感性 | 3 张 5×5 表 | 1 张简化 3×3 表 | | 情景 | Base + 可选 Bull/Bear | 仅 Base | | 数据源标注 | 每个输入附来源 | 关键假设说明即可 | | 免责声明 | 需要 | 不需要 |
python# 调用 skill result = run_skill({ "param1": "value1", "param2": "value2" })
bashpython scripts/run_skill.py --input data.json
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 40,579 | 10,174 | -75% | 1 | 1 | 0% | 8,291 | 2,166 | -74% | 0 | 0 | — |
case-02 | fail→fail | 31,317 | 8,861 | -72% | 1 | 1 | 0% | 5,631 | 2,216 | -61% | 0 | 0 | — |
case-03 | fail→fail | 40,898 | 12,728 | -69% | 1 | 1 | 0% | 8,285 | 2,268 | -73% | 0 | 0 | — |
case-04 | pass→pass | 21,150 | 22,866 | +8% | 1 | 1 | 0% | 3,288 | 5,243 | +59% | 0 | 0 | — |
case-05 | pass→pass | 28,231 | 28,232 | +0% | 1 | 1 | 0% | 3,921 | 5,724 | +46% | 0 | 0 | — |
case-06 | pass→pass | 24,434 | 27,647 | +13% | 1 | 1 | 0% | 3,226 | 4,598 | +43% | 0 | 0 | — |
case-07 | pass→pass | 20,973 | 32,123 | +53% | 1 | 1 | 0% | 2,837 | 4,601 | +62% | 0 | 0 | — |
case-08 | fail→pass | 21,313 | 12,849 | -40% | 1 | 1 | 0% | 2,925 | 3,359 | +15% | 0 | 0 | — |
case-17 | fail→fail | 15,234 | 12,297 | -19% | 1 | 1 | 0% | 2,070 | 3,248 | +57% | 0 | 0 | — |
case-09 | pass→pass | 18,174 | 18,775 | +3% | 1 | 1 | 0% | 2,874 | 4,181 | +45% | 0 | 0 | — |
case-10 | pass→pass | 16,715 | 9,496 | -43% | 1 | 1 | 0% | 2,369 | 3,103 | +31% | 0 | 0 | — |
case-11 | fail→pass | 27,364 | 17,562 | -36% | 1 | 1 | 0% | 3,439 | 4,315 | +25% | 0 | 0 | — |
case-12 | fail→fail | 17,291 | 14,130 | -18% | 1 | 1 | 0% | 2,681 | 3,468 | +29% | 0 | 0 | — |
case-13 | pass→fail | 18,026 | 16,379 | -9% | 1 | 1 | 0% | 2,731 | 4,263 | +56% | 0 | 0 | — |
case-14 | fail→pass | 48,639 | 5,760 | -88% | 1 | 1 | 0% | 3,179 | 2,208 | -31% | 0 | 0 | — |
case-15 | pass→pass | 25,642 | 23,880 | -7% | 1 | 1 | 0% | 2,926 | 4,969 | +70% | 0 | 0 | — |
case-16 | pass→pass | 29,744 | 19,477 | -35% | 1 | 1 | 0% | 2,419 | 4,191 | +73% | 0 | 0 | — |
case-18 | fail→fail | 16,937 | 8,209 | -52% | 1 | 1 | 0% | 2,468 | 2,683 | +9% | 0 | 0 | — |
case-19 | fail→pass | 25,993 | 4,649 | -82% | 1 | 1 | 0% | 4,180 | 2,309 | -45% | 0 | 0 | — |
case-20 | pass→fail | 23,701 | 12,099 | -49% | 1 | 1 | 0% | 4,460 | 2,221 | -50% | 0 | 0 | — |
case-21 | pass→fail | 26,526 | 9,350 | -65% | 1 | 1 | 0% | 3,986 | 1,948 | -51% | 0 | 0 | — |
case-22 | pass→fail | 22,986 | 12,672 | -45% | 1 | 1 | 0% | 3,227 | 2,261 | -30% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 16 counted toward the lift figure. The other 6 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of 0 percentage points is the difference between those two pass rates over the 16 comparable cases. 6 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.