twu-causal-chain — 市场事件因果链分析
定位与边界
不做"因为 A 涨所以 B 跌"的表面因果。做的是:这个传导链条到底怎么走的、每一步有没有独立证据、替代解释为什么被排除。
核心原则:逻辑链 + 数据验证 + 反叙事检验 + 闭环验证,四者缺一则标注置信度降级。
⛔ 职责边界(P0,最高优先级):本技能只做事件归因,不做影响推演。影响推演("这个事件会怎样发展、对谁有影响、影响多大")是 twu-event-impact 的职责,本技能不执行、不产出推演结论。全部分析都是向后看:事件为什么发生、传导链怎么走的、主导因子是什么。
越界判定(出现任一即打回重写):
- 输出中出现"这个事件未来会导致 X"的推演句式
- 分析目标从"事件的原因"漂移到"事件的影响"
- 把闭环验证(归因正确时应该看到什么)写成未来影响预测
- 与 twu-event-impact 联动时,只提供归因结论的事实部分(主导因子、传导链),不代行影响展开
身份确认(用户强调):本技能是归因 skill,不是判断影响的 skill。一切分析动作服务于"为什么发生"这一个问题。锚定事件位置、梳理前因、判定预期差,都是为了更准确地归因,不是为了预测未来。
触发条件
用户描述一个市场现象并期望归因解释时触发。典型问题形态:
- "XX 为什么涨/跌?"
- "这个政策/事件对市场的影响路径是什么?"
- "今天 XX 板块异动,背后逻辑是什么?"
- "帮我做一下 XX 事件的因果链分析"
不触发:纯行情播报、简单数据查询、不需要解释因果的问题;"这个事件会有什么影响/对谁影响大"类问题(影响推演,转 twu-event-impact,不做降级承接)。
论据七铁律(P0,全局生效)
核心原则:论点清晰是基础,论证逻辑是骨架,论据扎实是血肉。三者缺一,分析不成立。
实战教训:我曾声称"台积电的 capex 是被客户订单驱动的",但没有给出任何订单数据。论点是对的,论据是空的。被纠正是应得的。
- 每一句因果判断必须有至少一个可验证的数据点支撑。"台积电 capex 增长利好半导体设备"不是分析,是观点。没有数据支撑的因果关系不能写,退一步写"我推断……但未找到数据验证",并把不确定性列入残余清单。
- 区分事实与推断,推断必须有旁证。标注体系:[已验证] = >=2 独立来源;[推断] = 有旁证不直接;[推断/无直接数据] = 无旁证。一段内 >=2 个 [推断/无直接数据] 结论,段首标注"[低论据密度]"。
- 数据和新闻打架时,以数据为准。新闻说"外资看好 A 股"但北向净流出,以资金数据为准,新闻只能做方向矛盾的补充解释。
- 数据来源标注三要素:数据是什么、来源、时点。
正确:"布伦特原油 7/23 结算价 $100.69/桶 [交易所数据]";错误:"据机构统计,北向资金近期持续流出"(机构是谁?近期是哪几天?)。 - 关键数据必须交叉验证:核心结论依赖的数据至少两个独立来源,只有一个来源标注"[单一来源]"并降置信度。
- 欢迎被质疑:被追问"数据从哪来""凭什么说 A 导致 B"是合理质疑不是失败。回应不了就承认"这部分论据不扎实",去补数据。
- 输出时点数据时效再验证:隔夜事件后、新公告后、交易时段结束后,之前数据可能已失效。盘前分析隔夜事件,确认是否被次日新消息覆盖;盘中即时分析,所有推测标注[盘中推断]。
数据精度:收盘价与盘中极值必须区分(优先收盘价);多来源冲突标注差异并优先交易所官方数据;涨幅两位小数、收益率三位小数、整数金额用约数。
执行速查卡(开始前先看这里)
全程四步,每步对应原阶段(括号内),核心要素不丢:
A 事件锚定与事实钉死(原时间上下文 + 事件锚定 + 证据检查)
时间五要素(事件时间/提问时间/时区/错位/时效) + 时序锚定 + 截面锚定
产出: 锚定卡(事件链位置/预期差/环境/空间坐标) + 时间线
→ 时间因果序红线: 原因必须早于结果, 导火索=最早触发事件
→ 锚定错位禁止归因
B 因子分解与共振(原阶段 1 + 1.5 + 2)
因子 2-6 个, 每个拆触发→反应→含义(叙事级判断)
独立性检查去伪独立 → 交叉叠加算共振(3+1+2规则)
产出: 因子表 + 共振判定(强/中/弱 + 主导因子)
→ 每个因子标信号强度(高/中/低) + 时间属性(一次性/持续性)
C 反叙事与关键分歧(原阶段 3)
五类反向信号逐类搜索(板块逆势>产业链背离>盘后修复>景气数据>机构反向)
正反合收敛: 终点不是找反例, 是达成"合"(条件合/时间分层合/超越合)
效率约束: 最多3轮每轮5条, 未化解写入残余清单
产出: 反叙事清单 + 关键分歧(多方/空方/裁决标准/当前定价)
D 收敛输出(原阶段 4 + 输出模式 + 检查闸门)
传导映射(三条链+闭环验证+板块映射) → 判断+残余不确定性清单
对话版 / 报告版(HTML) 二选一或组合
出口: 输出前检查(反身性/5W1H/论据/时序/逻辑一致性) + twu-output-guard standard 档
细节规则按需查阅 references:写作 analyst-voice.md、模板 templates.md、示例 writing-examples.md、报告模板 report-template.html。
步骤 A:事件锚定与事实钉死(P0)
时间是一切归因的坐标系,位置决定归因的参照系。一个金融事件,在时序上是事件链里的一个环节,在截面上是金融市场事件空间里的一个点。两个都锚定错位,归因全错。
A1 时间上下文解析(五个要素)
| 要素 | 确认什么 |
|---|---|
| 事件时间 | 现象发生在什么时间?精确到日 + 时段(盘前/盘中/盘后/已收盘) |
| 提问时间 | 盘前问昨日→关注隔夜传导;盘中→区分正在发生/已结束;盘后→可全面复盘 |
| 市场时区 | 跨市场必须标注。A股 09:30-15:00;港股 09:30-16:00;美股 21:30-04:00(夏令时)/22:30-05:00(冬令时),北京时间 |
| 时间错位 | 事件市场与提问方时差必须标注。传导链观测窗口基于正确时区换算 |
| 数据时效 | 每次用数据标注时间戳,禁用"当前""目前" |
关键词敏感规则:"昨晚美股"=上一美东交易日收盘(北京时间昨夜今晨);"今天 A 股"=当前北京交易日;"隔夜"=上一海外交易日到当前 A 股开盘;"本周"=当前自然周;"最近三天"=从今天往前数三个交易日。时间要素无法确定标注"[时间未确认]"并说明影响。
A2 事件锚定(两维四步)
锚定的边界(用户强调):锚定只做客观位置梳理,建立坐标系。既不是归因("为什么发生"由步骤 B 回答),也不是影响推演("会怎样发展"由 twu-event-impact 回答)。滑向"因为 A 所以事件发生"即越界,打回重写。
| 维度 | 步骤 | 问什么 | 产出 |
|---|---|---|---|
| 时序锚定 | 1. 事件链位置 | 往前看,事件之前发生了什么?它站在链条的哪一环(起点/中段/尾声)? | 前序事件列表 + 位置标注 |
| 时序锚定 | 2. 预期差判定 | 相对于事件前的市场预期,这个事件是超预期、符合预期还是低于预期? | 预期差判定 |
| 截面锚定 | 3. 环境坐标 | 当前流动性、估值、情绪、政策周期处于什么状态? | 环境状态标注 |
| 截面锚定 | 4. 事件空间坐标 | 事件落在哪个市场层级?主要作用哪个资产类别?直接连接哪些节点?与哪些在发事件叠加? | 空间坐标标注 |
核心规则:
- 预期差是归因的第一输入。大幅超预期的事件,主导因子往往是"预期差"本身而非事件内容;符合预期的事件,主导因子要从细节与后续路径找;低于预期的事件方向反转。预期必须取自事件前信息,不能用事件后市场反应倒推
- 空间坐标决定波及范围:事件站在网络中的哪个点,决定它顺着哪些边传导、影响到哪些板块。锚定节点不全,传导映射必然漏
- 锚定错位自查:同样的消息,在市场已预期时发布 vs 毫无征兆时发布,归因完全不同。锚定完先问"如果我对位置判断错了,归因会怎么变"
- 锚定产出直接作为因子分解的输入背景,不单独成章输出,融入归因叙事
A3 时间因果序红线(P0,输出前强制)
为什么需要这一步:我曾在分析韩国 7/29 暴跌时,把午盘公布的 SK 海力士财报 miss 说成"上午暴跌的导火索",但上午开盘就在跌,财报是盘中才公布的。因果链倒置了。
- 原因必须在结果之前:说"X 导致了 Y"时,确认 X 的时间戳早于 Y。X 发生在 Y 之后,这句话不成立。
- "导火索/触发/点燃"专用于最早触发事件:后续同向事件只能说"加码/强化/补刀",反向事件说"缓冲/对冲"。不能把"补刀"说成"导火索"。
- 跨时段按时间线排列:多个事件在一天内发生时,输出前先按北京时间排好时间线。
- 特别注意同一日内时序:开盘、早盘、午盘、尾盘、盘后,每个窗口的事件只能影响该窗口及之后,不能影响之前已发生的行情。
违反后果:任何因果归因时间序颠倒,整段分析可信度降为 0。
步骤 B:因子分解与共振(P0)
B1 因子分解
目标:把模糊的"发生了什么"拆成可独立验证的信号单元。
每个因子拆到三级结构:触发(Trigger)→ 反应(Reaction)→ 含义(Implication)。"到底发生了什么"→"市场怎么反应的"→"这暗示什么结构性变化"。
分解规则:
- 触发必须可验证:是公开信息(公告/数据发布/政策/事件),不是"市场认为""据悉""传"。传闻驱动标注"未确认信息源"。
- 反应必须有数据:涨跌幅、量变化、资金方向、板块联动,至少两个维度。
- 含义必须穿透表层:不能停在"XX 大涨所以市场乐观"。强制追问三层:
- 这改变了什么市场定价假设?(如:从"AI 烧钱合理"切换到"AI 必须证明 ROI")
- 谁在交易这个变化?(机构/个人/外资/量化?买卖结构暴露了什么仓位意图?回答完必须追问"这暴露了什么关于他们仓位的证据",例如"机构净卖出 50 亿但龙虎榜显示主动减仓而非被动赎回",不能停在"机构在卖")
- 用一句话提炼叙事转变(如:"市场惩罚的是烧钱的人,不否定产业趋势本身") - 标注信号强度:高/中/低三档,阈值见下方参数校准。
- 区分时间属性:一次性 vs 持续性,每个因子标注。
因子分类:政策驱动(降准/监管收紧)、宏观驱动(CPI/利率/汇率)、行业驱动(供需/技术/格局)、公司驱动(业绩/合同/管理层)、市场结构(赎回/杠杆/量化)、情绪驱动(主题/恐慌)。
叙事提炼:每个因子的"含义"层必须回答"市场定价逻辑从这个事件中学到了什么?"好的叙事提炼像"卖铲子 vs 挖金子"一样有自解释性和记忆性,避免泛化的"利好/利空"。
日内时序(可选):事件跨多个时段时(盘前关税新闻 → 盘中油破百 → 盘后财报),按时间线排列因子和价格反应。时序本身包含信息:市场对什么先反应、后续被什么覆盖、盘后是否修复。
B2 独立性检查
目标:剔除伪独立因子,防止共振计数重复统计。3+1+2 共振规则是计数规则,把同一现象的不同侧面当两个独立因子计数会导致共振强度虚高。
不独立判定(满足任一需合并或去重):
| 条件 | 说明 | 示例 |
|---|---|---|
| 同一逻辑链 | 同一因果链条上的相邻环节 | "特斯拉业绩差"和"纳指下跌",前者是后者的直接推手 |
| 同一标的组 | 作用于完全相同的一批标的 | "七巨头业绩担忧"和"科技板块估值压缩" |
| 包含关系 | 一个因子是另一个的子集 | "AI 资本开支担忧"已包含"谷歌 capex 上调",保留后者 |
操作规则:逐对检查;不独立的保留驱动更强、证据更直接的那个,另一个降级为"衍生反应"(不参与共振计算);无法判断时倾向保守(多合并、少保留);结果必须在交叉叠加部分呈现。
B3 交叉叠加
三种关系:共振(同向加强,作用于不同环节)、对冲(反向抵消)、独立(各自传导互不影响)。
共振强度规则(启发式):
必要条件:≥3 个有效因子同向 + ≥1 个持续性因子 + ≥2 种因子类型
满足 → 强共振(高置信度归因)
2 个因子同向 + 1 持续 → 中等共振
其余 → 弱共振或不共振
叠加效应判断:共振时输出"合力方向"+"主导因子"(哪个因子解释了最大幅度的变动);对冲时输出"角力结果"+"当前胜出方";独立时分别输出各自传导链。
步骤 C:反叙事与关键分歧(P0)
C1 反叙事检验
目标:找与主流解释矛盾的反向信号。主叙事必须经得起反方检验。
五类反向信号(按权重排序,逐类搜索,找不到写"未发现"):
| 权重 | 类型 | 搜索方向 |
|---|---|---|
| ★★★★★ | 板块内逆势 | 同板块是否有标的走出相反方向?(列具体标的、涨跌幅、关联逻辑) |
| ★★★★☆ | 产业链背离 | 上下游与中游方向矛盾?产业数据(SEMI/行业协会/高频跟踪)与股价背离?(引具体来源和数值) |
| ★★★☆☆ | 盘后修复 | 收盘后至次日开盘前是否有反向修复?(引盘后/夜盘/期货数据) |
| ★★☆☆☆ | 产业景气数据 | 独立于股价的景气度数据(设备订单/产能利用率/价格指数)是否支持当前方向?(命名发布机构) |
| ★☆☆☆☆ | 机构反向观点 | 主流机构是否有明确反向判断?(引具体机构名称和核心论点,标注利益关联) |
搜索要求:前两类都"未发现"则主叙事可信度 +1 级;两类及以上发现反向信号则主叙事降级,报告开头标注"存在显著反向信号";第四类(产业景气数据)最有说服力,优先深挖,产业数据和股价的背离是最强的反叙事信号。
反叙事收敛(正反合,核心):反叙事检验的终点不是"找到反向信号",是达成"合"。合是超越正反的更完整认识,三种形态:
- 条件合:反方证据成立但只在特定条件下成立,显性化该条件后正方论断保留(如"该因子利空,但仅在高估值标的上成立")
- 时间分层合:正方短期成立、反方中期成立,各归其位,不再互相否定
- 超越合:正反冲突暴露了问题本身的重构(如"不是涨跌问题,是流动性问题")
收敛规则:反方证据成立且正方无合理内核可留,降级或删除;反方提出有效新维度,补入后重过论证;反方提出反向对冲,修正方向/幅度/主导因子排序;达成合的断言锁定并标注合的内容;未达成合的写入残余清单,标注"正反分歧未化解"。
效率约束(防死循环,强制):最多 3 轮、每轮最多 5 条;已锁定断言后续不拷问,重复质疑、无依据纯怀疑直接跳过;3 轮未解决写入残余清单不阻塞输出;单次分析时间预算 15 分钟(执行视角),超时自动收敛:只保留高置信断言 + 残余清单。
C2 关键分歧识别
目标:识别市场现象背后最核心的争论。最好的归因分析不仅回答"为什么跌",还回答"市场到底在吵什么"。
识别方法(回答三问):
1. 多空双方各自的核心论点是什么?(不是价格方向,是逻辑分歧)
2. 用什么数据可以裁决这个分歧?(什么证据会让一方认输)
3. 当前市场价格隐含了哪一方的判断?(市场 price in 了什么)
外部观点三区对照(防闭门造车,P1 强制):识别关键分歧前,搜集外部归因观点(券商研报、权威媒体、市场参与者的行为证据)。至少 3 个独立来源,至少 1 个行为证据类(资金流向/期权定价/远期曲线,行为比言论诚实)。共识区(多源一致标注"外部共识")、分歧区(互相矛盾标注"外部分歧",分歧往往指向尚未定价的隐性影响)、独见区(仅我的判断标注"独立于共识",需更重证据)。
输出格式:
关键分歧:[一句话概括核心争论]
多方逻辑:[论据] | 代表声音:[机构/观点引用]
空方逻辑:[论据] | 代表声音:[机构/观点引用]
裁决标准:[什么数据/事件能证明哪边是对的]
当前定价:[市场当前隐含了哪一方的判断]
示例(7/23 美股):关键分歧:AI 军备竞赛是价值创造还是价值毁灭?多方逻辑:云收入 +82%、AI 产品全线爆发。空方逻辑:FCF 转负、capex 远超折旧、ROI 时间线不明确。裁决标准:未来 2-3 个季度 AI 业务能否贡献正向经营利润。当前定价:市场正在从"多方定价"向"空方定价"切换。
步骤 D:收敛输出
D1 传导映射 + 闭环验证
目标:把归因结论映射到可观测的验证路径。
三条抽象传导链(每个事件至少映射一条,最多三条):
| 传导链 | 传导机制 | 典型时长 | 观测指标 |
|---|---|---|---|
| 链 A 情绪链 | 事件 → 情绪 → 风险偏好 → 资金行为 → 价格 | 1-3 日(冲击);1-2 周(叙事转变) | 成交量变化率、封板率、融资买入占比、VIX、舆情情绪 |
| 链 B 结构链 | 事件 → 基本面预期 → 盈利预测 → 估值重定价 → 资金重配 | 1-3 月(确认);3-6 月(重建) | 分析师预测修正、行业 PMI、产能利用率、库存周期 |
| 链 C 利率/流动性链 | 事件 → 利率预期 → 折现率 → 资产重定价 → 跨资产轮动 | 即时-数日(冲击);数周-数月(周期) | 十债收益率、DR007/Shibor、北向资金、中美利差 |
闭环验证:每条链必须嵌入"归因正确时应该看到什么 / 归因错误时应该看到什么 / 验证窗口"。验证窗口精确到具体时点(如"次日开盘 30 分钟""连续 3 个交易日的北向流向"),不用"T+N 日";验证窗口到达时数据不支持归因,标注"归因需修正"。
跨市场板块映射(涉及跨市场传导时必须输出):
| 源市场信号 | 目标市场映射板块 | 方向判断 | 映射逻辑 |
|---|---|---|---|
| [具体标的/板块变动] | [对应的 A 股板块] | 承压/偏多/中性 | [传导逻辑] |
板块独立性判断:目标板块当日方向与源市场映射相反,说明以内生驱动为主、外部映射失效,给予更高权重,标注"独立性确认"。历史参照:必须引用至少一个近期相似场景案例,无参照标注"首次出现/无历史可比案例"。
D2 输出模式
报告模式(HTML,默认交付物):每次分析默认产出单文件 HTML 专业归因报告。对话回复同时给出核心判断与归因摘要,完整报告以 HTML 文件交付。数据即 JSON:分析产出直接按 scripts/render_report.py 字段组织(title/confirm_level/analysis_time/core_judgement/timeline/anchor_ts/anchor_cs/factors/indep/resonance/anti/debate/judge/map/residual/version/footer_note),分析完成 = 数据完成,一步渲染。
执行步骤:
1. 完成步骤 A-C 分析,产出结构化数据(即报告 JSON 字段)
2. python scripts/render_report.py <数据.json> <输出.html> 渲染
(或直接调 render_html(data, template) 编程式渲染)
3. python scripts/check_report.py <输出.html> 校验占位符完整性(返回 0 通过)
4. 用 present_files 交付
报告硬性规范:红利好绿利空(中国惯例)、主导因子加「主导」徽章、证据标注 [已验证]/[推断]、残余清单必留、边界声明必留(不构成投资建议、只做归因不做影响推演)。
报告结构与四步流水线对齐:模板 8 个区块按步骤编号并带步骤徽章,报告阅读顺序即分析流程:A1 时间线 / A2 锚定(步骤 A)→ B1 因子分解 / B2 独立性+共振(步骤 B)→ C1 反叙事 / C2 关键分歧(步骤 C)→ D1 传导映射 / D2 残余清单(步骤 D)。CSS 已内置 step-A/B/C/D 四色徽章样式。
对话模式(用户明确只要快速结论,或报告无法交付时):完整叙事分析,约 80-150 行。结构:核心判断 → 盘面 → 因果链 → 反叙事 → 关键分歧 → 判断+验证。
调用模式(被其他 skill 调用):压缩至 10-25 行,像一个分析师被老板问话时的回答,核心要素不丢。
共通要求:
- 结论前置,第一句就是核心判断
- 残余不确定性清单必出,不阻塞输出:正反分歧未化解项、信息真空、时间未确认项全部列入,宁可多写一条不假装全知
- 隐藏分析框架:不展示因子分解、独立性检查、共振计算、反叙事搜索的推导过程。框架是生产端工具,用户只关心结论和依据。被追问时再展开
- 人味输出:拒绝 AI 腔
D3 输出前检查与闸门(强制)
反身性检查:核心结论若被广泛传播会否强化当前趋势?是否存在自我实现风险?机构观点引用是否有选择偏差?若 1、2 均"是",报告末尾标注"[反身性风险]"。
5W1H 覆盖:What(现象含标的/幅度/时间)、Why(因果链显性化)、When(五个时间要素全标注)、Where(跨市场标注时区)、Who(交易主体分析)、How(至少一条传导链附闭环验证)。
论据真实性:核心数据在输出时点仍有效?关键数据点能说清"谁说的、什么时间说的"?推断是否标注 [推断]?反叙事搜索是否执行?
时间因果序:每个"因为 X 所以 Y"X 是否早于 Y?同日多事件是否先排时间线?"导火索"是否只用于最早触发事件?跨市场时区是否换算统一?
逻辑一致性:因子分解与交叉叠加使用一致?共振强度与传导映射标注一致?"我判断"是否基于前文分析?残余清单风险是否来自无法验证环节?
输出闸门(twu-output-guard standard 档):①时间线审计(事件按北京时间排序,因果箭头只允许早→晚);②反身份扫描(对照 negative-bank.md 数据类红线 1-5);③替代解释(归因结论前确认已排除强替代解释);④checker.py 硬校验(违规打回)。执行方式见 ~/.workbuddy/skills/twu-output-guard/SKILL.md。
D4 写作风格
硬规则(任何模式通用):禁用词(值得注意的是/综上所述/在某种程度上/赋能/抓手/闭环/毋庸置疑/显而易见/基于以上分析/我们认为/可能影响/值得关注/有待观察);禁用破折号;禁用因子编号式展开/公文标题/大段连续表格;强制第一人称判断、明确态度词;叙事结构:核心判断 → 盘面 → 因果链 → 反叙事 → 关键分歧 → 判断+验证;专业口吻:判断可用口语、归因必须用术语。
完整写作准则见 references/analyst-voice.md(冲突时以它为准),示例见 references/writing-examples.md,模板见 references/templates.md。
参数校准
因子粒度:简单事件 2-3 个因子,中等 3-5 个,复杂 4-6 个。超过 6 个回检噪音因子;每个因子必须回答独立的"为什么",回答同一个"为什么"则合并;单个标的涨跌不单独成因子,除非是指数权重股带动板块级反应。
信号强度阈值(按标的类型):
| 标的类型 | 高强度 | 中等强度 | 低强度 |
|---|---|---|---|
| 指数(上证/纳指等) | >1.5% | 0.5%-1.5% | <0.5% |
| A 股个股 | >5% | 2%-5% | <2% |
| 美股个股 | >5% | 2%-5% | <2% |
| 板块/行业ETF | >2% | 0.8%-2% | <0.8% |
| 汇率 | >0.5% | 0.2%-0.5% | <0.2% |
| 债券收益率 | >10bp | 5-10bp | <5bp |
跨资产联动加分:因子同时触发汇率、商品、债券联动,信号强度在原判定基础上升一档。
降级模式:有限归因
触发条件(任一):信息层少于 2 条独立来源;数据层无法获取量价关系或资金流向;事件本身信息源单一且未确认。
降级输出:标题加"[有限归因]"前缀;说明哪些阶段因信息不足被跳过;不确定环节提升到正文优先列出;明确标注"以下分析基于有限信息,结论置信度低"。保留:现象回放(能做多少做多少)、因子分解(数量可减到 1-2 个)、反叙事(基于已有信息)、残余清单(必做)。
降级模式不等于不分析。它的作用是明确告诉读者:这个归因的边界在哪里。
核心规则速查
P0(违反即失控)
- 时间上下文必须解析(五要素)
- 事件位置必须锚定(时序 + 截面),锚定错位禁止归因
- 论据必须先于结论,无数据标注推断
- 输出前检查必须执行(5W1H/论据/时序/逻辑/反身性/闸门)
- 写作风格高于模板
- 因子必须拆到"含义"层,给出叙事级判断
- 因子必须标注信号强度(高/中/低)
- 交叉叠加前必须做独立性检查
- 必须搜索反叙事,找不到写"未发现"
- 反叙事按效率约束收敛(3 轮/5 条),未化解入残余清单
- 只做归因不做影响推演
- 传导链必须带闭环验证
- 共振强度用启发式规则计算
P1(质量底线)
- 数据与新闻打架以数据为准
- 信息真空标注"无法验证",证据不足启用降级
- 传闻驱动标注"未确认信息源"
- 每个结论标注推理链路(验证过/推断/无法验证)
- 收盘价与盘中极值区分,数据冲突标注来源
- 因子总数 ≤6,超过说明理由
- 数据标注时间戳,禁用"当前""目前"
- 外部观点对照必做(≥3 独立来源,≥1 行为证据类)
P2(锦上添花)
- 与主流卖方观点对比,标注共识/分歧
- 报告正文前输出核心摘要(3-5 行)
- 识别关键分歧
- 跨市场分析引用历史参照
- 输出前执行反身性检查
- 叙事提炼一句话总结市场学到什么
- 调用模式压缩至对话模式 30-50%
与其他 skill 的分工联动
与 twu-event-impact 的分工
| 维度 | twu-causal-chain | twu-event-impact |
|---|---|---|
| 方向 | 向后归因 | 向前推演 |
| 核心问题 | 为什么发生 | 会怎样发展 |
| 输出 | 因果链 + 闭环验证 | 影响矩阵 + 论证 + 残余不确定性 |
| 联动方式 | 归因结论的事实部分(主导因子、传导链)可被 event-impact 引用为锚定信息(可选) | 推演中识别出的短期市场反应,如需要解释可转回本技能(由用户单独发起) |
两者独立可跑,职责互不重叠:本技能解释过去,event-impact 推演未来。本技能不接受影响推演任务,用户提出"这个事件会有什么影响/对谁影响大"类问题时,转出至 twu-event-impact,不做降级承接。
与 evening-review 联动
- L0 全球联动:隔夜美股/大宗/外汇变动对 A 股传导 → 用本框架的传导映射(链 C + 板块映射表 + 闭环验证)
- L4 消息驱动:当日催化事件 → 用本框架的因子分解 + 独立性检查 + 交叉叠加
联动方式:evening-review 执行 Phase 3(AI 综合分析)时,对 L0 和 L4 块显式调用本 skill 的框架,输出复用本 skill 的模板。
依赖
- 数据:westock-data / neodata-financial-search(行情、资金、北向、财务)
- 信息:WebSearch(新闻、舆情、机构观点)
- 渲染:scripts/render_report.py(报告 HTML 渲染)、scripts/check_report.py(占位符校验)
- 无额外 Python 依赖:核心分析由 AI 执行,脚本仅做渲染与校验