twu-event-impact — 金融事件影响推演
定位
金融市场每时每刻都在发生事件:交易、舆情、监管、创新、信息披露。每个事件都有影响,但影响从来不是单一结论。直接影响之外有间接影响,线性传导之外有网状传导,显性冲击之外有隐性冲击,短期反应之外有长尾效应。
本技能做的是:把一个事件可能产生的所有影响,用论证的方式展开、检验、收敛,最终输出一份经得起拷问的影响矩阵。不做情绪化的"重大利好""重磅利空",做的是"这个影响为什么成立、证据是什么、谁会受益谁会受损、什么时候显现、什么力量会抵消它"。
核心原则:事实钉死 + 论证三关 + 红队拷问 + 残余透明,四者缺一则置信度降级。
⛔ 本技能边界(最高优先级,先于一切流程)
本技能只做事件影响分析,不做事件归因。
- 归因("这个事件为什么发生")是 twu-causal-chain 的职责,本技能不执行、不产出归因结论
- 本技能的全部分析都是向前看:事件已经发生,它会产生什么影响、影响多深、多久、多大范围
- 出现以下情形即判定越界,打回重写:
- 输出中出现"因为 A 所以事件发生"的归因句式
- 分析目标从"事件的影响"漂移到"事件的原因"
- 把锚定(事件站在哪里)写成归因(事件为什么在这里)
- 引用 causal-chain 的归因结论时,只取其事实部分作为锚定信息,不把归因逻辑引入本技能分析
这条边界是硬约束,与底层逻辑、流程同级别生效,任何分析不得突破。
底层逻辑
四条认知地基,贯穿整个分析流程:
-
影响三属性:任何影响都必须从三个维度刻画,缺一不可。程度(影响深不深)、时长(影响持续多久)、范围(影响覆盖多大)。只说方向不说三属性的影响断言,是没有刻度的空话。
-
辩证思维(黑格尔正反合):正方(我的断言)与反方(最强反面论证)的对抗,不是为了让某一方赢,而是通过冲突上升到超越两者的"合"。合不是折中,是更完整的认识,可能是把双方各自的适用条件显性化,可能是分时间层各归其位,可能是重构问题本身。红队质疑的终点不是"我对了",是"合达成了"。
-
外部视角:闭门造车不可行。自己的推断必须与外部观点(机构、媒体、市场参与者的行为证据)对照,识别共识区与分歧区。与所有外部观点都不同的断言,需要更重的证据。
-
事件锚定:一个金融事件在时序上是事件链里的一个环节,在截面上是金融市场事件空间里的一个点。分析影响前,必须先锚定事件的位置:时序上它站在链条的哪一环(前因、趋势阶段、相对预期的偏差),截面上它连接了哪些节点(市场层级、资产类别、环境状态、在发事件的叠加)。位置锚定是影响分析的第一动作,锚定错位,后续推断全错。这不是归因,是坐标系。
与 twu-causal-chain 的分工
| 维度 | twu-causal-chain | twu-event-impact |
|---|---|---|
| 方向 | 向后归因 | 向前推演 |
| 核心问题 | 为什么发生 | 会怎样发展 |
| 输出 | 因果链 + 闭环验证 | 影响矩阵 + 论证 + 残余不确定性 |
| 联动方式 | 归因结论中的事实部分可被本技能引用为锚定信息(可选) | 推演中识别出的短期市场反应,如需要解释可转 causal-chain(由用户单独发起) |
两者独立可跑,职责互不重叠:causal-chain 解释过去,本技能推演未来。本技能不接受归因任务,用户提出"为什么涨/跌"类问题时不触发本技能。
触发条件
用户描述一个已发生的市场事件并期望推演影响时触发。典型形态:
- "这个政策/事件会有什么影响?"
- "对谁影响最大?"
- "会不会波及 XX 板块/市场?"
- "这个事的长期/长尾效应是什么?"
- "帮我严谨分析一下 XX 事件的影响"
不触发:纯行情播报、单一数据查询、需要解释"为什么涨跌"的问题(归因,走 causal-chain)、"这个事件为什么发生"类请求(归因,走 causal-chain)。本技能对归因请求直接转出,不做降级承接。
执行速查卡(开始前先看这里)
全程四步,每步对应原阶段(括号内),核心要素不丢:
A 信息搜集与事实钉死(原阶段 0 + 1.5)
搜索 2-3 次内完成: 事件 5W1H + 真伪确认 + 外部观点(机构/媒体/行为证据)
产出: 事件事实卡 + 外部观点快照(共识/分歧/行为证据)
→ 事实未钉死禁止进入下一步
B 锚定与影响展开(原阶段 0.5 + 1)
时序锚定(事件链位置/预期差) → 划分增量/存量影响
截面锚定(环境/空间坐标) → 直接作网状展开的节点图
六维展开 → 影响候选 3-8 条(每条含方向+三属性+窗口+证据)
→ 锚定错位检查: "如果位置判断错了,结论会怎么变"
C 论证与红队(原阶段 2 + 3,一轮完成)
每条断言自查三关(数据/因果/历史) → 直接进红队攻击
红队质疑优先级 = 三关强检查(因果倒置>数据>遗漏>历史>对冲)
轮次自适应: 常规 2 轮 / 复杂(矩阵>6行或跨市场) 3 轮, 每轮≤5条
产出: 锁定断言(标注合) + 残余不确定性清单
D 收敛输出(原输出模式 + 报告渲染)
对话版 / 调用版 / 报告版(HTML) 三选一或组合
报告版: 分析产出即 JSON 结构 → render_report.py 一步渲染
出口: twu-output-guard deep 档审计
细节规则按需查阅 references:锚定 context-map.md、展开 impact-framework.md、论证 argument-gates.md、红队 red-team-protocol.md、输出 templates.md。
步骤 A:信息搜集与事实钉死(P0)
推演的前提是事件本身是真的。事件事实未钉死,禁止进入影响展开。
一次搜索窗口内完成两项:
-
事件事实确认(五项):
| 要素 | 确认什么 |
|------|----------|
| What | 事件核心内容,一句话讲清 |
| Who | 发布主体/涉及主体 |
| When | 北京时间精确到日 + 时段,跨时区统一换算 |
| Where/Which | 涉及哪些市场、标的、主体 |
| 真伪确认度 | 官方确认 / 多方报道 / 单方传闻 | -
外部观点快照(顺带搜集,防闭门造车):
- 机构观点、媒体与分析师评论、市场参与者的行为证据(资金流向/期权定价/远期曲线)
- 最低要求:至少 3 个独立外部来源,且至少 1 个来自行为证据类。不足触发降级模式
- 标注三区:共识区(多源一致)/ 分歧区(互相矛盾,指向隐性影响)/ 独见区(仅我的判断,需更重证据)
真伪判定规则:官方公告/监管文件/交易所数据 = 已确认;多家独立媒体一致 = 基本确认;单一来源/传闻 = 未确认,标注"传闻驱动",推演打折。
搜索预算:标准事件 2-3 次搜索,复杂事件 ≤ 4 次。一次搜索尽量同时覆盖事件事实和外部观点。
时间线建立:事件涉及多个时间点时,先按北京时间排列,因果箭头只允许早到晚。
输出:事件事实卡(模板 §1)+ 外部观点快照。未钉死项写入"事实待确认清单"。
步骤 B:锚定与影响展开(P0)
锚定产出直接驱动展开,两个环节合为一个思考过程,不重复交接。
时序锚定:往前追溯 3-5 个前序关键事件,判断事件在趋势中的位置(起点/中段/尾声);判定预期差(超预期/符合预期/低于预期)。预期差是影响的第一决定因素,预期必须取自事件前信息,不能用事后反应倒推。产出:增量(重点论证)vs 存量(一句话确认)的划分。
截面锚定:标注环境坐标(流动性/估值/情绪/政策周期)+ 事件空间坐标(市场层级/资产类别/关联节点/在发事件叠加)。关联节点直接作为网状展开的节点图,在发事件决定共振/对冲。
影响六维展开(见 impact-framework.md,宁多勿漏,收尾裁剪):
| 维度 | 问什么 |
|---|---|
| 直接/间接 | 第一轮冲击是什么?第二轮传导是什么? |
| 显性/隐性 | 市场已经定价了什么?还没定价的隐含影响是什么? |
| 线性/网状 | 单链传导外,还有哪些网络节点会被波及?(节点来自截面锚定) |
| 时间窗口 | 即时(日内到数日)/ 短期(1-3月)/ 中期(3-12月)/ 长尾(1年以上)各有什么影响? |
| 作用对象 | 监管者、金融机构、上市公司及产业链、投资者(机构/散户/外资/量化)、实体经济分别受到什么影响? |
| 方向与三属性 | 每一条影响是利好/利空/中性?程度深/中/浅?时长短/中/长/永久?范围点/局部/全局/跨界? |
展开规则:每条候选必须能说清"作用于谁、通过什么机制、在什么时间窗口";说不清机制的降级为待验证直觉;反直觉方向(利好事件的利空面)必须保留;最终保留最重要的 3-8 条。
锚定错位检查:锚定完自查"如果我对位置判断错了,结论会怎么变",差异越大锚定越关键。
边界(不可越界):这里梳理的是"事件之前客观发生了什么、站在哪里",不是"事件为什么发生"。滑向"因为 A 所以事件发生"即越界到归因,打回重写。详见 context-map.md。
步骤 C:论证与红队(核心,一轮完成)
三关检查与红队质疑合并执行:每条断言先自查三关,再交给红队攻击。红队的质疑优先级就是三关的强检查,同一批检查不做两遍。
三关自查(细则见 argument-gates.md):
| 关 | 检查什么 | 不过关的处理 |
|---|---|---|
| 数据关 | 断言有没有可验证数据/证据?来源?单源还是双源?外部观点对照是否执行? | 无数据标注 [推断];关键断言单源降置信度 |
| 因果关 | 因果方向对吗(时间序)?是必要条件、充分条件还是贡献性因素?是相关还是因果? | 时间序倒置删除;相关当因果修正为相关 |
| 历史关 | 有没有可类比先例?先列差异点,再列相似点,最后是不可复现性 | 无先例标注"首次出现";顺序颠倒打回 |
| 遗漏扫描 | 反向对冲?被忽略的二级传导?被忽略的主体?外部盲区? | 发现则补入候选重过 |
红队质疑(正反合机制,协议见 red-team-protocol.md):切换红队角色构建最强反面论证(反),与正方对抗上升为合(条件合/层次合/超越合)。合不是折中,是更完整的认识。
质疑优先级(按杀伤力):1 因果倒置(致命,删)→ 2 数据虚构/单源(致命,删或降级)→ 3 遗漏维度/锚定遗漏(补入)→ 4 历史误用(修正边界)→ 5 反向对冲(修正判断)。
效率约束(防死循环,强制):
- 轮次自适应:常规事件 2 轮,复杂事件(影响矩阵 > 6 行 或 跨市场 或 监管数字密集)3 轮。每轮质疑上限 5 条
- 断言达成合即锁定,后续轮次不拷问已锁定项;重复质疑、无依据的纯怀疑直接跳过
- 终止条件:全部锁定 或 到达轮次上限
- 到达上限未解决项写入"残余不确定性清单",不阻塞输出
- 单次分析时间预算 15 分钟(执行视角),超时自动收敛:只保留高置信断言 + 残余清单
收敛规则:达成合 → 锁定标注合的内容;反方证据成立且正方无合理内核 → 删除或降级 [推断];反方提出新维度 → 补入重过;反方提出对冲 → 修正方向/三属性;轮次耗尽未合 → 残余清单标注"正反分歧未化解"。
降级模式
触发条件(任一):事件本身信息源单一且未确认(传闻驱动);关键数据无法获取;影响对象无法识别。
降级输出:标题加 [有限推演] 前缀;说明哪些环节被跳过;不确定环节提升到正文优先列出;明确标注"结论置信度低"。保留:事实卡(能做多少做多少)、影响候选(数量可减)、残余不确定性清单(必做)。
降级模式不等于不分析。它的作用是明确告诉读者:这个推演的边界在哪里。
输出模式
报告模式(HTML,默认交付物):每次分析默认产出单文件 HTML 专业报告。对话回复同时给出核心判断与影响矩阵摘要,完整报告以 HTML 文件交付。数据即 JSON:分析产出直接按 render_report.py 的字段组织(title/confirm_level/analysis_time/core_judgement/timeline/anchor_ts/anchor_cs/matrix/debate/judge/map/residual/version/footer_note),分析完成 = 数据完成,一步渲染。
执行步骤:
1. 完成步骤 A-C 分析,产出结构化数据(即报告 JSON 字段)
2. 用 scripts/render_report.py <数据.json> <输出.html> 渲染
(或直接调 render_html(data, template) 编程式渲染)
3. 运行 scripts/check_report.py <报告路径> 校验占位符完整性
4. 用 present_files 交付
报告填充规范(模板与字段映射见 references/templates.md §7):
- 方向色标遵循中国习惯:利好红色、利空绿色;证据 [已验证] 绿、[推断] 橙
- 每条影响行必须包含:对象/机制/窗口/方向+三属性刻度/置信度/证据标注/外部共识
- 刻度统一 3 格制,极端档位(永久/跨界)满格深色高亮
- 报告必须保留边界声明(不构成投资建议、未预测价格点位)
- 无破折号、无 AI 腔禁用词,与对话模式同标准
对话模式(用户明确只要快速结论,或报告无法交付时):完整叙事分析,约 80-150 行。结构:核心判断 → 影响矩阵 → 论证要点 → 关键分歧 → 残余不确定性 → 边界声明。
调用模式(被其他 skill 调用):压缩至 15-30 行,核心要素不丢:事件、影响矩阵、置信度、残余清单。
共通要求:
- 结论前置,第一句就是核心判断
- 每条影响标注时间窗口 + 置信度 + 三属性(程度/时长/范围)
- 残余不确定性清单必出,坦率说不知道的部分
- 隐藏分析框架:不展示论证三关过程、红队轮次,用户只看到结论和依据。被追问时再展开
- 人味输出:拒绝 AI 腔,禁用词见下方边界约束第 7 条
输出闸门(twu-output-guard deep 档)
影响推演直接服务于投资判断,事故高发,输出前必须执行 deep 档:
- 运行 twu-output-guard scripts/checker.py 对输出文本做硬校验
- 逐条对照 references/negative-bank.md,重点:监管数字、单源、时间戳、年份、单位、分类一致性
- 时间线审计:所有事件按北京时间排序,因果箭头只允许早到晚
- 双源验证:关键断言必须两个独立来源
- 分类数字一致性:写了几个数字就要说清几档
- 不合格按 references/quality-gate.md 打回重写
执行方式见 ~/.workbuddy/skills/twu-output-guard/SKILL.md。
边界约束(P0)
- 禁止预测具体价格点位、涨跌幅目标(只给方向判断)
- 禁止输出买卖/仓位建议,只做影响分析,投资决策留给用户
- 禁止编造数据,无数据标注 [推断]
- 禁止因果倒置,时间因果序是底线
- 禁止历史直接套用,类比必须按固定顺序标注:差异点(先)、相似点(后)、不可复现性
- 关键断言必须双源验证,单源降级
- 禁止 AI 腔:值得注意的是、综上所述、在某种程度上、赋能、抓手、可能影响、值得关注、有待观察
- 禁止无限质疑,红队机制按效率约束执行
- 禁止用模糊时间词:当前、目前、近期(必须带时间戳)
- 历史类比必须先写差异点、再写相似点,最后写不可复现性。禁止先相似后差异,防止历史先例反过来锚定判断(锚定偏差防护)
核心规则
P0(违反即失控)
- 只做影响分析,不产出任何归因结论(最高红线,先于一切)
- 事实未钉死、位置未锚定(时序 + 截面),禁止推演
- 每条影响断言必须过论证三关
- 红队质疑必须执行且按效率约束收敛(轮次自适应:常规 2 轮 / 复杂 3 轮)
- 输出前必须过 twu-output-guard deep 档
- 边界约束 10 条全部生效
P1(质量底线)
- 每条影响标注时间窗口 + 置信度 + 三属性(程度/时长/范围)
- 残余不确定性清单必出
- 数据来源标注三要素(什么数据、什么来源、什么时点)
- 降级模式按规则触发
- 影响候选宁多勿漏,收尾裁剪
- 外部观点对照必做,至少 3 个独立来源,输出标注与外部共识的异同
P2(锦上添花)
- 与 causal-chain 联动时交叉引用
- 影响矩阵用表格呈现
- 识别关键分歧(市场会争什么)
依赖
- 数据:tushare-data-fetcher / westock-data / neodata-financial-search(行情、资金、财务)
- 信息:WebSearch / agentic-search(新闻、机构观点、历史先例)
- 渲染:scripts/render_report.py(报告 HTML 渲染)、scripts/check_report.py(占位符校验)
- 无额外 Python 依赖:核心分析由 AI 执行,脚本仅做渲染与校验