用提示词从财报新闻自动提取核心数据

上周我刷 TradingView 新闻,看到一堆类似 TABLE-Imasen Elec -2025/26 parent results 的财报公告。点进去全是文字描述,营收、利润、增长率散落在段落里,想对比两家公司还要来回划拉。干这行的朋友应该都懂,手动整理财报数据有多烦——复制、粘贴、对齐、检查,一套下来半小时没了。

后来我琢磨,既然 ChatGPT 能看懂文本,能不能让它直接帮我抽出来?试了几轮提示词,还真搞定了。今天就把这套方法拆给你,核心思路就一句话:给AI一个明确的输出格式和提取规则,它会比你想象的更听话。

问题在哪

先看一段典型的财报新闻原文(来自 Reuters 的表格新闻,我简化了):

Imasen Electric Industrial Co. Ltd. reported parent-only results for the fiscal year ended March 2026. Net sales were 98.2 billion yen, up 4.1% from the previous year. Operating profit was 4.5 billion yen, down 1.2%. Net income was 3.1 billion yen, up 2.3%. Earnings per share were 187.2 yen. The company forecasts net sales of 101.5 billion yen for fiscal 2027.

如果你只看这段,很难一眼抓住核心数值。更别说后面还有 Nakayamafuku、FlexiRoam 好几家公司混在一起。手动提取的话,你得一个个找“Net sales”“Operating profit”后面跟的数字和百分比。

而用对提示词,10 秒就能变出表格:

指标 本期值 同比增长
净销售额 98.2B JPY +4.1%
营业利润 4.5B JPY -1.2%
净利润 3.1B JPY +2.3%
每股收益 187.2 JPY

核心思路:结构化输出 + 精确字段

为什么很多人写提示词效果不好?因为太模糊。比如“把财报数据提取成表格”——AI 不知道你要提取哪些字段,也不知道表格长什么样。你需要给AI一个模板(schema),以及具体的解析规则。

原理很简单:大语言模型擅长模式匹配和格式转换。你提供了字段列表,它就会在文本里找这些关键词,并把对应的数值抓出来。如果找不到,它也会按规则填“N/A”或“—”。关键是你要告诉它:

  1. 提取哪些指标(明确英文名和中文名)
  2. 输出格式(Markdown 表格、CSV 或 JSON)
  3. 如何处理缺失值(填什么)
  4. 是否要做单位换算(保留原始单位还是统一)

下面是我测试过的一个通用模板。

完整提示词模板(可直接复制)

text
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
你是一个财务数据提取助手。下面我将给你一段财报新闻文本,请从中提取以下指标,并输出为 Markdown 表格。

提取指标(按此顺序):
- 净销售额(Net sales)
- 营业利润(Operating profit)
- 净利润(Net income)
- 每股收益(Earnings per share)
- 营业利润率(Operating margin,如果文本中有)
- 净销售额预测(Forecast net sales,如果文本中有)

输出表格格式:
| 指标 | 本期值 | 同比增长 | 单位 |
|---|---|---|---|
| 净销售额 | 98.2B | +4.1% | JPY |
| 营业利润 | 4.5B | -1.2% | JPY |
| ... | ... | ... | ... |

规则:
1. 数值保留原文中的单位(如B表示十亿,M表示百万),不要换算。
2. 同比增长若未明确写出,留空为“—”。
3. 如果某指标在文本中未找到,填“N/A”。
4. 文本中可能包含多家公司,请先识别公司名称,然后为每家公司单独输出一张表格。公司名称以“reported”或“announced”前面的公司全称确定。
5. 只提取financial results,不要提取其他新闻(如并购、人事变动)。

现在请处理下面的文本:
{粘贴财报新闻全文}

注意:模板中的 {粘贴财报新闻全文} 是你需要替换的。如果你用 GPT 的 API,可以直接用这个 prompt 加 messages。

效果演示:差 Prompt vs 好 Prompt

