金融业 RAG 全流程指南(投行 & 对冲基金专用版)

一、整体流程

财报/研究报告/监管文件 → 清洗结构化 → 切分 (Chunking) → 索引字段设计 → 向量化 (Embedding) → 检索 (Dense/Sparse/Hybrid + 重排) → Query 改写/分解 → 上下文组装 → 生成带引用答案 → 评测与监控

二、数据准备(金融文档类型)

  • 非结构化
    • 上市公司财报 (10-K / 20-F / Annual Report)
    • 投资银行 Pitchbook、并购研究报告
    • 央行公告 / FOMC 纪要 / Basel III 文档
  • 半结构化
    • 宏观经济数据(IMF、World Bank CSV)
    • 行业研报(PDF+表格)
  • 结构化
    • Bloomberg / Refinitiv / S&P Global 数据库
    • 内部交易台 Excel 表(风险因子、对冲头寸)
👉 金融业要特别注意 数据新鲜度 & 合规性,很多场景需要「引用原文档」以满足审计追踪。

三、切分 (Chunking)

  • 财报/研究报告
    • 200–400 tokens,保留标题链路
    • 示例:[10-K → Risk Factors → Credit Risk → PD Estimate]
  • 监管文件(Basel、OCC、ECB):
    • 按条款/章节切分(300–600 tokens)
  • 表格
    • row2text,例如:
      • Bank=MCB, Year=2024, Scenario=Adverse, CET1=10.5%

四、索引字段设计(金融业必备)

{ "doc_id": "JPM_10K_2024", "chunk_id": "eps_001", "heading_path": ["Financials", "Earnings per Share"], "text": "2024Q2 Diluted EPS = $1.52", "entities": ["EPS","Earnings"], "created_at": "2024-08-01", "source": "SEC 10-Q" }
表格型(风险参数/交易数据)
{ "table": "stress_test_params", "pk": "id", "filter_fields": {"year":"2024","scenario":"adverse","metric":"PD"}, "row_summary": "MCB 2024 adverse 场景下 PD=2.3%", "row_summary_vec": [...] }
👉 金融版索引要额外加:
  • 指标字段(EPS, ROE, TBVPS, CET1, VaR)
  • 场景字段(Baseline / Adverse / Severely Adverse)
  • 合规来源(Basel III, CCAR, ECB 指令)

五、向量化(Embedding)

  • Dense Embedding:金融语义模型(适合“资本要求 vs CET1”这种语义问题)
  • Sparse 索引:BM25/SPLADE(适合“巴塞尔协议第 45 条”这种精确匹配)
  • 多路向量:正文向量 + 标题向量 + 财务指标向量

六、检索策略(Dense / Sparse / Hybrid)

  • Dense:回答“EPS 摊薄多少?”、“VaR 如何计算?”
  • Sparse:回答“Basel III 第 72 条资本缓冲要求”
  • Hybrid(默认)
    • score = α·cosine + β·BM25 + γ·财务指标权重
    • 先过滤:年份、银行名称、情景(Baseline / Adverse)
    • Top 50 → 重排 → Top 8

七、Query 改写(金融案例)

  • 原始 Query:
    • “压力测试里的信用风险参数怎么调整?”
  • 改写版本:
      1. “CCAR 压力测试中,PD(Probability of Default)如何调整?”
      1. “OCC CCAR Handbook 关于违约率参数上调要求”
      1. Self-Query 结构化:
        1. {"metric":"PD","scenario":"adverse","year":"2024"}
  • 原始 Query:
    • “1.5x TBVPS 收购对 EPS 有什么影响?”
  • 改写版本:
      1. “EPS accretion/dilution under 1.5x TBVPS bank acquisition”
      1. “Comparable M&A transaction TBVPS multiples vs EPS impact”

八、上下文组装

  • 去重/合并:财报 EPS + 研报案例
  • 保留引用:
    • “根据 [OCC Handbook 2024, P.35] 和 [S&P Global StressTestParams.xlsx Row 15]…”

九、生成与引用

模型输出示例:
“在 CCAR 压力测试中,信用风险参数 PD 通常需要在基准水平上额外上调 30%-50%。
根据 MCB 2024 年不利情景数据,PD 为 2.3%。
参考:[OCC Handbook 2024, P.35],[StressTestParams.xlsx Row 15]。”

十、评测与监控(金融专用指标)

  • Recall@10 / nDCG:召回效果
  • Faithfulness:是否乱编财务数据
  • 引用率:是否引用原始财报/监管文件
  • 覆盖率:核心指标(EPS, CET1, VaR, TBVPS)是否都能召回
  • 时效性监控:新财报/央行公告更新是否能进库

十一、常见场景表(金融业专用版)

场景
切分
索引
检索
改写
备注
并购 (M&A)
200–400 tokens + Excel row2text
财报指标 + 交易条款
Hybrid + 指标过滤
TBVPS/EPS 改写
必须带交易假设
压力测试 (CCAR/ICAAP)
条款级 + 表格行级
指标 + 场景字段
Hybrid + Scenario Filter
Self-Query
Baseline/Adverse
对冲基金研究
财报分块 + 研报段落
EPS/ROE/Fcf 指标
Dense + 时间过滤
财报问答改写
新鲜度关键
合规监管
300–600 tokens
Source=Basel/OCC/SEC
Sparse/BM25
禁改写,保留原条款
必须逐条可追溯

✅ 总结:
  • 投行 RAG → 聚焦 M&A、估值模型、财报指标(EPS、TBVPS、ROE)
  • 对冲基金 RAG → 聚焦研究报告、财报提炼、宏观事件解读
  • 银行风险管理 RAG → 聚焦 CCAR/ICAAP 压力测试、Basel III 资本监管