mcpField
A
adverse-selection-prior

adverse-selection-prior

github.com/lyndonkl其他18746 次安装9 周前更新
代码仓库

关于 adverse-selection-prior

adverse-selection-prior 是评估收到的交易或其他提议是否可能对提议方有利的技能。它结合提议类型、表面公平度、信息差和对方类型,计算先验概率及供下游使用的 EV 折扣。

主要功能

  1. 01按提议类型设定基准先验
  2. 02评估提议表面公平度
  3. 03衡量提议方的信息优势
  4. 04结合对方行为类型调整先验
  5. 05输出 EV 折扣与复核提示

适用场景

  1. 01评估奇幻体育交易提议
  2. 02审查其他团队弃置的球员
  3. 03分析主动发来的职位或并购提议

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/lyndonkl/claude --skill adverse-selection-prior

安装后在 Claude Code 中输入/adverse-selection-prior确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

resources/
methodology.md
template.md
resources/evaluators/
rubric_adverse_selection_prior.json

详细介绍

逆向选择先验

目录

示例

场景:我们收到一份幻想体育交易提议。对手(归类为 active 原型)用一名明星击球手(对方一侧)换我们两名中档击球手(我方一侧)。表面上看,这笔交易大致公平——我们的自有预测模型认为这笔交易对我们有 +3% 的 EV。

输入:

  • offer_type:trade
  • proposer_archetype:active
  • offer_symmetry_score:72(看起来公平,对我们略有利)
  • proposer_info_asymmetry:55(中等——我们没有他们可能掌握的终结者消息,但也没有公开的重大消息)

步骤 1 —— 按提议类型设定基础先验:

  • 收到的交易提议基础先验 = 0.40(低于 50%,因为是他们主动提出的)。

步骤 2 —— 对称性调整:

  • offer_symmetry_score = 72 > 70 的阈值 -> +0.07。
  • 当前先验:0.47。

步骤 3 —— 信息不对称调整:

  • proposer_info_asymmetry = 55(低于 60 的阈值,但并非微不足道) -> -0.05。
  • 当前先验:0.42。

步骤 4 —— 原型调整:

  • active 原型 -> 他们在提出交易前做过分析 -> -0.05。
  • 最终 prior_ev_probability:0.37。

步骤 5 —— 建议的调整(EV 折减):

  • 先验为 0.37(中性值为 0.50)。映射为乘法折减系数。
  • recommended_adjustment = 0.88(对我们自己的预测应用 12% 的 EV 折减)。
  • 我们的模型给出 +3% 的 EV;折减后:1.03 x 0.88 = 0.907 -> 实际预期收益为负 9.3%。

步骤 6 —— 贝叶斯推理: “这份提议由活跃交易者提出。他们可以提出任意交易,也可以不交易,但他们选择了这笔交易——这是对他们有利的 +EV 的有力证据。表面对称性(72)有所抵消,但中等程度的信息不对称(55)和善于分析的原型使先验降至 0.37。应用 12% 的 EV 折减。我们 +3% 的预测调整后变为 -9%;低于接受阈值。”

步骤 7 —— 覆盖提示:

  • “如果终结者消息在过去 48h 内公布,而我们尚未查看新闻源,那么信息不对称程度实际上为 85+;请以 asymmetry=85 重新运行(先验降至约 0.22)。”
  • “如果我们能独立确认这名明星击球手没有未公开的伤病或停赛情况,那么对称性实际上为 80+;请以 symmetry=85 重新运行(先验升至约 0.44)。”
  • “如果这是一个重复博弈伙伴,我们已与其合作 5+ 次,且他们从未提出过 -EV 交易,那么其原型实际上会转向 'good-faith',基础先验上调 +0.05。”

输出约定:

{
  "prior_ev_probability": 0.37,
  "recommended_adjustment": 0.88,
  "bayesian_rationale": "Active trader selected this offer from all possible offers they could have made -- strong signal it is +EV for them. Surface symmetry (72) partially offsets, but moderate info asymmetry (55) and analytical archetype push prior below 0.40.",
  "override_hints": [
    "If closer/injury news broke in last 48h, asymmetry jumps to 85+; re-run.",
    "If we can independently confirm the star has no hidden issue, symmetry rises to 85; re-run.",
    "If repeated-game partner with cooperation history, base prior rises by +0.05."
  ]
}

工作流

复制此清单并跟踪进度:

