高阶

叙事体制引擎

Read in English

把央行措辞、财报表述和市场叙事,转化为结构化的体制信号

它是什么,不是什么

这不是一个凭主观判断喊单的聊天机器人。 这是一套把杂乱语言转换成稳定的、带版本号的标签的流程,这些标签可以喂给一个系统化的组合。只有当下游的映射、换手控制和验证框架都过硬时,标签引擎才有用。

核心思路

市场并不只对数据本身作出反应,它还对决策者如何 表述 这些数据作出反应。GPT 式模型之所以有用,是因为它能把不断变化的措辞规整成稳定的标签,比如 鹰派通缩, 增长恐慌, 利润率承压, 库存重建,或者 政策宽松脉冲.

为什么叙事很重要

经典的宏观模型要等硬数据发布。而市场往往动得更早,因为参与者会根据措辞更新自己的判断。当 Fed 从"视数据而定"转向"通胀风险仍然偏高",或者当大市值公司的管理层不再说"暂时性的回归正常"、开始说"客户趋于谨慎"时,价格反应往往在滞后的数据序列予以确认之前就已经开始了。

优势并不在于用语言模型去预测 GDP,而在于比人工记录更快、更一致地度量 定性上的变化量

  • FOMC 声明: 措辞上的细微变化,就可能重塑对利率路径的预期
  • 新闻发布会: 问答环节里往往藏着真正的政策漂移
  • 财报电话会: 管理层的语气会在数字被修正之前,就透露出需求、定价能力、资本开支和库存的状况
  • 行业表述: 半导体、运输、银行、工业和零售,往往比大盘指数更早转向

机构的视角

顶级的宏观交易台不会问"这份声明是鸽派的吗?",它问的是"相对上一次事件,有什么变了?变化有多大?哪些资产敞口最大?市场还有哪些地方理解错了?"你的叙事引擎也应该这样做。

文档范围

把输入范围收紧。大多数失败源自输入端的噪音,而不是建模能力不足。

宏观输入

  • FOMC 声明、会议纪要和新闻发布会
  • CPI、PPI、NFP、ISM、零售销售,以及主要数据发布的摘要
  • 重要理事和地区联储主席的 Fed 讲话记录
  • 财政部再融资声明和重要的政策演讲

公司层面的输入

  • 行业风向标公司的财报电话会记录
  • 8-K 指引公告
  • 投资者开放日的会议记录
  • 行业会议上的表态

为什么不该什么都往里塞

把每一条新闻标题都加进来,通常只会让信号变差。机构系统会把 核心叙事文档 与高噪音的评论流区分开来。先从那些措辞变化最要紧、且事件日历足够稳定可供回测的权威文档入手。

数据结构与标签

模型不该输出长篇大论。它应该输出一个固定的数据结构,让你能够重放、比较和汇总。

{
  "macro_regime": "growth_scare | reflation | soft_landing | stagflation_risk",
  "policy_bias": "hawkish | neutral | dovish",
  "earnings_breadth": -2 to 2,
  "margin_pressure": -2 to 2,
  "consumer_health": -2 to 2,
  "capex_intensity": -2 to 2,
  "confidence": 0 to 1,
  "evidence_spans": ["quoted phrase 1", "quoted phrase 2"]
}

好的打标签做法

  • 使用 小而稳定的分类体系 而不是无休止地扩充标签
  • 方向置信度
  • 分开要求提供证据片段,让输出可审计
  • 尽可能使用数值型字段,以减少比较时的歧义

该度量什么

宏观层面,跟踪政策倾向、对通胀的信心、劳动力市场韧性和增长方面的担忧。财报层面,跟踪定价能力、利润率压缩、库存表述、客户的紧迫感和资本开支意愿。目标是在具有经济含义的类别上度量措辞的变化,而不是笼统的正面程度。

流程设计

  1. 接入某个事件窗口内最新的一批文档。
  2. 按发言人、章节和时间戳做分块。
  3. 运行强制固定输出结构的抽取提示词。
  4. 把分块层面的输出,汇总成文档层面的分数。
  5. 把本次事件的分数与上一次可比事件作对比。
  6. 把这个变化量转换成针对资产或篮子的体制向量。
  7. 用市场确认和流动性过滤器给信号加上门控。

