mcpField
M
mlb-faab-sizer

mlb-faab-sizer

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

关于 mlb-faab-sizer

mlb-faab-sizer 是用于 MLB fantasy 棒球的 FAAB 出价技能,结合球员价值、球队需求、角色确定性和赛季进度制定建议。它将赢家诅咒折价与首价出价调整委托给专门的同级技能,并应用棒球场景的预算限制。

主要功能

  1. 01按棒球因素计算基础估值
  2. 02区分共同价值与私人价值
  3. 03委托拍卖估值与出价调整
  4. 04按对手画像估算竞价人数
  5. 05应用预算与角色护栏
  6. 06输出建议出价及理由

适用场景

  1. 01为新秀升上大联盟估算 FAAB 出价
  2. 02评估更换终结者后的竞价
  3. 03依据球队位置需求调整球员估值

安装

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

$npx skills add https://github.com/lyndonkl/claude --skill mlb-faab-sizer

安装后在 Claude Code 中输入/mlb-faab-sizer确认已加载。

包含的文件

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

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

详细介绍

MLB FAAB 出价计算器

目录

委派链

此技能是一个棒球专用编排器,不会直接计算拍卖数学。它会组合两个与领域无关的同级技能:

步骤执行方职责
1此技能根据 Yahoo 调整后的预测、位置适配度、角色确定性、紧迫性、赛季节奏(结合联盟通胀校准)计算 base_value
2此技能将目标归类为 common_value / private_value / mixed
3auction-winners-curse-haircut返回 adjusted_valuation(对共同价值进行贝叶斯折价)
4此技能根据对手资料估算 N
5auction-first-price-shading返回 shaded_bid(((N-1)/N) + 分布 + 风险调整)
6此技能应用棒球防护规则(4 月 40%、投机 20%、$1 底价、角色确定性底线)
7此技能输出 faab_rec_bid、faab_max_bid,并在理由中注明两项委派

不变量:此技能绝不会直接计算 (N-1)/N 或共同价值折价。对这些基本机制的任何更改都应在同级技能中进行。

示例

场景:Roki Sasaki 获得升上大联盟的机会,很可能进入 Dodgers 轮值。剩余 $100 FAAB,处于第 4 周。

  1. base_value(此技能):28 x 0.70 x 0.65 x 1.2 x 0.7 = $10.70
  2. 归类:common_value(热门新秀)。
  3. 调用 auction-winners-curse-haircut,参数为 (raw=10.70, type=common_value, N=6, dispersion=60) -> adjusted_valuation = $7.39,折价 31%。
  4. 估算 N:6 名对手需要先发投手且有预算。
  5. 调用 auction-first-price-shading,参数为 (true_value=7.39, N=6, dist=log-normal, risk=0.2, budget=100) -> shaded_bid = $7,折价系数为 0.90。
  6. 棒球防护规则:全部通过。
  7. 输出:faab_rec_bid=$7、faab_max_bid=round($7.39 x 0.90)=$7。理由中引用两个同级技能。

完整流程见 resources/methodology.md 和 resources/template.md。

工作流

FAAB Sizing Progress:
- [ ] Step 1: Collect input signals and budget state
- [ ] Step 2: Compute base_value (baseball layering)
- [ ] Step 3: Classify value_type
- [ ] Step 4: Invoke auction-winners-curse-haircut -> adjusted_valuation
- [ ] Step 5: Estimate N from opponent profiles
- [ ] Step 6: Invoke auction-first-price-shading -> shaded_bid
- [ ] Step 7: Apply baseball guardrails
- [ ] Step 8: Emit signal + rationale with delegation trace

步骤 1:收集输入(缺少时询问调用方):

  • acquisition_value(美元,1-100 的量表)——来自 mlb-player-analyzer
  • positional_need_fit(0-100)——来自 mlb-waiver-analyst
  • role_certainty(0-100)——来自 mlb-player-analyzer
  • 剩余 FAAB、周数、情况标签

步骤 2:计算 base_value(棒球特定分层):

base_value = acquisition_value
           x (positional_need_fit / 100)
           x (role_certainty / 100)
           x urgency_multiplier          [0.7 - 1.4]
           x season_pace_multiplier      [0.6 - 1.4 after inflation calib]

紧迫度:1.4(终结者丢掉位置 / 新秀被提拔);1.2(出现新机会);1.0(稳定);0.8(热潮);0.7(猜测)。

节奏基数:0.6(4 月第 1-4 周)、1.0(5-6 月)、1.2(7-8 月)、1.4/0.5(9 月争冠队 / 被淘汰队)。然后乘以 tracker/faab-log.md 中的 league_inflation_ratio(参见 methodology.md)。至少需要 5 条有效记录;否则跳过校准并标记 low_calibration_data。

步骤 3:分类 value_type:

  • common_value:头条新秀、已点名的终结者、刚从伤病名单(IL)复出的明星球员(所有球队掌握相同信息)
  • private_value:保险替补、适合特定阵容的左右打者、针对特定类别的放弃策略(只有我们以这种方式评估)
  • mixed:记录共同价值 / 私有价值的权重

不确定时默认归为 common_value(较保守;会触发折减)。

步骤 4:调用 auction-winners-curse-haircut——依据有竞争意向的竞标者,而非全部潜在竞标者:

inputs = { raw_valuation: base_value, value_type, n_informed_bidders: n_contesters,
           signal_dispersion: 40 (default) }