Adverse Selection Prior Progress:
- [ ] Step 1: Identify offer_type and set base prior
- [ ] Step 2: Collect proposer_archetype from opponent classifier
- [ ] Step 3: Score offer_symmetry (0-100) from surface analysis
- [ ] Step 4: Score proposer_info_asymmetry (0-100)
- [ ] Step 5: Apply adjustments to produce prior_ev_probability
- [ ] Step 6: Convert prior to recommended_adjustment (multiplicative haircut)
- [ ] Step 7: Write bayesian_rationale and override_hints
- [ ] Step 8: Validate against rubric

步骤 1:识别提议类型并设定基础先验

对收到的提议进行分类。不同提议类型的基础先验不同,因为对手受到的选择压力各不相同。基础先验表请参阅 resources/template.md。

  • trade -> 基础先验 0.40(主动选择;由他们撰写提议)
  • waiver_claim_dropped_by_other -> 基础先验 0.42(他们选择放弃该球员;其选择性弱于交易)
  • free_agent_pickup_available -> 基础先验 0.48(无人认领;可能只是没人注意到,逆向选择较弱)
  • counter_offer -> 基础先验 0.38(他们拒绝了我们的首次提议并拟定反提议——选择性更强)
  • generic -> 基础先验 0.40(上下文未知)

步骤 2:收集提议方原型

从对手分类器中读取对手原型(如果可用),或自行估算。完整调整表请参阅 resources/methodology.md。

  • active -> 在出价前已进行分析 -> archetype_delta = -0.05
  • expert -> 选择压力最强 -> archetype_delta = -0.08
  • dormant -> 可能未深入分析便点击 -> archetype_delta = +0.08
  • frustrated -> 情况复杂(恐慌抛售还是暗中筹划) -> archetype_delta = 0.0(但标记出来,逐案审查)
  • unknown -> 中性 -> archetype_delta = 0.0

步骤 3:评估报价对称性

使用我们自己的估值模型,计算 offer_symmetry_score(0-100),衡量从表面上看报价有多公平。

  • 0-30:明显有利于对方(较少见;通常带有掠夺性)
  • 30-70:不对称,但尚属合理
  • 70-100:表面上看公平或略微有利于我们
  • 应用调整:如果 offer_symmetry_score > 70,则加上 +0.05 到 +0.10(分数高于 85 时取较高值)
  • 如果 offer_symmetry_score < 30(且仍未明显带有掠夺性),标记为“好得令人难以置信”——进行调查

步骤 4:评估提议方的信息不对称性

估算 proposer_info_asymmetry(0-100)——他们是否可能掌握我们不知道的信息?

  • 检查近期消息(伤病、停赛、终结者角色变化、阵容调整、管理层评论)
  • 检查公开信号(阵容构建是否暗示他们知道即将发生的交易、DFA 观察名单、左右打席安排变化)
  • 0-30:公开信息对等(双方都了解所有相关信息)
  • 30-60:差距较小(他们可能关注了我们漏看的球队随队记者)
  • 60-100:差距显著(刚发布消息,时机近似知情人士)
  • 应用调整:如果不对称性 > 60,则减去 0.10 到 0.20(分数高于 80 时减得更多)

步骤 5:应用调整,得出先验概率

将基础先验概率与所有增量合并。推导过程见 resources/methodology.md。

  • 从步骤 1 的 base_prior 开始
  • 应用步骤 3 的 symmetry_delta
  • 应用步骤 4 的 asymmetry_delta
  • 应用步骤 2 的 archetype_delta
  • 将最终结果限制在 [0.10, 0.70] 范围内——超出此范围表示规范存在错误
  • prior_ev_probability = 限制范围后的总和

步骤 6:将先验概率转换为建议调整值

将先验概率转换为乘数形式的 EV 折减值,下游使用方可将其应用于自己的 EV 计算。映射关系见 快速参考。

  • 如果先验概率 >= 0.50:recommended_adjustment = 1.00(不折减;罕见情况)
  • 如果先验概率 = 0.45:recommended_adjustment = 0.95
  • 如果先验概率 = 0.40:recommended_adjustment = 0.90
  • 如果先验概率 = 0.35:recommended_adjustment = 0.85
  • 如果先验概率 <= 0.30:recommended_adjustment = 0.80(大幅折减;强烈的逆向选择信号)
  • 下游使用方将自己的 EV 乘以此系数:adjusted_EV = own_EV x recommended_adjustment

步骤 7:撰写理由和覆盖提示

