为什么一个返回成功、看起来合理的数字,可能比直接报错更危险?

数据质量:错的数据比没有数据更危险

约 7 分钟6 道自测更新于 2026-11-02

一句话记住数据质量不只看有没有值,还要看准确、完整、及时、一致、口径清楚和可追溯。

01学完你能做到

用六个维度检查金融数据质量;区分静默错值、静默空值和明确报错;为日期、单位、交易日和异常值设计可执行的校验步骤。

02这课解决什么问题

数据接口没有报错,为什么仍然不能直接把结果写进研究结论?

03核心概念:六个质量维度

  • 准确性:数字是否与权威来源或可验证关系一致。
  • 完整性:是否缺行、缺字段、缺证券或缺历史版本。
  • 及时性:数据是否对应目标日期,是否存在延迟。
  • 一致性:同一字段在不同接口和批次中的定义、格式和结果是否一致。
  • 口径清楚:单位、复权、价格指数或全收益指数、报告期和公告日是否明确。
  • 可追溯:能否回到来源、参数、抓取时间和处理过程。

这六个维度是面向课程的实用归纳,不等同于某一篇文献的原始分类。

哪种错误更危险

  1. 静默错值:请求成功但数值错误,最容易直接进入结论。
  2. 静默空值:返回 0 行或 0 值,却被误认为真实结果。
  3. 明确报错:至少提醒使用者没有拿到结果。

04校验清单

  1. 返回日期是不是目标日期,目标日期是不是交易日?
  2. 证券代码、资产类型、周期和复权方式是否正确?
  3. 单位是否由接口明确声明?没有就标注未标注或推断。
  4. 0 值和空值是真实的 0,还是没有数据?
  5. 能否用第二来源、官网或数学关系交叉验证?
  6. 异常值是否保留原始记录,并注明调查状态?

05示例:静默空值如何影响均值

示意地,19 个交易日的平均成交额为 1,200 亿元。如果把一个非交易日返回的 0 误当成真实数据,20 日平均值变成:

(19 × 1200 + 0)÷ 20 = 1140 亿元。

均值被人为拉低 5%。因此,非交易日过滤和 0 值语义检查应在计算前完成。

06例子:校验数据服务的返回结果

使用任何金融数据服务(例如 FtShare)时,都把返回结果当作需要核对的交付数据:记录接口、参数、数据日期、单位和异常状态;发现字段未声明、空值语义不清或不同接口不一致时,不把未核实结果直接当成事实。

07常见误区

  1. 成功返回等于正确:接口状态和数据质量是两件事。
  2. 0 就是没有成交:可能是非交易日、查询条件不匹配或空值占位。
  3. 异常值直接删除:应先保留原始数据并记录判断依据。
  4. 不同接口同名字段可以直接拼接:需核对单位、日期、复权和定义。
  5. 单一来源足够:重要结论最好用权威来源或独立关系复核。

08延伸阅读

09一分钟讲给别人

试着用自己的话讲一遍最危险的数据不是报错,而是一个看起来合理的错数字。拿到数据后先问日期对不对、是不是交易日、单位是什么、0 是真 0 还是没数据,再用官网或另一条关系交叉核对。

想一想

6 道自测

先在心里答一遍,再展开对照。能说清理由,比答对数字更重要。

  1. 01静默错值为什么通常比明确报错危险?

  2. 02非交易日返回 0 时,能直接计入平均值吗?

  3. 03数据质量的六个实用维度是什么?

  4. 04单位未标注时应该怎样处理?

  5. 05为什么异常值不能直接删除?

  6. 06两个接口对同一字段给出不同数值,应该怎样处理?

已看 0/6 题

练动手练习

任务:选一个行情或财务接口,故意设计三项校验:交易日校验、单位校验和第二来源校验。记录一个正常结果、一个空值或异常结果,以及你采取的处理方式。

完成这一课

完成这一课

读完讲义、看完自测答案,这一课就算学完了。

  • 读完讲义
  • 看完全部自测

本课为投资者教育内容,案例数字均为示意,不构成任何投资建议,也不承诺收益。规则和费率会变,实际操作前请以交易所、监管机构和产品的最新公告为准。