自动提取年报关键指标
年报将关键的财务数据隐藏在 100-300 页的 PDF 文件中。本文将介绍如何提取收入、净利润、每股收益、现金流和其他关键指标,而无需手动将表格中的数字复制到电子表格中。
您刚刚下载了一份 247 页的年报。报告中隐藏着您真正需要的十二个数字:收入、净利润、每股收益、总资产、总负债、经营现金流、EBITDA 以及一些利润率。其余部分是样板文字、法律披露和微笑员工的股票照片。
找到这些数字并不是难事。它们位于财务报表部分,通常从第 80 页开始。难点在于如何将它们从 PDF 中提取出来,并以您可以实际使用的格式放入您的模型中。然后,为您的覆盖范围内的下二十家公司重复此操作。然后,为每家公司过去五年的数据重复此操作,以构建时间序列。
这就是年报提取问题,每年耗费股票研究团队、信用分析师和投资组合经理数千小时。全球数据提取软件市场预计到 2029 年将达到 36.4 亿美元,年增长率为 15.9%,这主要得益于那些厌倦了将 PDF 表格中的数字复制到 Excel 中的金融专业人士。
本指南将介绍年报提取的独特难点、需要关注的指标以及如何自动化该过程,以便您可以将时间用于分析而不是数据录入。