生成字符串输出,使先验概率可供审查。

  • bayesian_rationale:用 2-4 句话说明基础先验概率、影响最大的两项调整和结论
  • override_hints:提供 2-5 条条件语句,格式为“如果 X,则将 Y 调整为 Z 后重新运行”
  • 提示必须可执行——每条都应指出一个具体输入,且调整后会使先验概率改变 >= 0.05

步骤 8:根据评分标准验证

依据 resources/evaluators/rubric_adverse_selection_prior.json 对输出进行评分。最低标准:平均分达到 3.5 或以上。

常见模式

模式 1:休眠经理的交易提议(先验概率升至 0.50 附近)

  • 信号:对方过去 30 天内进行的阵容调整少于 3 次;类型 = dormant
  • 解读:对方可能只是随手点击,没有经过分析;通常会导致对方主动提出的交易存在逆向选择的筛选压力较弱
  • 调整:archetype_delta = +0.08;如果对称性较高,先验概率可接近 0.50
  • 建议调整值:0.95(仅折价 5%)
  • 领域示例:并购中不再投入精力的卖方(创始人退休,未做尽职调查)、不了解情况却大量发送工作邀约的招聘人员、以低于市场价出售二手商品的遗产清算人

模式 2:专家交易者的提议(先验概率降至 0.25 附近)

  • 信号:对方是公认的精明交易者——能高效赢得拍卖,交易频繁且获利;类型 = expert
  • 解读:选择压力最强。对方分析过这笔提议以及其他可能的提议;之所以选择这笔,正是因为它对他们来说最有利(+EV)
  • 调整:archetype_delta = -0.08;即使没有明确消息,不对称性也很可能偏高
  • 建议调整值:0.80-0.85(大幅折价)
  • 领域示例:主动型投资者提出收购你的持仓(他们发现了你错过的价值)、量化基金竞购你的非流动性持仓、顶级招聘人员推荐一个职位(该职位很可能有隐藏的不利因素——你是他们的备选方案)

模式 3:沮丧/恐慌抛售者的提议(情况不一;需具体判断)

  • 信号:对方损失惨重、交易受情绪影响;类型 = frustrated
  • 解读:分两种情况——(a)确实因情绪失控而恐慌抛售(对我们有利,+EV),或(b)利用沮丧情绪作掩护的策略(对我们不利,-EV)
  • 调整:archetype_delta = 0;需要额外信号(近期重大亏损 + 聊天/消息语气)来判断
  • 建议调整值:默认 0.90;确认是恐慌抛售时可升至 1.05,怀疑是策略时可降至 0.80
  • 领域示例:并购中的困境卖方(因破产而出售)、刚入职就“甩掉”工作的求职者(为何这么快离职?)、离婚期间按低价出售物品的车库甩卖

模式 4:主动发来的工作邀约或并购接洽

  • 信号:你没有表示有意求职或出售,对方就发来了邀约
  • 解读:他们从大量候选对象中选中了你。为什么偏偏是你?要么(a)你确实稀缺且匹配(+EV),要么(b)你是备选方案,而职位/交易存在缺陷
  • 调整:base_prior 0.40;symmetry_delta 取决于表面匹配度;asymmetry_delta 取决于你能否对职位/收购目标开展尽职调查
  • 建议调整值:0.85-0.95
  • 覆盖规则:如果你能通过非正式渠道确认有首选候选人且对方已将其排除,先验概率还要进一步降低

模式 5:其他队伍放弃球员

  • 信号:其他队伍放弃一名球员;该球员现在可以被认领
  • 解读:与交易相比,选择性较弱(放弃球员的队伍并没有因为专门向我们提出交易而获得好处),但仍存在逆向选择——他们判断该球员不值得占用一个阵容名额。被放弃球员的平均水平低于同名球员的平均水平
  • 调整:base_prior 0.42(略高于交易);放弃球员一方的类型影响较小
  • 建议调整值:0.92(轻微折价)
  • 领域示例:二手车在经销商拍卖中被弃置、股票在强制清算中被抛售、进入求职市场的前员工

