# 数据核验清单

## 实时行情二次核验（强制）

| 核验项 | 检查内容 | 修正措施 |
|--------|----------|----------|
| 数据一致性 | 两次调用 AShareLiveQuote 数据是否一致 | 如不一致，第三次调用确认，取多数一致数据 |
| 涨跌幅计算 | 涨跌幅 = (最新价 - 昨收) / 昨收 × 100% | 重新计算验证，误差>0.1% 需核查 |
| 市值计算 | 总市值 = 最新价 × 总股本 | 与 API 返回市值对比，误差>1% 需核查 |
| 单位一致性 | 成交量（手）、成交额（万元）单位是否正确 | 统一核验单位换算 |

## 全模块数据核验

| 核验项 | 检查内容 | 修正措施 |
|--------|----------|----------|
| **表格结构核验** | 检查表格是否错行错列，表头与数据行是否对齐 | 逐项比对表头与数据列，发现错位重新生成表格 |
| **合计/总计项核验** | 检查表格合计行/列计算是否正确（加减求和、平均值） | 重新计算合计项，误差>0.01 需修正 |
| 数据完整性 | 各模块核心数据是否缺失 | 重新调用对应 MCP 工具获取 |
| 数据一致性 | 不同来源的同一指标是否一致（如市值、股价） | 以实时行情数据为准进行校准 |
| 逻辑一致性 | 财务数据与估值数据是否匹配（如 PE=市值/净利润） | 重新计算验证 |
| 时间一致性 | 各数据的时间周期是否一致（如 TTM、年报、季报） | 统一标注数据基准日 |
| 异常值检查 | 是否存在明显异常数据（如负 PE、超高毛利率） | 标注异常情况并说明原因 |
| 单位一致性 | 金额单位是否统一（万元、亿元） | 统一转换为亿元 |

## 表格数据专项核验清单

| 核验项 | 检查公式/标准 | 容差范围 |
|--------|---------------|----------|
| 主营收入合计 | 各业务板块收入之和 = 营业收入总计 | 误差<0.1% |
| 毛利率计算 | (营收 - 成本)/营收×100% | 误差<0.1pct |
| 同比计算 | (本期 - 上年同期)/上年同期×100% | 误差<0.1% |
| 占比计算 | 各分项/总计×100%，总和=100% | 误差<0.1% |
| 机构数量合计 | 各评级机构数量之和 = 覆盖机构总数 | 必须相等 |
| 目标价逻辑 | 最高价≥平均价≥中位数≥最低价 | 必须满足 |
| 上涨空间计算 | (平均目标价 - 当前股价)/当前股价×100% | 误差<0.1% |
| ROE 杜邦拆解 | 净利率×资产周转率×权益乘数≈ROE | 误差<1% |

## 逻辑检查清单

**表格结构检查**：
- [ ] 所有表格无错行错列，表头与数据列对齐
- [ ] 合计/总计项计算正确，与分项之和一致
- [ ] 占比类数据之和为 100%（容差<0.1%）

**财务数据检查**：
- [ ] 营收增速与净利润增速的逻辑关系是否合理
- [ ] 毛利率与净利率的层级关系是否正确（毛利率≥净利率）
- [ ] ROE 杜邦拆解是否平衡（净利率×周转率×权益乘数≈ROE）
- [ ] 同比计算公式正确：(本期 - 上年同期)/上年同期×100%
- [ ] 最近 5 期数据完整，无缺失报告期

**估值与评级检查**：
- [ ] 估值指标与行业对比的逻辑是否一致
- [ ] 机构数量合计等于覆盖机构总数
- [ ] 目标价逻辑：最高价≥平均价≥中位数≥最低价
- [ ] 分析师目标价与当前股价的差异计算是否正确
- [ ] 机构评级日期是否为最新，预测数据截止日期是否明确

**其他检查**：
- [ ] 资金流向与股价走势是否存在明显背离
- [ ] 概念指数涨跌幅与所属概念是否匹配
- [ ] 业绩快报与盈利预测数据的一致性核验
- [ ] 研报观点至少呈现 3-5 篇，按日期倒序排列

## 修正流程

1. 发现数据或逻辑问题
2. 重新调用相关 MCP 工具核验
3. 修正错误数据或逻辑
4. 再次核验直至通过
