关于 auction-winners-curse-haircut
用于估算拍卖赢家诅咒折价的决策支持技能。它依据价值类型、知情竞标者数量和信号离散度调整估值,并要求明确分类与校验输入。
主要功能
- 01区分共同价值、私人价值与混合价值
- 02计算设有上限的估值折价
- 03私人价值估值保持不变
- 04校验输入并生成理由说明
适用场景
- 01调整共同价值拍卖的估值
- 02处理对竞标者有特定价值的标的
- 03比较混合价值拍卖机会
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ lyndonkl/ claude --skill auction-winners-curse-haircut安装后在 Claude Code 中输入/auction-winners-curse-haircut确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
resources/methodology.mdtemplate.mdresources/evaluators/rubric_auction_winners_curse_haircut.json详细介绍
拍卖赢家诅咒折价
目录
示例
场景:竞标者估算目标的价值为 raw_valuation = $30。六位知情竞标者正在竞争。各竞标者的估值存在中等程度的差异(signal_dispersion = 40 out of 100)。目标是广为人知的大宗商品(所有人都采用相似的模型)。
输入:
raw_valuation:30value_type:common_valuen_informed_bidders:6signal_dispersion:40
折价计算:
haircut_pct = min(35, 10 + log(6) x 5 + 40 x 0.2)
= min(35, 10 + 1.792 x 5 + 8)
= min(35, 10 + 8.96 + 8)
= min(35, 26.96)
= 26.96 (clamped below 35 ceiling)
输出:
adjusted_valuation= 30 x (1 - 0.2696) = $21.91haircut_pct= 26.96classification_rationale:「具有 6 位知情竞标者且信号差异中等的共同价值目标。中标有力表明估值过高;适用 Kagel-Levin 实验研究中的 15-30% 区间。」applied:true
对比——私人价值情形:同样的 raw_valuation = $30,但 value_type = private_value(该目标对这位竞标者有独特价值)。折价 = 0。调整后 = $30。applied = false。理由:「不存在信息不对称折价;中标并非负面信号,因为其他竞标者对该目标的估值并不相似。」
工作流
复制此清单并跟踪进度:
Winner's-Curse Haircut Progress:
- [ ] Step 1: Classify value_type (common / private / mixed)
- [ ] Step 2: Validate inputs (range checks, N >= 1)
- [ ] Step 3: Short-circuit for private-value
- [ ] Step 4: Compute haircut_pct via formula
- [ ] Step 5: Apply haircut to raw_valuation
- [ ] Step 6: Emit structured output with rationale
步骤 1:分类 value_type
分类需要作出判断,且必须明确。调用方应传入该值;此技能会根据 resources/template.md 中的决策树验证选择。
-
common_value——由于信息共享且标的数量相同,所有竞标者对目标的估值相似(例如:豁免名单中指定的终结者、头条新闻中的新秀升入大联盟、要约收购中的上市股票、流动性强的大宗商品) -
private_value——由于适配性、互补性或个体偏好等原因,该竞标者对目标的估值明显高于(或低于)其他人(例如:你已拥有的中继投手的替补、适合你阵容的左右打者搭配、紧邻现有房产的房屋) -
mixed——目标既有共享的核心价值,也有私人价值增量(例如:赛季后期 FAAB 认领状态火热的打者,所有人都认同基础预测,但该竞标者有额外的特定类别需求)
步骤 2:验证输入
-
raw_valuation是有限的非负数值 -
value_type是三个允许的字符串之一 -
n_informed_bidders是整数且 >= 1(如果数值异常,例如 50,则限制在上限以内) -
signal_dispersion在 [0, 100] 范围内
步骤 3:对私人价值情形提前结束
如果 value_type == "private_value",则完全跳过公式:
haircut_pct = 0adjusted_valuation = raw_valuationapplied = false
关于提前结束为何正确的贝叶斯原理,请参阅 resources/methodology.md。
步骤 4:计算折价百分比
对于 common_value 目标:
haircut_pct = min(35, 10 + log(N) x 5 + signal_dispersion x 0.2)
min(35, ...) 上限将折价硬性限制在 35%,即使 N 和差异程度极高也不例外。这是因为 Kagel-Levin 的实证估计很少超过 30%;35% 是外部界限。
对于 mixed 目标,进行插值:
mix_common_weight = 0.6 (default; caller may override)
mix_private_weight = 1 - mix_common_weight
haircut_pct = mix_common_weight x (common_value_haircut) + mix_private_weight x 0
关于公式的直觉说明,请参阅 resources/methodology.md(log-N 表示竞争者增多时逆向选择的严重程度随之上升;线性差异项表示竞标者估值的方差)。
步骤 5:应用折价
adjusted_valuation = raw_valuation x (1 - haircut_pct / 100)
步骤 6:输出结构化结果
返回:
{
"adjusted_valuation": <number>,
"haircut_pct": <number in [0, 35]>,
"classification_rationale": "<one-sentence justification>",
"applied": <bool>
}
使用 resources/evaluators/rubric_auction_winners_curse_haircut.json 进行验证。最低标准:平均分 >= 3.5。
常见模式
模式 1:热门共同价值标的,竞标者众多
- 示例:幻想体育 FAAB 中的百大新秀升入大联盟(N=6-8);高关注度事件的预测市场合约;由多家投资银行承接的并购目标
- 典型输入:N 在 [5, 10] 范围内,signal_dispersion 在 [30, 60] 范围内
- 典型折扣:22-32%
- 原因:存在强烈的逆向选择;几乎可以肯定,只有当你是多个相近估值中出价最高的人时才会中标
- 注意事项:不要与第一价格拍卖的压价重复计算——这是两项独立的修正(压价请参见
auction-first-price-shading)
模式 2:私人价值互补品(手铐)
- 示例:你自己的终结者投手的替补中继投手;与你已拥有的土地相邻的土地;只有与你的收藏组合在一起才合适的拼图片
- 典型输入:N = 1-2,value_type =
private_value - 典型折扣:0%(直接跳过计算)
- 原因:不存在逆向选择——中标并不能说明你高估了价值,因为其他人对该标的的估值确实较低
- 注意事项:确保私人价值的判断属实。如果还有三位竞标者也有互补用途,那么它就更接近共同价值
模式 3:赛季末混合型临时认领
- 示例:大家对其预测一致的状态火热的击球手,但他恰好能满足你特定的类别需求;广告拍卖中的关键词,其每次点击费用有一个共同基准,但某位竞标者的转化率会额外提升
- 典型输入:N 在 [3, 5] 范围内,signal_dispersion 在 [20, 40] 范围内,value_type =
mixed,mix_common_weight 约为 0.5-0.7 - 典型折扣:10-18%
- 原因:部分存在逆向选择,部分属于私人价值
- 注意事项:明确估算并记录共同价值与私人价值的比例;如果适用清晰的二元分类,不要默认选择混合型
模式 4:竞标者较少的共同价值标的
- 示例:小型拍卖池中的小众共同价值标的(N = 2)
- 典型输入:N = 2,离散度不限
- 典型折扣:14-18%
- 原因:即使只有 2 位竞标者,共同价值的赢家诅咒仍然存在——中标意味着你的估值高于另一位知情竞标者的估值。不过,由于逆向选择的严重程度随 log(N) 增长,因此折扣仍小于竞标者众多的情况
- 注意事项:不要仅仅因为 N 较低就将折扣设为 0;私人价值需要另行证明估值存在差异
防护规则
-
必须明确分类。 切勿根据其他输入默默推断
value_type。调用方传入该值;此技能负责验证。缺少分类或分类不明确都属于错误,不能使用默认值。 -
私有价值的短路处理是绝对的。 如果调用方声明为私有价值,则折价为零,即使 N 很大也是如此。这是合理的:如果其他人确实认为目标的价值较低,那么他们的出价就不会对你自己的估值提供不利信息。
-
切勿将此折价与另一种赢家诅咒修正叠加。 已经应用贝叶斯出价折减的下游系统(例如 auction-first-price-shading 的 N 竞标者折减)修正的是另一种现象(为获取预期剩余而进行的策略性折减)。可以同时应用两种修正;但每种都不要重复应用。
-
上限为 35%。 Kagel-Levin 的实证范围为 15-30%。35% 的上限为非常大的 N 和高离散度留出了余量,同时避免公式产生荒谬的折扣(例如 80%)。
-
N >= 1。 N = 1 表示竞标者只有一位;
log(1) = 0,因此公式会得出haircut_pct = 10 + signal_dispersion x 0.2。对于真正的买方垄断(没有竞争的知情竞标者),调用方应传入private_value;没有竞争者就不存在逆向选择机制。 -
信号离散度是代理指标,而非测量值。 实际中它很少能直接观测到。可根据以下信息估算:可比拍卖的历史出价差、公共预测系统之间的分歧程度,或公共信息不对称程度。请记录估算依据。
-
混合价值需要显式权重。 不要默默使用 0.6 作为默认值。调用方应说明共同价值与私有价值的占比及其依据。如果无法说明,则应分类为
common_value(保守)或private_value(激进),而非mixed。 -
领域中立的约定。 此技能不了解 FAAB、幻想棒球或任何特定的拍卖环境。调用方应将其领域输入转换为通用的四字段约定;此技能返回通用输出,由调用方负责解读。
快速参考
核心公式:
if value_type == "private_value":
haircut_pct = 0
applied = false
elif value_type == "common_value":
haircut_pct = min(35, 10 + log(N) x 5 + signal_dispersion x 0.2)
applied = true
elif value_type == "mixed":
common_haircut = min(35, 10 + log(N) x 5 + signal_dispersion x 0.2)
haircut_pct = mix_common_weight x common_haircut # default 0.6
applied = true
adjusted_valuation = raw_valuation x (1 - haircut_pct / 100)
折价对照表(common_value,近似值):
| N | dispersion=0 | dispersion=25 | dispersion=50 | dispersion=100 |
|---|---|---|---|---|
| 1 | 10.0% | 15.0% | 20.0% | 30.0% |
| 2 | 13.5% | 18.5% | 23.5% | 33.5% |
| 4 | 16.9% | 21.9% | 26.9% | 35.0%(上限) |
| 6 | 19.0% | 24.0% | 29.0% | 35.0%(上限) |
| 8 | 20.4% | 25.4% | 30.4% | 35.0%(上限) |
| 12 | 22.4% | 27.4% | 32.4% | 35.0%(上限) |
输入约定:
| 字段 | 类型 | 范围 | 必填 |
|---|---|---|---|
raw_valuation | number | >= 0 | 是 |
value_type | string | common_value / private_value / mixed | 是 |
n_informed_bidders | int | >= 1 | 是 |
signal_dispersion | number | [0, 100] | 是 |
mix_common_weight | number | [0, 1] | 仅当为 mixed 时(默认值 0.6) |
输出约定:
| 字段 | 类型 | 范围 |
|---|---|---|
adjusted_valuation | number | [0, raw_valuation] |
haircut_pct | number | [0, 40] |
classification_rationale | string | 一句话 |
applied | bool | 仅当为私有价值时为 false |
关键资源:
- resources/template.md:分类决策树(共同价值与私有价值或混合价值)、示例(Closer = 共同价值;手套搭档 = 私有价值;赛季末状态火热的击球手 = 混合价值)、输入/输出模板
- resources/methodology.md:Kagel & Levin 的实验依据、贝叶斯后验的形式化推导、log-N 与离散度的直观解释、价值类型分类启发式及幻想 FAAB 示例、私有价值为何不折价
- resources/evaluators/rubric_auction_winners_curse_haircut.json:8 项标准的质量评分表