年报提取的挑战
年报与其他 PDF 文档不同。银行对账单具有可预测的结构:日期、描述、金额、余额,每笔交易重复一次。发票有页眉、明细行和总计。这些文档遵循提取工具可以快速学习的模式。
年报则不同。它们是长篇、复杂且结构不一致的文档,结合了:
- 流畅的叙述性文本,如 CEO 致辞、管理层讨论与分析 (MD&A) 和风险因素部分
- 密集的财务表格,如损益表、资产负债表和现金流量表
- 脚注和注释,用于限定、调整或重述表格中的数字
- 图表,可视化趋势但包含无机器可读数据
- 分部报告表,按地理区域、业务部门或产品线细分
- 多年比较表,并列呈现两到三年的数据
典型的 10-K 文件通常有 100 到 300 页。财务报表本身可能占 30 到 40 页,但财务报表附注——其中包含真实细节——可能还会增加 50 到 60 页。其余部分是法律语言、风险因素、高管薪酬表和公司治理披露。
标准复制粘贴为何失败
如果您曾尝试在 PDF 年报中选择一个表格并将其粘贴到 Excel 中,您就会知道结果:列合并,数字换行到错误的行,脚注标记嵌入到您的数据中。
PDF 不包含表格。它们包含位于画布上精确 x,y 坐标的单个字符。看起来干净的表格实际上是数百个单独的文本定位命令,没有行分隔符、列边界或单元格引用。复制粘贴完全忽略了这些空间关系。
年报使情况变得更糟,因为多行标题,如“归属于普通股股东的净利润”,需要成为单行。括号中的负数,如 $(1,234),是三个独立的定位元素,会拆分成单独的单元格。脚注的上标会损坏数字。比较列经常合并。
手动提取的噩梦
传统方法是硬着头皮干。分析师打开年报,导航到损益表,然后手动将每个数字键入电子表格。然后是资产负债表。然后是现金流量表。然后是分部数据。然后是脚注。
对于一家公司来说,这需要 30 到 60 分钟。但财务分析很少只涉及一家公司。股票研究分析师通常覆盖 10 到 25 家公司。信用分析师可能需要来自 50 个或更多借款人的数据。每份报告期 20 家公司,每家 45 分钟,就是每周 15 小时的数据录入——每年 60 小时仅用于从 PDF 复制数字。
错误率使其雪上加霜。手动数据录入的错误率记录为 1% 到 4%。将 45.21 亿美元的收入输入为 45.12 亿美元,会影响您的增长率、利润率计算、EV/收入倍数以及依赖它的所有下游预测。
分析师实际提取的内容
并非年报中的每个数字都同等重要。金融专业人士通常会根据其用例选择特定的指标集。以下是大多数提取工作流程关注的内容。
损益表指标
| 指标 | 重要性 | 查找位置 |
|---|---|---|
| 收入/净销售额 | 顶线增长,大多数估值模型起点 | 损益表,第一行 |
| 销售成本 (COGS) | 毛利润计算,供应链效率 | 损益表,收入下方 |
| 毛利润 | 收入减去销售成本,衡量生产盈利能力 | 损益表,计算得出 |
| 营业利润 (EBIT) | 核心业务盈利能力(税息前) | 损益表,中间部分 |
| EBITDA | 以现金为导向的盈利能力,用于 EV/EBITDA 倍数 | 通常在 MD&A 或从损益表 + 现金流量表中的折旧摊销中计算 |
| 净利润 | 所有费用、税收和利息后的底线利润 | 损益表,接近底部 |
| 每股收益(基本和稀释) | 每股盈利能力,驱动市盈率 | 损益表,最后几行 |
资产负债表指标
| 指标 | 重要性 | 查找位置 |
|---|---|---|
| 总资产 | 公司规模,杠杆率计算 | 资产负债表,资产部分总计 |
| 总负债 | 债务负担,偿付能力评估 | 资产负债表,负债部分总计 |
| 总权益/股东权益 | 净资产,账面价值计算 | 资产负债表,权益部分总计 |
| 总债务(短期+长期) | 杠杆率,利息覆盖率 | 资产负债表+附注 |
| 现金及现金等价物 | 流动性,净债务计算 | 资产负债表,第一项流动资产 |
| 流动资产/流动负债 | 营运资本,流动比率 | 资产负债表部分总计 |
现金流量表指标
| 指标 | 重要性 | 查找位置 |
|---|---|---|
| 经营现金流 | 核心业务产生的现金 | 现金流量表,第一部分 |
| 资本支出 | 增长投资,自由现金流计算 | 投资活动现金流 |
| 自由现金流 | 运营维护后可用的现金 | 经营现金流减去资本支出 |
| 已付股息 | 股东回报,股息支付率 | 融资活动现金流 |
衍生比率和利润率
提取原始指标后,分析师会计算:
- 毛利率: 毛利润 / 收入
- 营业利润率: 营业利润 / 收入
- 净利率: 净利润 / 收入
- 股本回报率 (ROE): 净利润 / 股东权益
- 资产回报率 (ROA): 净利润 / 总资产
- 负债权益比: 总债务 / 总权益
- 流动比率: 流动资产 / 流动负债
- 利息覆盖率: EBIT / 利息费用
这些比率需要底层组件的干净、准确的提取。一个错误的数字会破坏整个比率。
嵌入在非结构化文档中的结构化数据
核心技术挑战在于,结构化数据——具有精确含义和关系的数字——嵌入在非结构化文档中。财务报表是一个表格,但它位于一个 PDF 文件中,该文件还包含叙述段落、法律免责声明、图像和页面标题。
这带来了几个超出简单表格识别的提取问题:
- 上下文相关的数字。 数字“12,345”的含义取决于其出现的位置。在收入行中,它表示 12,345 百万美元(或千美元,取决于财务报表顶部注明的报告单位)。在高管薪酬中,它可能表示实际金额 12,345 美元。有效的提取需要理解数字属于哪个部分,以及列标题和单位表示什么。
- 嵌套和跨越表格。 年报表格使用合并单元格作为部分标题,缩进的子项属于父类别,分项汇总与明细行项目混合,多年比较列,以及空白分隔行。一个天真的提取工具将每个视觉元素视为一个数据点,产生错位的电子表格,其中包含虚假的行和合并的值。
- 脚注引用。 收入“12,345^(1)”在没有语义理解的情况下提取时会变成“12345 1”。上标是 PDF 中一个单独的定位字符。提取工具要么将其删除(丢失引用),要么将其包含(损坏数字)。
AI 提取如何处理年报
AI 驱动的提取采用根本不同的方法。它不依赖纯粹的空间分析——仅根据字符位置检测行和列——而是将空间感知与语义理解相结合。
布局感知表格检测超越了寻找网格线(许多财务表格没有可见边框)。该系统分析字符间距模式、小数点对齐、格式重复和标题行来检测表格边界。它可以区分碰巧包含数字的叙述段落和具有对齐列的财务数据表。
语义字段识别识别每列和每行的含义。它认识到“Revenue”、“Net sales”、“Total revenue”和“Net revenues”都指代同一概念。它理解在财务背景下“(1,234)”表示负 1,234,而不是脚注引用。这一点很重要,因为不同公司之间的命名约定差异很大——一家公司报告“Stockholders' equity”,而另一家公司使用“Shareholders' equity”或“Total equity”。
多页表格延续通过识别跨页的重复标题模式和一致的列对齐来处理。损益表可能从第 84 页开始,并在第 85 页继续,AI 提取会将数据拼接成一个连贯的表格。
年报中的关键目标部分
并非年报的每个部分都包含可提取的财务数据。知道在哪里集中注意力可以节省时间并提高准确性。
财务报表是主要的提取目标:合并损益表、资产负债表、现金流量表和股东权益表。这四份报表包含驱动财务模型的基础数字。
管理层讨论与分析 (MD&A) 是管理层解释数字的地方。它通常包含非 GAAP 指标,如调整后的 EBITDA 和自由现金流、分部级细分以及前瞻性指导——所有这些都嵌入在叙述段落中,而不是表格中。AI 提取可以识别并提取这些数字,但它们比表格数据需要更多的上下文理解。
分部报告按业务部门、地理区域或产品线细分结果。这些数据对于整体估值至关重要。分部表格通常具有非标准结构,以分部名称作为列标题,并包含相抵分项,这些分项会增加负数行。
财务报表附注包含最详细的数据:具有到期日的债务明细表、按产品或地理区域划分的收入分解、租赁义务、养老金详情、税率对账单以及按分部划分的商誉明细。这些是最难提取的,因为它们混合了叙述文本和小的嵌入式表格。
风险因素主要是定性的,但有时包含定量的披露:集中度风险百分比、诉讼准备金或隐藏在法律语言段落中的监管资本要求。
使用 PDFSub 提取年报数据

