用提示词从财报新闻自动提取核心数据
上周我刷 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”或“—”。关键是你要告诉它:
- 提取哪些指标(明确英文名和中文名)
- 输出格式(Markdown 表格、CSV 或 JSON)
- 如何处理缺失值(填什么)
- 是否要做单位换算(保留原始单位还是统一)
下面是我测试过的一个通用模板。
完整提示词模板(可直接复制)
你是一个财务数据提取助手。下面我将给你一段财报新闻文本,请从中提取以下指标,并输出为 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 输出:
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”标出,不会丢信息。
(建议放一张差输出和好输出的截图对比)
为什么这样写有效
首先,明确字段列表让AI缩小了搜索范围——它只找这几个关键词,不会提取无关内容(比如新闻里的“Mergers and acquisitions”)。
其次,输出格式模板相当于给了AI一个“抄写版”,它只需要填充单元格,降低了格式不稳定的风险。
第三,规则里加了“先识别公司名称”,防止多公司数据混在一起。实测不加这个规则时,AI有时会把两家公司的数据合并到一张表里,让人看不懂。
最后,单位保留原文避免了AI自作主张换算(比如把B转成M),因为不同媒体的单位习惯不同,保留原始单位最安全,你自己再统一换算也不难。
变体和注意事项
变体1:输出 JSON 格式
如果你要对接代码,改一下输出格式即可:
请提取以下指标,输出为 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按年份输出:
按财年提取,表格添加一列“财年”。
变体3:中文新闻适配
国内财报新闻常写“营收”“净利润”,你需要把指标的中文名加进去:
提取指标:营收(营业收入/净销售额)、净利润(归属于母公司股东的净利润)、扣非净利润等。
注意事项
- 长新闻要分段:如果一篇新闻包含10家公司,AI可能会漏掉后面的。建议把文本切成每段1-3家公司,分别运行。
- 单位不统一:JPY 和 USD 混在一起时,在提示词里加一句“如果单位不同,请在表格中标注原始单位,不要换算”。
- AI 幻觉:有时AI会编造增长率(尤其是原文没写“同比”但隐含比较时)。我的经验是只提取明确写出的数值,不要让它“推断”。可以在规则里加一句“除非文本明确写出‘同比增长X%’或‘较上年同期增长X%’,否则同比增长栏填‘—’”。
- 不是所有新闻都有表格:有些新闻只有文字描述没有数字,那就没法提取,提示词也救不了。
结语
这套提示词我用了快三个月,处理 TradingView 和 Reuters 的财报新闻效率提升至少 5 倍。你不需要每次都从头写,把上面的模板存成 snippet,遇到财报新闻直接粘贴,一分钟出表格。如果你有自己常用的提取场景,比如只想要营收和利润,改一下字段列表就行。
最后提醒:AI 提取的数据一定要人工核验。我遇到过它把“营业利润-1.2%”错误理解为“-1.2B”的情况(原文是增长率但没写单位)。数值部分建议对照原文再过一遍,尤其金额和百分比容易混淆。
好了,试试这个模板,有任何问题评论区见。
本文所有测试基于 GPT-4o 模型,2026年6月。其他模型(如 Claude、Gemini)表现可能略有差异,但通用思路一致。