约束

  1. 收到的报价的基础先验概率始终低于 0.50。这是柠檬市场洞见的核心。如果你的先验概率高于 0.50,说明你要么 (a) 错误指定了行为类型(例如,极为对称的休眠型可以接近但很少超过 0.50),要么 (b) 忽略了选择压力。请仔细检查。

  2. “看起来公平” = “可能有问题”。提出交易的对手方,是从所有可能的交易中挑选了这笔交易。从逆向选择的角度看,表面公平的报价是最坏情况,因为他们有许多看起来公平的选项,却选了对自己最有利的那一个。

  3. 不要重复计算调整。如果你已经根据已知信息调整了自己的 EV(例如,因为知道某位球员受伤而降低了对他的估值),就不要再把这条信息视为不对称信息并据此降低先验概率。不对称信息指的是对方知道而你不知道的信息。

  4. 将先验概率限制在 [0.10, 0.70] 范围内。超出此范围的先验概率几乎总是规格错误。0.05 的先验概率意味着几乎可以确定这是一笔掠夺性报价,即使是专家也很少如此。0.75 的先验概率则意味着我们应该接受每一笔报价,这与选择论相矛盾。

  5. 行为类型的信号来自行为,而不是自我描述。声称自己是“休闲玩家”的对手方,如果已经提出过 40 次弃用球员申请并赢得 3 次竞价战,那就不是休眠型。应根据观察到的行为判断类型。

  6. 必须综合多个信号来判断恐慌抛售。“他们看起来很沮丧”不足以提高先验概率。至少需要以下信号中的两项:近期遭遇重大连败、消息语气方面的证据、明显的情绪化交易(对近期表现火热的球员出价过高)、公开抱怨联盟。

  7. 重复博弈中的声誉会影响先验概率。如果你与这个对手方合作过 5 次以上,且对方从未发送过负 EV 报价,则与行为类型无关的基础先验概率会上调约 0.05。如果对方以前发送过掠夺性报价,则基础先验概率下调约 0.05。应跟踪每位对手方的历史记录。

  8. 覆盖提示必须具体且可执行。“做更多研究”不是提示。“如果球队的终结者本周被撤下这一角色,请用 asymmetry=85 重新运行”才是可执行的提示。

  9. 建议的调整方式是乘法,而非加法。下游使用方会应用 adjusted_EV = own_EV x recommended_adjustment。不要输出加法式折扣——当 own_EV 接近零或为负数时,这会导致问题。

  10. 此技能生成的是先验概率,而不是结论。下游决策逻辑(接受/还价/拒绝)应由使用方技能(例如 mlb-trade-analyzer 或 M&A 决策 Agent)处理。此技能只输出先验概率和折扣系数。

快速参考

按报价类型划分的基础先验:

报价类型基础先验原因
trade0.40主动选择;对方提出了报价
waiver_claim_dropped_by_other0.42对方放弃了它;其选择性弱于有针对性的交易
free_agent_pickup_available0.48选择性较弱;可能只是疏忽而无人认领
counter_offer0.38选择性更强——对方拒绝了首个报价,并拟定了这份报价
generic0.40上下文未知时的默认值

类型调整:

类型变化值解释
expert-0.08选择性最强;对方从众多报价中选中了它
active-0.05提出报价前进行过分析
frustrated0.0(标记)情况复杂:恐慌抛售(+)与布局(-);需要子信号
dormant+0.08对方可能未经分析就点击了
unknown0.0中性

对称性调整(基于 offer_symmetry_score):

分数变化值
85-100+0.10
70-85+0.05 至 +0.07
30-700.0
< 300.0(并标记为“好得令人难以置信”)

不对称性调整(基于 proposer_info_asymmetry):

分数变化值
0-300.0
30-60-0.03 至 -0.05
60-80-0.10 至 -0.15
80-100-0.15 至 -0.20

先验到调整值的映射:

prior_ev_probabilityrecommended_adjustment解释
>= 0.501.00不折价;对收到的报价而言并不常见
0.450.95轻度折价
0.400.90标准折价
0.350.85中度折价
0.300.80大幅折价——强烈的逆向选择
<= 0.250.75怀疑存在掠夺性行为——默认拒绝

输出约定:

prior_ev_probability: float in [0.10, 0.70]
recommended_adjustment: float in [0.75, 1.00]
bayesian_rationale: string (2-4 sentences)
override_hints: string[] (2-5 conditional statements)

关键资源:

所需输入:

  • offer_type(枚举:trade | waiver_claim_dropped_by_other | free_agent_pickup_available | counter_offer | generic)
  • proposer_archetype(枚举:active | dormant | frustrated | expert | unknown)
  • offer_symmetry_score(整数,0-100)
  • proposer_info_asymmetry(整数,0-100)

生成的输出:

  • prior_ev_probability(浮点数,0-1,收到的报价基线 < 0.5)
  • recommended_adjustment(浮点数,乘数因子)
  • bayesian_rationale(字符串)
  • override_hints(字符串数组)

评论

支持 Markdown