n_contesters = 预计会对这个特定目标出价的现实竞争对手(见步骤 5)。**此处不要传入全部可能参与竞标的队伍。**赢家诅咒折减(步骤 4)和第一价格竞价压价(步骤 6)必须依据不同的数量——否则同一个“竞标者众多”信号会被重复计算,导致我们系统性地对竞争激烈的终结者 / 提拔球员出价不足,使报价仅为真实价值的约 58%(2026-06-02 审计,已验证的 mlb-faab-sizer 重复计算问题)。若 n_contesters <= 1,该目标实际上没有竞争者 → 折减短路为 0(按私有价值处理)。使用 adjusted_valuation;保留 classification_rationale。离散度默认值:新秀为 60,已站稳脚跟的球员为 30,其他情况为 40。

步骤 5:根据对手档案估算两个竞标者数量(它们刻意采用不同数值;只有目标确实竞争激烈时,数值才会趋同):

  • n_contesters(用于步骤 4 的折减)——位置需求 > 50、FAAB > 原始额度的 20%、活跃度 >= 中等,且有具体理由想要这名球员的对手。在我们这个通缩市场中(常见的获胜出价为 $1-2),通常为 1-2,已确认终结者换人时偶尔会达到 3-4。限制在 [0, 6]。
  • N_field(用于步骤 6 的压价)——更广泛的、有可能出价的队伍集合。限制在 [1, 8]。默认值:共同价值的超级明星为 6,角色球员为 3,私有价值为 1-2。

步骤 6:调用 auction-first-price-shading——依据全部潜在竞标者:

inputs = { true_value: adjusted_valuation, n_bidders_estimate: N_field,
           value_distribution: "log-normal" (MLB default),
           risk_aversion: 0.2 (bump to 0.4 for contending September),
           budget_remaining: faab_remaining }

shaded_bid 成为应用保护规则前的 faab_rec_bid。设置 faab_max_bid = round(adjusted_valuation x 0.90)。

步骤 7:应用棒球领域保护规则(见下文)。切勿悄悄违反。

步骤 8:通过 mlb-signal-emitter 输出。面向用户的理由必须说明两个相关技能各自的用途。使用 评分标准 验证。最低 3.5。

常见模式

1. 赛季初的热门共同价值提拔球员:N=5-7,节奏 0.6-0.7,折减约 25-30%,压价约 0.80-0.85。典型建议价为 $5-$12。

2. 私有价值的保险替补:N=1-2,折减=0(短路),压价 0.0-0.5。典型建议价为 $1-$3。

3. 赛季中途终结者换人(共同价值):N=5-8,紧迫度 1.4,折减约 25%,压价约 0.83。典型建议价为 $10-$30。

4. 9 月争冠队的冲刺目标:节奏 1.4,风险规避提高至 0.4,压价约 0.88-0.92。可达到剩余 FAAB 的 40-60%。

护栏

  1. 4 月 40% 上限:第 1–13 周,faab_max_bid ≤ 剩余 FAAB 的 40%。标记 april_40pct_cap_triggered。
  2. 投机 20% 上限:如果 situation=speculation 或 role_certainty<30,上限为 20%。标记 speculation_20pct_cap_triggered。
  3. $1 底价:如果 shaded_bid 四舍五入后为 $0,但 positional_need_fit >= 30,则出价 $1(滚动名单决胜规则)。否则出价 $0,并标记 zero_bid_preservation。
  4. 角色确定性下限:如果 role_certainty < 20,则将 faab_rec_bid 强制设为 $0。标记 role_certainty_floor。
  5. 回归覆盖规则:如果 regression_index < -30,则将 faab_rec_bid 下调 30%。标记 regression_luck_discount。
  6. 变体分歧:倡导方与批评方的出价相差 >30% 时,采用批评方的出价。标记 variant_divergence_applied。
  7. 预算下限(7 月后):如果周数 >= 14 且剩余预算 < $5,标记 budget_floor_near_zero。
  8. 记录决策:每次计算都通过 mlb-decision-logger 记录(包括 $0 出价)。

不要重复执行同级技能的上限规则:auction-first-price-shading 会执行 0.9 x true_value 上限;auction-winners-curse-haircut 会执行 35% 的折损上限。请信任它们。

快速参考

流程:

base_value = acq_value x (pos_fit/100) x (role_cert/100) x urgency x pace_calibrated

adjusted_valuation = auction-winners-curse-haircut(
    raw_valuation=base_value, value_type, n_informed_bidders=N, signal_dispersion)

shaded_bid = auction-first-price-shading(
    true_value=adjusted_valuation, n_bidders_estimate=N,
    value_distribution="log-normal", risk_aversion=0.2, budget_remaining)

faab_rec_bid = round(shaded_bid)          # then baseball guardrails
faab_max_bid = round(adjusted_valuation x 0.90)

必需输入:acquisition_value、positional_need_fit、role_certainty、剩余 FAAB、周数、情境标签、regression_index(可选)。

输出:faab_rec_bid、faab_max_bid、value_type、N、adjusted_valuation、shaded_bid、乘数、护栏标记、面向用户的理由。

同级技能:

  • @skills/auction-first-price-shading/ -- (N-1)/N + 分布 + 风险厌恶
  • @skills/auction-winners-curse-haircut/ -- 贝叶斯共同价值折损

关键资源:

评论

支持 Markdown