工作原理 · 抽取流程 · 校验规则

HKFilings 是怎么把港股 PDF 变成结构化财务事实的

三层架构 · 六步流水线 · 双通道抽取(规则 + LLM)· 10 条会计校验 · 每个事实附源页和 bbox。

系统总览:三层架构

输入层:上传 PDF / HKEXnews 直拉 / 股票代号查报。 处理层:解析 → 抽取 → 校验 → Layer 2 衍生信号。 输出层:结构化 JSON · 行级复核队列 · PDF 源页高亮。

六步流水线

  1. 下载 / 接收 PDF —— 从 HKEXnews 公告或本地上传。
  2. 解析与切片 —— PyMuPDF + pdfplumber,提取文本、表格、bbox。
  3. 三表关键指标抽取 —— 规则匹配 + LLM 双通道。
  4. 校验 —— 资产 = 负债 + 权益、同比口径、币种 / 单位一致性等 10 条规则。
  5. 持久化 —— D1 + R2 入库,附 schema 版本签名。
  6. 源页回链 —— 每个 fact 记录 source_page + bbox,前端 PDF viewer 即点即跳。

Layer 1:双通道抽取

规则通道

针对三表标准指标(收入、毛利、净利、经营现金流、资产、负债、权益等)的稳健文本 + 表格抽取。

LLM 通道

处理非标准披露、行业特有 KPI、注释中的口径披露;支持 DeepSeek / OpenAI / Anthropic / Claude Code 等多家。

10 条结构化校验

  • 资产 = 负债 + 权益(容差 ±1%)
  • 归母净利润 + 少数股东损益 = 净利润
  • 经营现金流符号合规
  • 分部加总 vs 合并差异
  • 同比口径与披露一致
  • 币种 / 单位一致性
  • 毛利率合理性
  • 权益变动表勾稽
  • 四舍五入残差检测
  • 关键数字 LLM 双读一致性

Layer 2:行业信号 / 供应链 / 催化剂

在 Layer 1 的结构化事实之上,自动抽取三类衍生信号:行业模板适配的 KPI(互联网 / 银行 / 保险 / REIT / 生物科技-B)、供应链节点关系图、未来 12 个月的催化剂时间线。

可追溯性

  • 源页定位:每个 fact 都附 source_page。
  • bbox 高亮:精确到 PDF 上的数字方框位置。
  • 审计留痕:人工修改自动记录原值 / 修改值 / 修改人 / 时间。