🏛️ 拍卖理论

从英式拍卖到 VCG 机制——如何设计让理性人说真话的定价规则

四种经典拍卖

📊 拍卖类型总览

类型出价方式价格决定经典案例策略复杂度
英式拍卖
(English)
公开递增次高出价者退出时的价格eBay、苏富比低(真话占优)
荷式拍卖
(Dutch)
公开递减第一个接受当前价格者荷兰花卉、美国国债高(何时按?)
一价密封
(First-Price Sealed)
密封一次性最高出价者付自己的出价政府采购、矿权拍卖高(需要策略性低报)
二价密封
(Vickrey)
密封一次性最高出价者付次高出价Google AdWords(早期)低(真话占优)

二价拍卖(Vickrey 拍卖)的精妙

🔑 为什么二价拍卖是最优雅的机制?

William Vickrey 在 1961 年证明了一个惊人的结论:在二价密封拍卖中,每个竞拍者的最优策略就是报出自己的真实估值

直觉:你付的是别人的出价,不是自己的。所以:

Vickrey 因此获得 1996 年诺贝尔经济学奖。

# 二价拍卖模拟:为什么说真话是最优策略 import random class VickreyAuction: """Vickrey(二价密封)拍卖""" def __init__(self, bidders): self.bidders = bidders # {name: true_value} def run(self, bids): """执行拍卖,bids = {name: bid}""" sorted_bids = sorted(bids.items(), key=lambda x: x[1], reverse=True) winner = sorted_bids[0][0] price = sorted_bids[1][1] # 次高出价 return winner, price def analyze_strategy(self, name, true_value, bid): """分析不同出价策略的期望收益""" # 模拟其他竞拍者 others = {k: v for k, v in self.bidders.items() if k != name} other_values = list(others.values()) second_highest = sorted(other_values, reverse=True)[0] if other_values else 0 if bid > second_highest: # 赢了 payoff = true_value - second_highest else: # 输了 payoff = 0 return payoff # 实验:3个竞拍者,真实估值 [100, 80, 60] auction = VickreyAuction({'A': 100, 'B': 80, 'C': 60}) # 策略1:报真话 truthful = {'A': 100, 'B': 80, 'C': 60} winner, price = auction.run(truthful) print(f"真话策略: {winner}赢了,付{price}") # A赢了,付80。A的收益 = 100-80 = 20 # 策略2:A低报到70 lowball = {'A': 70, 'B': 80, 'C': 60} winner, price = auction.run(lowball) print(f"低报策略: {winner}赢了,付{price}") # B赢了!A失去了本可以赚20的机会 # 策略3:A高报到150 highball = {'A': 150, 'B': 80, 'C': 60} winner, price = auction.run(highball) print(f"高报策略: {winner}赢了,付{price}") # A赢了,付80。收益还是20——高报没有帮助! # 结论:在Vickrey拍卖中,偏离真话不会带来额外收益 # 但可能带来损失(低报导致输掉有利的交易)

Google 广告拍卖:GSP

🔍 Google 的广义二价拍卖(GSP)

Google AdWords(现 Google Ads)不是纯 Vickrey 拍卖,而是 GSP(Generalized Second Price)。为什么?

问题背景:搜索广告有多个广告位(第1位、第2位、第3位...),不同位置的点击率不同。不是拍卖一个物品,而是拍卖多个不同价值的物品。

GSP 规则

  1. 每个广告主报一个"每次点击最高出价"
  2. 按出价排序,高者得高位
  3. 第 i 位广告主实际支付的 = 第 i+1 位广告主的出价 + $0.01

关键区别:GSP 不是激励相容的!广告主有动力低报出价来降低成本。但因为 GSP 更简单、更直观,Google 选择了实用而非理论完美。

数据:Google Ads 2024 年收入超过 2400 亿美元,占 Alphabet 总收入的 77%+。GSP 虽然理论上不如 VCG 完美,但在实践中运转良好——证明了机制设计需要在理论优雅性和实际可行性之间权衡。

VCG 机制:多物品的激励相容拍卖

📐 Vickrey-Clarke-Groves 机制

VCG 是 Vickrey 拍卖推广到多物品的情况,由 Clarke (1971) 和 Groves (1973) 完善:

直觉:你支付的是你给别人造成的"外部性"——你的参与让其他人损失了多少福利。如果你没造成损失(别人没受影响),你就不付钱。

拍卖互动模拟

🎮 四种拍卖策略模拟

绿点=你的估值 红线=成交价 蓝点=其他竞拍者

GPU 算力市场应该用什么拍卖?

🖥️ 算力市场的拍卖设计

GPU 算力(尤其是 A100/H100)是一个稀缺资源市场。当前主流定价方式:

云厂商定价模式机制类型
AWSOn-Demand / Reserved / Spot混合:固定价+拍卖
GCPOn-Demand / Preemptible / Spot混合:固定价+拍卖
Lambda Labs固定价一价(无拍卖)
Vast.ai市场竞价类英式拍卖

分析:Spot 实例本质上是一个实时拍卖——你出一个价,如果市场价格低于你的出价,你就拿到资源。价格由供需实时决定,这更接近英式拍卖的"最后一手"。

为什么不用 Vickrey?:算力市场的物品是同质的(一个 H100 小时 = 另一个 H100 小时),Vickrey/GSP 主要用于异质物品(不同位置的广告位)。同质物品市场更适合连续双向拍卖(CDA)。

🎯 拍卖设计的关键问题

  1. 物品是同质还是异质?:同质用连续市场,异质用位置拍卖
  2. 参与者人数?:少→密封拍卖,多→公开拍卖
  3. 信息是否对称?:不对称→VCG(激励相容),对称→英式(信息聚合)
  4. 卖方目标是什么?:收入最大→英式,效率最大→VCG,简单性→一价
  5. 重复博弈还是单次?:重复→策略更复杂,可能串谋