我用同一段 Reuters 新闻(包含两家公司)做了对比测试。

差 Prompt

提取这段财报数据。

AI 输出:

text
1 2
Imasen Electric: 净销售额98.2B, 营业利润4.5B, 净利润3.1B。
Nakayamafuku: 净销售额12.3B, 营业利润0.8B。

问题:格式不统一,缺少同比增长、单位、每股收益,且第二家公司缺净利润。而且不同会话输出格式可能变。

好 Prompt(用上面的模板)

AI 输出:

指标 本期值 同比增长 单位
净销售额 98.2B +4.1% JPY
营业利润 4.5B -1.2% JPY
净利润 3.1B +2.3% JPY
每股收益 187.2 JPY
营业利润率 4.6% %
净销售额预测 101.5B JPY

(第二家公司同理)

对比很明显:结构化表格直接可用,每个字段都有出处,缺失的指标用“—”或“N/A”标出,不会丢信息。

table comparison before after(建议放一张差输出和好输出的截图对比)

为什么这样写有效

首先,明确字段列表让AI缩小了搜索范围——它只找这几个关键词,不会提取无关内容(比如新闻里的“Mergers and acquisitions”)。

其次,输出格式模板相当于给了AI一个“抄写版”,它只需要填充单元格,降低了格式不稳定的风险。

第三,规则里加了“先识别公司名称”,防止多公司数据混在一起。实测不加这个规则时,AI有时会把两家公司的数据合并到一张表里,让人看不懂。

最后,单位保留原文避免了AI自作主张换算(比如把B转成M),因为不同媒体的单位习惯不同,保留原始单位最安全,你自己再统一换算也不难。

变体和注意事项

变体1:输出 JSON 格式

如果你要对接代码,改一下输出格式即可:

text
1
请提取以下指标,输出为 JSON 数组。每个公司一个对象,字段:company, net_sales, net_sales_growth, operating_profit, operating_profit_growth, net_income, net_income_growth, eps, unit。

变体2:提取历史对比趋势

如果新闻中有多个财年的数据(比如“2025年净销售额90B,2026年98.2B”),你可以让AI按年份输出:

text
1
按财年提取,表格添加一列“财年”。

变体3:中文新闻适配

国内财报新闻常写“营收”“净利润”,你需要把指标的中文名加进去:

text
1
提取指标:营收(营业收入/净销售额)、净利润(归属于母公司股东的净利润)、扣非净利润等。

注意事项

  1. 长新闻要分段:如果一篇新闻包含10家公司,AI可能会漏掉后面的。建议把文本切成每段1-3家公司,分别运行。
  2. 单位不统一:JPY 和 USD 混在一起时,在提示词里加一句“如果单位不同,请在表格中标注原始单位,不要换算”。
  3. AI 幻觉:有时AI会编造增长率(尤其是原文没写“同比”但隐含比较时)。我的经验是只提取明确写出的数值,不要让它“推断”。可以在规则里加一句“除非文本明确写出‘同比增长X%’或‘较上年同期增长X%’,否则同比增长栏填‘—’”。
  4. 不是所有新闻都有表格:有些新闻只有文字描述没有数字,那就没法提取,提示词也救不了。

结语

这套提示词我用了快三个月,处理 TradingView 和 Reuters 的财报新闻效率提升至少 5 倍。你不需要每次都从头写,把上面的模板存成 snippet,遇到财报新闻直接粘贴,一分钟出表格。如果你有自己常用的提取场景,比如只想要营收和利润,改一下字段列表就行。

最后提醒:AI 提取的数据一定要人工核验。我遇到过它把“营业利润-1.2%”错误理解为“-1.2B”的情况(原文是增长率但没写单位)。数值部分建议对照原文再过一遍,尤其金额和百分比容易混淆。

好了,试试这个模板,有任何问题评论区见。


本文所有测试基于 GPT-4o 模型,2026年6月。其他模型(如 Claude、Gemini)表现可能略有差异,但通用思路一致。