A股基本面照妖镜:财报排雷+价值挖掘一体机
⚠️ 风险提示置顶:本报告基于公开财报数据自动生成,不构成投资建议。排雷模型为统计工具,无法替代审计;市场有风险,入市需谨慎。
模型适配约束(deepseek-v4-flash 运行必读)
- 运行参数:temperature=0.2(低温度保证数值稳定);max_tokens=8192。
- 禁止强制开启 reasoning 思考模式:不要求进入「强推理/长思维链」模式,直接按工作流结构化执行。
- 规避 tool_call 400:长内容分步输出;JSON 参数严格合法;大文件分次写入。
- 数据真实性(最高优先级):M-Score/Benford/DCF/PE/PEG/杜邦等所有数值必须来自真实财报计算。数据缺失或样本不足时输出 null + 标注,严禁编造。
触发场景
- "帮我排雷 XX 公司" / "XX 财报有没有造假嫌疑"
- "分析 XX 的基本面" / "XX 值不值得买"
- "XX 的 M-Score 是多少" / "财务健康度评估"
- "XX 的内在价值是多少" / "DCF 估值"
理论依据(输出报告时引用)
| # | 理论 | 来源 | 用途 | |---|------|------|------| | 1 | Beneish M-Score | Beneish (1999) The Detection of Earnings Manipulation | 财务造假概率 | | 2 | Benford 定律 | Newcomb-Benford 数字分布定律 | 数字异常检验(辅助) | | 3 | Sloan 应计利润 | Sloan (1996) Do Stock Prices Fully Reflect Information in Accruals... | 盈利质量 | | 4 | 格雷厄姆安全边际 | Graham《聪明的投资者》IV=EPS×(8.5+2g) | 内在价值 | | 5 | 彼得·林奇 PEG | Lynch《彼得·林奇的成功投资》 | 估值-成长匹配 | | 6 | 杜邦分析 | DuPont 分解 | ROE 拆解 | | 7 | 波特五力 | Porter (1979) 五力模型 | 护城河定性(标注非量化) | | 8 | 巴菲特护城河 | 巴菲特投资理念 | 定性评级 | | 9 | Fama-French 三因子 | Fama & French (1993) | 学术背景引用 |
执行工作流
步骤 1:数据获取与验证
- 脚本
scripts/fundamental.py自动获取:新浪三张报表(资产负债表/利润表/现金流量表)、东财财务摘要、腾讯行情。 - 验证:报表期数 ≥2、关键科目存在;失败或不足 → 输出"数据缺失,建议补充",不编造。
- 非法代码/退市 → 返回友好错误提示。
步骤 2:财务健康度排雷
- M-Score:计算 DSRI/GMI/AQI/SGI/DEPI/SGAI/LVGI/TATA 八指标;核心指标缺失则不输出 M 值;非核心缺失按中性值 1.0 并标注。
- Benford:只用存量科目(资产/负债/权益/货币/存货)各期首位分布 + 卡方检验;明确为辅助信号(单一公司量级集中天然偏离属常见现象),不可单独断言造假。
- Sloan 应计:OCF/NI 比。
- 异常比率:应收/营收、存货/成本、商誉/净资产。
- 排雷评分(0-100,<60 = "高风险,建议回避"):M-Score 异常 -50、Benford 偏离 -5、应计质量差 -15。
步骤 3:价值评估
- 格雷厄姆:IV = EPS × (8.5 + 2g),g 用历史净利年报 CAGR(缺省)或
--growth覆盖。 - 简化 DCF:未来5年 FCF 增速 = 历史 CAGR,永续 2%,折现 10%;每股 = PV/股数(实收资本/面值1元)。
- PEG:PE(TTM) / g。
- 杜邦:ROE = 净利率 × 总资产周转率 × 权益乘数。
- 波特五力/护城河:基于公开认知的定性评分(1-5),输出时注明"非量化数据"。
- 评级规则:排雷 <60 → 回避;价 < 格雷厄姆 IV → 增持;PEG<1 → 低估信号;综合给出 买入/增持/中性/减持/回避。
步骤 4:治理与行业
- 股权质押/分红率/审计意见:数据源未覆盖时明确标注缺失,不编造。
- HHI:需行业全部公司份额,默认标注缺失;仅龙头份额时可给估计值并注明。
输出格式(严格 JSON)
{
"stock_code": "600519.SH", "stock_name": "贵州茅台", "trade_date": "2026-08-30",
"current_price": 1297.4, "data_status": "真实数据",
"financial_health": {"mscore": -3.23, "mscore_interpretation": "...", "benford": {...},
"accrual": {"ocf_ni": 1.54, "verdict": "..."}, "risk_flags": [...],
"fraud_score": 95.0, "verdict": "财务健康,风险极低"},
"valuation": {"graham_intrinsic_value": 2033.66, "dcf_intrinsic_value": 171.95,
"pe_ttm": 19.76, "peg": 1.76, "roe_dupont": {...},
"moat_rating": "中", "porter_five_forces_score": 2.3},
"industry_position": "...", "governance": {...},
"final_rating": "增持", "investment_thesis": "...", "risk_warning": "..."
}
以上为真实运行格式示例(贵州茅台 2026-08-30)。数据缺失时对应字段为 null,禁止套用示例数值。
边界处理(SkillHub 上架质量约束)
- 严禁编造数据:所有数值必须来自真实财报计算;缺失时 null + 标注。
- 投资建议边界:评级为"模型规则,非投资建议";报告强制含风险提示。
- 方法局限披露:简化 DCF 对高 ROE 公司系统性低估(永续 2% 保守);Benford 为辅助信号;波特五力为定性评分。
- 研报引用:如需引用券商研报(中金/国泰君安/天风),标注"待核实原文",不虚构研报结论。
- 完整元信息:frontmatter 含 name/description/trigger/inputs/outputs 及模型适配参数。
自检清单(每次输出后执行)
- [ ] 风险提示是否置顶(不构成投资建议)
- [ ] 所有数值是否来自真实财报计算(无编造)
- [ ] M-Score 核心指标缺失时是否不输出 M 值
- [ ] Benford 是否标注"辅助参考,不可单独断言造假"
- [ ] DCF 是否标注方法局限(高 ROE 公司低估)
- [ ] 缺失数据是否输出 null 而非示例数值
- [ ] 是否适配 deepseek-v4-flash(未强制 reasoning、输出在 max_tokens 内)
排错表(实测经验)
| 现象 | 原因 / 处理 |
|------|------------|
| 东财报表接口超时 | stock_balance_sheet_by_report_em 等不可靠,改用新浪 stock_financial_report_sina(三表 1s 级,默认源) |
| 东财行情限流 | 行情用腾讯 stock_zh_a_hist_tx |
| 指标取到 None | 科目名必须与新浪报表一致:经营活动产生的现金流量净额/固定资产净额/所有者权益(或股东权益)合计/实收资本(或股本)/负债合计 |
| 增速异常(<2%) | 净利 CAGR 必须用年报期(1231) 计算,季度序列会误算 |
| DCF 为 None | FCF 用现金流表自身报告期对齐;股本 = 实收资本(元)(面值1元) |
| Benford 总 p<0.05 | 单一公司量级集中天然偏离,属正常;已降为辅助信号 |
实测基线(用于自检)
贵州茅台(600519) 2026-08-30 实测:M-Score -3.23(无造假迹象)、Sloan OCF/NI 1.54、 排雷 95 分财务健康、格雷厄姆 2033.66、DCF 171.95(简化模型低估高ROE公司)、PE 19.76、 PEG 1.76、杜邦 ROE 18.6%、评级增持。换标的后结果应在此量级;若 M-Score >-1.78 且 排雷 <60,先核对数据口径再下结论。
参考资源
| 文件 | 用途 |
|------|------|
| scripts/fundamental.py | CLI 主流程(数据→排雷→估值→治理→报告) |
| scripts/fund_data.py | 数据层(新浪三表/腾讯行情/摘要,带缓存) |
| scripts/fund_redflag.py | 排雷模块(M-Score/Benford/Sloan/异常比率) |
| scripts/fund_value.py | 估值模块(格雷厄姆/DCF/PEG/杜邦/波特五力/HHI) |
| references/theory.md | 理论溯源与引用规范 |
Scan to join WeChat group