为什么分块很重要

长文档提示中一个常见的失败模式,是模型过度看重开头几段、而轻视问答环节。对宏观类文档来说,问答环节往往包含最有操作价值的细节。对财报来说,准备好的发言可能被打磨得很光鲜,而分析师的提问才会暴露出管理层想要回避的东西。分块能避免这种坍缩。

分块汇总示例

文档分数 =
    0.40 * prepared_remarks_score
  + 0.40 * Q&A_score
  + 0.20 * title_and_release_score

事件变化量 =
    current_document_score - previous_document_score

模型输出的纪律

对于基础数据结构,你要的是确定性的、低温度的抽取。在这里,创造性的生成是负担。请把提示词写得明确,要求模型标记缺失数据,并拒绝不符合结构的输出。

从标签到交易

最干净的实现方式不是预测单只股票,而是 篮子交易。叙事类信号是宽泛的、概率性的,而篮子能吸收掉个股层面的噪音。

简单的映射层

若 policy_bias = hawkish 且 growth_scare 正在上升:
    低配长久期成长股
    超配防御性、优质和短久期资产

若 soft_landing 的置信度上升,且 earnings_breadth 改善:
    超配周期股、半导体、小盘股、信用 beta

若 stagflation_risk 上升:
    降低指数 beta
    加入对大宗商品敏感的表达方式
    收紧总敞口和净敞口上限

实用的交易表达方式

  • 行业轮动: XLK 对 XLU、XLI 对 XLV、XLF 对 TLT
  • 因子价差: 优质对垃圾、防御对周期、低波动对高 beta
  • 指数敞口叠加: 以体制分数作为门控,调整在 SPY、QQQ 和 IWM 上的敞口大小
  • 宏观对冲: 如果政策或通胀叙事急剧转向,请使用利率或大宗商品对冲,而不是硬要用纯股票的方式表达

一条好规则是:既要有叙事上的转向,也要有某种市场确认,比如相对强度、市场宽度扩张,或信用利差的表现。只看文本通常太早,只看价格往往太晚。两者结合,这套流程才真正可用。

验证框架

这套策略应当逐事件地测试,而不是孤立地逐根 K 线测试。

该回测什么

  • 事件变化量,与随后 1 日、5 日和 20 日的行业/因子收益之间的关系
  • 主要体制分类的命中率
  • 换手率和实施中的滑点
  • 同一批历史文档下,不同提示词版本的稳定性

最重要的两项测试

  • 重放稳定性: 用同样的模型和提示词重跑旧文档,确认输出保持一致
  • 提示词敏感度: 略微改动措辞,看看信号是否还站得住

如果只是换了个说法,你的体制分数就大幅翻转,那你手上的不是一个 alpha 模型,而是一个不稳定的界面演示。

失效模式

  • 幻觉式的解读: 要求提供证据片段,并做人工抽查
  • 提示词漂移: 为每一版提示词做版本管理,并保留重放日志
  • 宏观来回打脸: 不要让单份文档凌驾于价格、市场宽度和波动率体制这些过滤器之上
  • 反应过度: 使用篮子并限制换手率,而不是一把梭的方向性押注
  • 叙事拥挤: 故事越是显而易见,你就越应该偏向相对价值的表达方式,而不是直接的 beta 敞口

量化视角的现实情况

"市场叙事"里没有免费的午餐。一个故事一旦在财经电视上变得人尽皆知,优势就消失了。这套流程真正有用的地方,在于早期、一致且成规模地度量叙事的转向。

散户的落地方案

  1. 先从一类文档入手,比如 FOMC 声明和新闻发布会。
  2. 只定义 6 到 10 个稳定的标签。
  3. 建立重放日志,并拒绝不符合结构的输出。
  4. 把信号映射到两三个流动性好的行业价差上。
  5. 用 5 到 10 年的事件窗口做回测。
  6. 等宏观标签稳定之后,再加入行业风向标公司的财报记录。

量化视角的看法

真正的优势不在于语言模型,而在于一个有纪律的闭环: 文本 → 数据结构 → 变化量 → 篮子 → 风险预算。如果这个闭环是有版本管理、可重放的,你手上就有了可测试的东西。如果不是,你手上就只有一个故事。