PDFSub 提供两款专门用于年报提取的工具:提取表格 工具和财务报告分析器。
提取表格:将财务报表导入电子表格
提取表格工具可从 PDF 文档中检测和提取表格数据。对于年报,这意味着:
- 上传年报 PDF - 拖放文件。对于从 SEC EDGAR 或公司投资者关系页面下载的数字 PDF,初始处理将在您的浏览器中进行。除非需要服务器端 AI 处理,否则文件不会离开您的设备。
- 自动表格检测 - 该工具可识别文档中的所有表格区域,包括跨越分页的多页表格。
- 审查提取的表格 - 每个检测到的表格都会显示其提取的数据。您可以验证列是否正确对齐以及数值是否准确。
- 导出到 Excel 或 CSV - 以适用于财务建模的格式下载提取的表格。
这种方法适用于核心财务报表(损益表、资产负债表、现金流量表),因为这些报表中的数据以清晰的表格格式呈现。
财务报告分析器:AI 驱动的指标提取
财务报告分析器超越了表格提取。它使用 AI 阅读整个文档,理解其结构,并提取特定的财务指标——包括嵌入在叙述文本或脚注中的指标。
对于年报,分析器可以:
- 识别并提取文档所有部分的关键财务指标
- 从 MD&A 部分提取非 GAAP 指标
- 从报告表中提取分部级数据
- 识别并处理同一指标的不同命名约定
- 提供提取数字的上下文,包括报告期和计量单位
结合使用两种工具
年报最有效的流程结合了两种方法:
- 使用 提取表格 工具以完整的表格保真度将结构化的财务报表(损益表、资产负债表、现金流量表)导入 Excel。
- 使用 财务报告分析器 从叙述部分、脚注和非标准表格中提取特定指标。
- 交叉引用结果以验证准确性。
两种工具均可通过 PDFSub 的 7 天免费试用 获得,因此您可以在承诺之前针对实际年报测试它们。
导出到 Excel 和 CSV 以进行财务建模
提取的输出只有适合您的工作流程才有用。提取的表格将导出为 .xlsx 文件,其中包含正确类型的数字单元格、保留的列对齐、每个表格的单独工作表以及干净的标题。对于偏爱 CSV(常用于数据库和脚本工具)的分析师,您将获得逗号分隔的输出,并带有 UTF-8 编码,每个提取的表格一个文件。
典型的提取后工作流程:提取损益表、资产负债表和现金流量表;将这三个表格导入您的模型模板;将字段名称映射到您的标准化行标签;验证总计是否匹配;计算派生比率;并通过为前几年的报告重复此操作来构建时间序列。这取代了手动输入,并将每家公司的端到端时间从 45 分钟缩短到 5 分钟以内。
用例:谁提取年报数据
股票研究。 分析师构建包含 5 到 10 年历史数据和 3 到 5 年预测的财务模型。覆盖范围为 15 家公司意味着每年需要从 15 份年报和 60 份季报中提取数据。自动化提取将这项工作从多天的手动数据录入任务转变为当天即可完成的任务。
信用分析。 信用分析师使用债务/EBITDA(杠杆率)、EBITDA/利息费用(覆盖率)、流动比率(流动性)和债务/总资本(资本结构)来评估借款人的信用worthiness。一家商业银行的贷款组合可能包含数百名借款人,每位借款人都会提交需要提取这些指标的年度财务报表。
基准测试和竞争分析。 将一家公司与其同行进行比较需要从 5 到 15 份年报中提取相同的指标,并对不同的财政年度结束日期、报告单位和会计准则(美国 GAAP 或 IFRS)进行标准化。
投资组合监控。 投资经理跟踪 30 到 100 种持股,每季度提取一套标准的监控指标:收入增长、EBITDA 利润率趋势、净债务/EBITDA、自由现金流收益率和已投资资本回报率。自动化提取使得大规模处理成为可能。
多年提取:构建时间序列数据
财务分析的本质是趋势:收入是否在加速?利润率是否在扩张?公司是否在去杠杆化?回答这些问题需要至少三到五年的时间序列数据。
方法 1:从每份年报中提取
年报通常会呈现两年的损益表数据(当年和上一年)以及两年的资产负债表数据。有些还会包含三年的损益表比较。
要构建五年的时间序列,您需要从三份年报中提取:
- 2025 年年报:包含 2025 年和 2024 年数据
- 2023 年年报:包含 2023 年和 2022 年数据
- 2021 年年报:包含 2021 年和 2020 年数据
这样您就可以得到重叠的年份(2024 年出现在 2025 年和 2024 年的报告中),可以作为交叉检查。
方法 2:使用 10-K 选定财务数据
一些公司包含一个“选定财务数据”表格,其中在一个表格中呈现了五到十年的关键指标。如果可用,这是获取多年时间序列的最快途径。然而,美国证券交易委员会 (SEC) 在 2021 年取消了对该表格的要求,此后许多公司已将其删除。
方法 3:从 SEC EDGAR XBRL 数据中提取
对于美国上市公司,SEC 文件包含 XBRL 标记的数据,这些数据无需 PDF 提取即可被机器读取。SEC 的 EDGAR 系统提供 RESTful API,以 JSON 格式提供标准化行项目的 JSON 格式数据。然而,XBRL 有局限性:自定义行项目可能未被一致标记,通常没有非 GAAP 指标,可能缺少分部数据,并且呈现顺序可能与原始文件不符。PDF 提取仍然是获取完整、与呈现一致的财务数据的最可靠来源。
构建时间序列电子表格
一旦您获得了多年的提取数据,请创建一个主电子表格,以年为列,以指标为行。导入每年的数据,验证重叠年份在不同报告之间是否匹配,添加计算行以计算增长率和比率,并标记任何会破坏可比性的重述。
质量检查:验证提取的数据
自动化提取速度很快,但您应始终验证输出。年报包含内置的交叉检查,可简化验证过程。
资产负债表方程
最基本的检查:总资产 = 总负债 + 总股东权益。
如果您的提取数据中此方程不成立,则说明出了问题。可能是数字被误读,某行被跳过,或者列错位。这个单一检查可以捕获很大一部分提取错误。
损益表流程
收入减去所有费用应等于净利润。验证算术:
收入
- 销售成本
= 毛利润
- 营业费用
= 营业利润
- 利息费用
+ 利息收入
- 税款准备金
= 净利润如果小计不匹配,请检查哪些行项目被遗漏或错误提取。
现金流量对账
现金流量表以净利润开始,以现金变动结束。该期末变动应与资产负债表中的期初和期末现金差额对账。
期初现金余额(来自资产负债表)
+ 净现金变动(来自现金流量表)
= 期末现金余额(来自资产负债表)合理性检查和抽查
扫描提取的数据,查找不合理的值:收入同比变化超过 50%,总资产为负,每股收益与净利润除以流通股数不符,或者利润率超出行业规范(制造业 90% 的净利润率表明存在小数点错误)。然后随机选择三到五个数字,回到原始 PDF,并验证它们是否匹配。这需要 30 秒,并且可以捕获系统性错误,例如从错误的列中提取数据。
提高提取结果的技巧
使用数字年报,而不是扫描件。 数字 PDF 的提取精度远高于扫描文档。对于美国上市公司,请务必从 SEC EDGAR(文件默认是数字格式)或公司投资者关系页面下载。避免打印报告扫描成 PDF 和设计用于营销的、图片丰富的“光鲜”年报。
使用 10-K,而不是《股东年报》。 上市公司通常会同时发布 10-K 文件(标准化财务报表)和《股东年报》(包含图片的市场营销文件)。10-K 具有标准化的 GAAP 报告、一致的表格格式、完整的附注,并且始终可从 EDGAR 作为数字 PDF 获取。
在提取前确定报告单位。 每份财务报表顶部都有类似“单位:百万美元,每股金额除外”或“单位:千美元”的注释。如果忽略这一点,收入数字“45,231”可能是 452.3 亿美元或 4523.1 万美元。务必检查并应用正确的乘数。
处理财政年度差异。 并非所有公司都使用日历年作为财政年度。苹果公司在 9 月结束,沃尔玛在 1 月结束,微软在 6 月结束。财政年度结束日期在每份财务报表的顶部注明。
注意重述。 当公司重述前期财务报表时,重述后的数字会出现在当年的年报中。2025 年报告中的 2024 年数据可能与 2024 年报告中的 2024 年数据不同。在构建时间序列时,务必使用最近重述的数字。
入门
年报提取不必是一个手动且易出错的过程。实际工作流程:从 SEC EDGAR 下载 10-K,将其上传到 PDFSub 的提取表格工具或财务报告分析器,审查输出,导出到 Excel 或 CSV,运行上述质量检查,然后将验证后的数据导入您的财务模型。
PDFSub 提供7 天免费试用,以便您可以使用实际年报测试提取工具。尝试使用您以前手动提取过的 10-K 文件,并比较结果——包括准确性和节省的时间。
对于定期处理年报的金融专业人士来说,自动化提取是一种竞争优势。花费 5 分钟提取数据和 55 分钟进行分析的分析师,其表现将始终优于花费 55 分钟提取和 5 分钟进行分析的分析师。