这一讲要回答六个问题:

  1. 拍卖有哪几种?规则怎么影响你的出价?
  2. 为什么在二价拍卖里,说真话是最好的选择?
  3. 为什么在一价拍卖里,你要压低出价?压多少?
  4. 为什么几种拍卖,卖家的期望收入一样(收益等价)?什么时候不一样?卖家为什么有时宁可不卖(保留价)?
  5. 什么是赢者诅咒?怎么避免?
  6. 机制设计:怎么设计规则,让人们说真话?它的限度在哪里?

前面几讲,我们一直在分析别人定好的规则:给定一个市场、一个合同、一场博弈,人们会怎么做。这一讲掉个头:规则由我来设计,我希望人们做什么,需要什么样的规则?这个问题有个名字,叫机制设计(mechanism design)。拍卖是它最成功的例子。

一、卖一幅画

你有一幅画要卖。你不知道每个买家愿意付多少,只知道他们愿付的价格,在一个范围内。

先停一下:你会怎么卖?

你可能想到几个办法:

  • 定一个价。第 14 讲说过,垄断者定价,要知道需求曲线。你现在连需求都不知道:定高了没人买,定低了亏。
  • 让买家报价。这是个好主意:买家自己最清楚愿付多少。可是,第 20、21 讲讲过,他们没有理由说真话。如果你说"出价最高的人,按他的出价付钱",每个人都会想:我报低一点,赢了也能少付。

这就是拍卖要解决的问题:怎么设计出价的规则,让买家的报价既真实,又对卖家有利。 先认识四种最常见的拍卖。

1.1 四种基本拍卖

拍卖 怎么进行 谁赢、付多少
英式(升价) 公开喊价,价格往上涨,一个一个人退出 最后留下的人赢,付的是别人退出时的价格(次高的估值附近)
荷式(降价钟) 价格从高往低降,第一个叫停的人赢 赢的人,付的是他叫停时的价格(也就是他自己的出价)
一价密封 每个人把出价写在信封里,同时交上来 出价最高的赢,付自己的出价
二价密封(Vickrey) 同上 出价最高的赢,付第二高的出价

荷式拍卖的名字,来自荷兰的花卉市场,那里用降价钟拍卖鲜花。

1.2 两种估值

  • 私人价值:这件东西,对每个人的价值,由自己的偏好决定,互不相干。一幅画,你喜欢多少,是你自己的事。
  • 共同价值:这件东西,对所有人价值是一样的,只是大家都不知道它到底值多少,各自有一点自己的估计。一块油田,地下的石油量是一定的,每个人只是做了不同的勘探。

两种情形下,拍卖的结论很不同。前四节讲私人价值,第五节讲共同价值。

二、二价拍卖:说真话

2.1 规则

二价密封拍卖(Vickrey 拍卖,William Vickrey 1961 年在 Journal of Finance,16 卷 1 期提出):每个人交一份密封的出价,最高的人赢,但只付第二高的出价。

初看,这个规则好像对卖家不公平:赢的人少付了。可是,你看这条规则对你意味着什么:

你对这件东西的估值是 V。你的出价,只决定你赢不赢,不决定你付多少(付多少,取决于别人的最高出价)。

所以,你的出价应该是什么?

  • 如果你出价高于 V:当别人的最高出价,在 V 和你的出价之间时,你赢了,但付的价格比你的估值还高,亏。出价高,没有任何好处,因为别人的最高出价低于 V 时,你说真话也赢,付的钱一样。
  • 如果你出价低于 V:当别人的最高出价,在你的出价和 V 之间时,你输了,可是你本来可以赢,并且赚钱(V 减去别人的出价)。
  • 出价等于 V:你赢,当且仅当赢了有赚。

所以,不管别人怎么出价,说真话(出价 = V)都不比别的出价差。这叫占优策略(第 18 讲)。

# 二价密封拍卖:最高出价者赢,付的是"第二高的出价"。你对这件东西的估值是 V = 60。
# other_max 是别人中的最高出价(你不知道)。你出价 bid:
V = 60
def payoff(bid, other_max):
    if bid > other_max: return V - other_max               # 你赢了,付别人的最高出价
    if bid == other_max: return (V - other_max) / 2        # 平局:抛硬币
    return 0                                               # 你输了

print("对每个'别人的最高出价'(0 到 100 的整数),比较「说真话(出价 60)」和「别的出价」:")
for alt in (40, 55, 59, 61, 65, 80):
    better = sum(payoff(V, p) > payoff(alt, p) for p in range(101))     # 说真话更好的情形有几种
    worse  = sum(payoff(V, p) < payoff(alt, p) for p in range(101))     # 说真话更差的情形有几种
    same   = 101 - better - worse
    print(f"  出价 {alt}:说真话更好 {better} 种,更差 {worse} 种,一样 {same} 种")

print(f"\n例子:别人最高出价 65:出价 70 赢了,付 65,亏 {-payoff(70, 65):.0f};说真话输了,得 {payoff(V, 65)}")
print(f"例子:别人最高出价 55:出价 50 输了,得 {payoff(50, 55)};说真话赢了,付 55,赚 {payoff(V, 55)}")
worst = max(payoff(b, p) - payoff(V, p) for b in range(101) for p in range(101))
print(f"\n所有出价、所有情形里,'别的出价'比'说真话'最多多得 {worst}(0 表示:说真话从来不会更差)")

输出:

对每个'别人的最高出价'(0 到 100 的整数),比较「说真话(出价 60)」和「别的出价」:
  出价 40:说真话更好 20 种,更差 0 种,一样 81 种
  出价 55:说真话更好 5 种,更差 0 种,一样 96 种
  出价 59:说真话更好 1 种,更差 0 种,一样 100 种
  出价 61:说真话更好 1 种,更差 0 种,一样 100 种
  出价 65:说真话更好 5 种,更差 0 种,一样 96 种
  出价 80:说真话更好 20 种,更差 0 种,一样 81 种

例子:别人最高出价 65:出价 70 赢了,付 65,亏 5;说真话输了,得 0
例子:别人最高出价 55:出价 50 输了,得 0;说真话赢了,付 55,赚 5

所有出价、所有情形里,'别的出价'比'说真话'最多多得 0.0(0 表示:说真话从来不会更差)
  • 说真话从来不会更差:和任何别的出价比,都有一些情形下说真话更好,没有任何一种情形更差。
  • 例子:别人的最高出价是 65,你把出价抬到 70,赢了,付 65,亏 5;说真话,输了,得 0。别人的最高出价是 55,你把出价压到 50,输了,得 0;说真话,赢了,付 55,赚 5。

2.2 英式拍卖:同样的道理

英式拍卖里,价格往上涨,你什么时候退出?当价格涨到你的估值 V 时:再往上,你赢了也亏;没到 V 就退出,你放弃了本来能赚的机会。最后,估值最高的人赢,付的是第二高的人退出时的价格,也就是第二高的估值。这和二价拍卖的结果一样。

2.3 实验里,人们真的说真话吗

理论预测:二价拍卖里,每个人的出价就是自己的估值。

证据怎么说:Kagel、Harstad 和 Levin 1987 年(Econometrica,55 卷 6 期)的实验室实验发现,二价密封拍卖里,人们持续出价高于估值(过度出价),而英式拍卖(价格时钟)里,价格更接近占优策略的预测。后来 Harstad 2000 年(Experimental Economics)等研究还发现,即使有经验的人,在二价密封拍卖里,也有明显的、持续的过度出价;有过英式拍卖的经验,会让他们在后来的二价拍卖里,更接近占优策略。(这里据后来文献的转述,请以原文为准。)

怎么理解:占优策略对理论家是显然的,对第一次参加的人却不显然。在英式拍卖里,你只需要在价格到你的估值时退出,规则一步一步让你"看见"这个策略;在密封拍卖里,你要自己想通。一个机制"理论上让人说真话",和"实际上人们会说真话",不是一回事。

小结: 二价拍卖:最高出价者赢,付第二高的出价。你的出价只决定赢不赢,不决定付多少,所以说真话是占优策略。英式拍卖的结果与它相同。实验里,二价密封拍卖里人们常常过度出价,升价拍卖更容易让人看到占优策略。

三、一价拍卖:压低出价

3.1 要压多少

一价拍卖里,规则变了:赢的人,付自己的出价。这时,说真话就不行了:如果你出价 = 估值,赢了也没有好处(付的钱等于你的估值)。你必须压低出价,让赢的时候有赚头;但压得越低,赢的概率越小。权衡:赢的好处(估值减出价),和赢的概率。

假设有 n 个竞拍者,估值各自独立,在 0 到 1 之间均匀分布。如果别人都按 (n − 1)/n × 估值 出价,你的估值是 v,出价 b:

期望好处 = (v − b)× 赢的概率

你的最佳出价,就是让别人的出价,也是它的最佳反应:这是第 18 讲的纳什均衡。可以证明,均衡的出价是:

b = (n − 1)/n × v

import random

# 一价密封拍卖:n 个人的估值各自独立、在 0 到 1 之间均匀分布;最高出价者赢,付的是自己的出价。
# 如果别人都按 b(v) = (n-1)/n × v 出价,你估值为 v,出价 b 的期望好处是 (v - b) × 赢的概率:
def expected_gain(v, b, n):
    p_win = min(1.0, b * n / (n - 1)) ** (n - 1)           # 别人每个人的出价都低于 b:他们的估值都低于 b×n/(n-1)
    return (v - b) * p_win

print("你的估值 0.8,别人按 (n-1)/n × 估值 出价,你出价多少最好?(每 0.001 一格找最大)")
for n in (2, 3, 5, 10):
    best = max((i / 1000 for i in range(0, 1001)), key=lambda b: expected_gain(0.8, b, n))
    print(f"  n={n}:最好的出价 {best:.3f}(公式 (n-1)/n × 0.8 = {(n - 1) / n * 0.8:.3f}),好处 {expected_gain(0.8, best, n):.4f};说真话(出价 0.8)的好处是 {expected_gain(0.8, 0.8, n):.4f}")

# 四种拍卖的卖家收入,随机模拟:一价(按均衡出价)、二价(说真话)。英式拍卖(价格上升到只剩一人)和二价一样,荷式(价格下降)和一价一样。
random.seed(22)
N = 200000
print(f"\n模拟 {N} 场拍卖,卖家的平均收入:")
for n in (2, 5):
    first = second = 0.0
    for _ in range(N):
        vs = sorted(random.random() for _ in range(n))
        first += (n - 1) / n * vs[-1]                       # 一价:赢的人(估值最高)付自己的出价
        second += vs[-2]                                    # 二价:付第二高的出价(也就是第二高的估值)
    print(f"  n={n}:一价 {first / N:.4f},二价 {second / N:.4f};理论值 (n-1)/(n+1) = {(n - 1) / (n + 1):.4f}")
print("\n出价和估值的比例:一价拍卖里,n 越大,出价越接近真实估值(压价越少):")
for n in (2, 3, 5, 10, 50):
    print(f"  n={n}:出价 = 估值 × {(n - 1) / n:.3f}")

输出:

你的估值 0.8,别人按 (n-1)/n × 估值 出价,你出价多少最好?(每 0.001 一格找最大)
  n=2:最好的出价 0.400(公式 (n-1)/n × 0.8 = 0.400),好处 0.3200;说真话(出价 0.8)的好处是 0.0000
  n=3:最好的出价 0.533(公式 (n-1)/n × 0.8 = 0.533),好处 0.1707;说真话(出价 0.8)的好处是 0.0000
  n=5:最好的出价 0.640(公式 (n-1)/n × 0.8 = 0.640),好处 0.0655;说真话(出价 0.8)的好处是 0.0000
  n=10:最好的出价 0.720(公式 (n-1)/n × 0.8 = 0.720),好处 0.0107;说真话(出价 0.8)的好处是 0.0000

模拟 200000 场拍卖,卖家的平均收入:
  n=2:一价 0.3335,二价 0.3337;理论值 (n-1)/(n+1) = 0.3333
  n=5:一价 0.6667,二价 0.6663;理论值 (n-1)/(n+1) = 0.6667

出价和估值的比例:一价拍卖里,n 越大,出价越接近真实估值(压价越少):
  n=2:出价 = 估值 × 0.500
  n=3:出价 = 估值 × 0.667
  n=5:出价 = 估值 × 0.800
  n=10:出价 = 估值 × 0.900
  n=50:出价 = 估值 × 0.980

一价拍卖里,你要压低出价;人越多,压得越少

  • 压多少,取决于人数:估值 0.8,只有 2 个人时,最好出价 0.40,压了一半;10 个人时,最好出价 0.72,只压了 10%。竞争的人越多,你压得越少,因为一压价,就可能输给别人。
  • 说真话在一价拍卖里是错的:出价 = 估值,好处是 0。
  • 荷式拍卖和一价密封拍卖,是同一回事:荷式拍卖里,你要决定"价格降到哪里时叫停",那个价格就是你付的钱,所以它和一价密封拍卖的出价规则一样。

3.2 证据:荷式拍卖和一价拍卖,真的一样吗

理论预测:荷式和一价密封拍卖,卖家的期望收入相同。

证据怎么说:David Lucking-Reiley 1999 年(American Economic Review,89 卷 5 期)在互联网上卖游戏卡牌,用现场实验检验这一点:同一种卡牌,分别用不同的拍卖形式卖。结果是:荷式拍卖的收入,比一价密封拍卖高约 30%,和理论预测相反;而英式和二价密封拍卖的收入,大致相当。(实验室里的早期研究,方向是相反的。)

局限:这是一个特定的商品(游戏卡牌)、特定的平台,卖家是研究者自己,买家是网上的参与者,没有对"为什么"给出一个公认的答案。

小结: 一价拍卖里,你的出价要低于估值:压价让赢的时候有赚头,代价是赢的概率变小。均衡的出价是 (n − 1)/n 倍估值,人越多,压得越少。荷式拍卖和一价拍卖在规则上等价,但现场实验里收入并不一样。

四、收益等价,以及它的例外

4.1 收益等价定理

现在比较:卖家,选哪种拍卖,期望收入最高?

答案有点出人意料:在一组标准的假设下,四种拍卖的期望收入一样。 这就是收益等价定理(revenue equivalence theorem)。Vickrey 1961 年已经发现了这四种拍卖的等价关系;Myerson 1981 年(Mathematics of Operations Research,6 卷 1 期)和 Riley、Samuelson 1981 年(American Economic Review,71 卷 3 期)把它推广成一般的定理。

假设:(1)竞拍者估值互相独立,是私人价值;(2)竞拍者不怕风险;(3)大家的估值来自同一个分布;(4)估值最高的人赢;(5)估值最低的人,期望好处是 0。

为什么等价?直觉:不管哪种拍卖,估值最高的人赢;一价拍卖里,他压价(出价低于估值),但付的是自己的出价;二价拍卖里,他出价是估值,但付的是别人的最高出价。平均下来,这两个数一样大。

我们模拟一下。n 个人,估值在 0 到 1 之间均匀分布,期望收入的理论值是 (n − 1)/(n + 1)(也就是第二高估值的期望)。上一节那段代码的第二部分,模拟了 20 万场:

  • n = 2:一价 0.3335,二价 0.3337,理论值 0.3333;
  • n = 5:一价 0.6667,二价 0.6663,理论值 0.6667。

四种拍卖,规则不同,出价的方式完全不同,卖家的期望收入相同。

4.2 假设一变,等价就破了

收益等价是个条件结论,不是自然规律。几个有名的例外:

  • 竞拍者怕风险:一价拍卖里,怕风险的人会少压价(怕输掉),出价更高,卖家收入变高;二价拍卖里,说真话和风险态度无关。下面的代码算了:效用 = (好处)^0.5 的竞拍者,n = 2 时,一价收入比二价高约 33%,n = 5 时高约 11%。实验里,一价拍卖的出价,常常高于不怕风险的理论预测,有研究用怕风险来解释(Cox、Smith 和 Walker 1988 年,Journal of Risk and Uncertainty,1 卷 1 期)。不过这个解释有争议:别的研究认为,实验里偏离理论的代价很小,也有别的解释。
  • 估值互相关联:如果一个人对物品的高估值,往往意味着别人的估值也高(比如大家都在乎同一个市场行情),Milgrom 和 Weber 1982 年(Econometrica,50 卷 5 期)证明,英式拍卖的期望收入,高于二价密封拍卖,二价又高于一价(在他们的模型里)。直觉:英式拍卖里,你能看到别人退出,从中学到更多信息,竞价更积极。
  • 竞拍者不对称、数量是随机的,等等,也会让等价失效。

4.3 保留价:宁可不卖

卖家还有一个工具:保留价(reserve price):低于这个价,我不卖。

直觉上,设保留价是在冒险:可能卖不出去。可是,它能提高期望收入。代码的第二部分算了:二价拍卖,估值 0 到 1 均匀分布,卖家自己对这件东西的估值是 0。

import random

# 一、怕风险的竞拍者:效用 = (好处)^rho,rho=0.5。如果别人按 (n-1)/(n-1+rho) × 估值 出价,你的最好出价是?
def expected_utility(v, b, n, rho):
    p_win = min(1.0, b * (n - 1 + rho) / (n - 1)) ** (n - 1)
    return max(v - b, 0) ** rho * p_win

rho = 0.5
print(f"怕风险的竞拍者(rho={rho}),估值 0.8:最好的出价 vs 不怕风险(rho=1)")
for n in (2, 5):
    best = max((i / 1000 for i in range(0, 1001)), key=lambda b: expected_utility(0.8, b, n, rho))
    print(f"  n={n}:怕风险 {best:.3f}(公式 (n-1)/(n-1+rho) × 0.8 = {(n - 1) / (n - 1 + rho) * 0.8:.3f}),不怕风险 {(n - 1) / n * 0.8:.3f}")

random.seed(22)
N = 200000
print(f"\n模拟 {N} 场拍卖的卖家收入(一价:怕风险者;二价:说真话,和怕不怕风险无关):")
for n in (2, 5):
    first = second = 0.0
    for _ in range(N):
        vs = sorted(random.random() for _ in range(n))
        first += (n - 1) / (n - 1 + rho) * vs[-1]
        second += vs[-2]
    print(f"  n={n}:一价 {first / N:.4f},二价 {second / N:.4f}(一价高 {first / second - 1:.0%})")

# 二、保留价:卖家规定"低于 r 就不卖"。二价拍卖,估值在 0 到 1 之间均匀分布,卖家自己对这件东西的估值是 0。
def revenue(n, r, N=200000):
    total, unsold = 0.0, 0
    for _ in range(N):
        vs = sorted(random.random() for _ in range(n))
        top, second = vs[-1], vs[-2]
        if top < r: unsold += 1; continue                  # 没人出到保留价:流拍
        total += max(second, r)                            # 第二高的出价不到 r 时,付 r
    return total / N, unsold / N

print("\n二价拍卖加保留价 r:")
for n in (2, 5):
    row = []
    for r in (0.0, 0.2, 0.4, 0.5, 0.6, 0.8):
        rev, unsold = revenue(n, r)
        row.append(f"r={r}:收入 {rev:.4f},流拍 {unsold:.1%}")
    print(f"  n={n}:" + ";".join(row))
print("n=2、r=0.5 的理论收入 5/12 =", round(5 / 12, 4), ";最优保留价 0.5 和人数无关(卖家自己估值为 0 时)")

输出:

怕风险的竞拍者(rho=0.5),估值 0.8:最好的出价 vs 不怕风险(rho=1)
  n=2:怕风险 0.533(公式 (n-1)/(n-1+rho) × 0.8 = 0.533),不怕风险 0.400
  n=5:怕风险 0.711(公式 (n-1)/(n-1+rho) × 0.8 = 0.711),不怕风险 0.640

模拟 200000 场拍卖的卖家收入(一价:怕风险者;二价:说真话,和怕不怕风险无关):
  n=2:一价 0.4446,二价 0.3337(一价高 33%)
  n=5:一价 0.7408,二价 0.6663(一价高 11%)

二价拍卖加保留价 r:
  n=2:r=0.0:收入 0.3339,流拍 0.0%;r=0.2:收入 0.3626,流拍 4.0%;r=0.4:收入 0.4081,流拍 16.0%;r=0.5:收入 0.4167,流拍 25.1%;r=0.6:收入 0.4055,流拍 36.0%;r=0.8:收入 0.2894,流拍 64.1%
  n=5:r=0.0:收入 0.6661,流拍 0.0%;r=0.2:收入 0.6669,流拍 0.0%;r=0.4:收入 0.6695,流拍 1.0%;r=0.5:收入 0.6712,流拍 3.2%;r=0.6:收入 0.6673,流拍 7.7%;r=0.8:收入 0.5566,流拍 32.9%
n=2、r=0.5 的理论收入 5/12 = 0.4167 ;最优保留价 0.5 和人数无关(卖家自己估值为 0 时)

保留价:竞争少时,宁可冒险不卖

  • 2 个竞拍者:不设保留价,收入 0.333;保留价 0.5,收入升到 0.417,高 25%;代价是 25% 的拍卖流拍(两个人的估值都低于 0.5),本来有人愿意付钱买的东西,没卖出去。
  • 5 个竞拍者:保留价 0.5 只让收入从 0.667 升到 0.671,只高 0.8%。竞争越激烈,保留价越没有用。
  • 最优保留价和人数无关:卖家自己的估值是 0 时,最优保留价是 0.5。Myerson 1981 年、Riley 和 Samuelson 1981 年证明了这一点:最优的保留价,总是高于卖家自己对这件东西的估值,并且不依赖竞拍者的人数。
  • 和第 14 讲的垄断定价是同一个道理:提高保留价,每次卖出能多收一点,但卖不出去的概率变大;最优点,是边际收益等于边际成本的地方。设了它,会损失一部分有利的交易(效率损失,第 14 讲的无谓损失),换来更高的期望收入。卖家最大化收入,和社会总好处最大,不是一回事。

小结: 收益等价定理:在独立私人价值、不怕风险、估值同分布等假设下,英式、荷式、一价、二价拍卖的期望收入相同。假设一变(怕风险、估值关联等),收入就会不同。卖家设保留价,可以提高期望收入,代价是一部分有利的交易没发生;竞争越激烈,保留价越没用。

五、赢者诅咒

5.1 当价值是共同的

现在放弃私人价值,看共同价值的拍卖。一块油田,地下的石油,对每家公司价值一样,但没人知道是多少。每家公司做一次勘探,得到一个估计,估计有误差:有时高,有时低。

先停一下:如果你按自己的估计出价,赢了,你应该高兴吗?

想一想:谁会赢?估计最乐观的那一家。 估计有高有低,最高的那个,往往是误差最偏高的,也就是高估了价值的那个。所以,赢了,本身就是一个坏消息:它告诉你,你的估计,在所有人里最高,很可能偏高了。这就是赢者诅咒(winner’s curse)。

它和第 20 讲的逆向选择,是同一个结构:卖家愿意卖这辆车,本身是对车况的坏消息;你赢了拍卖,本身是对你的估计的坏消息。

import random

# 共同价值拍卖:一块油田的真实价值 V = 100(对每个人都一样,但没人知道)。每个竞拍者做一次勘探,得到估计 s = V + 误差,误差在 -20 到 20 之间均匀分布。
# 一价拍卖:出价最高的赢,付自己的出价。看看"按自己的估计出价"会怎么样。
random.seed(22)
V, NOISE, N = 100.0, 20.0, 200000

def run(n, shade):
    """每个人都出价 s - shade。返回:赢家的平均好处(V - 付的钱),卖家的平均收入"""
    gain = rev = 0.0
    for _ in range(N):
        top = max(V + random.uniform(-NOISE, NOISE) for _ in range(n)) - shade
        gain += V - top; rev += top
    return gain / N, rev / N

print("每个人都按自己的估计出价(shade=0)。赢家的平均好处 = 真实价值 - 付的钱:")
for n in (2, 3, 5, 10):
    g, r = run(n, 0)
    print(f"  {n} 个竞拍者:赢家平均 {g:+.2f}(理论 -{NOISE * (n - 1) / (n + 1):.2f}),卖家收入 {r:.2f},真实价值 {V:.0f}")

print("\n每个人都在估计上压价 shade,赢家的平均好处(正数才不亏):")
for n in (2, 5, 10):
    cells = []
    for shade in (0, 5, 10, 15, 20):
        g, r = run(n, shade)
        cells.append(f"压 {shade}:{g:+.2f}")
    print(f"  {n} 个竞拍者:" + ";".join(cells) + f"(刚好不亏要压 {NOISE * (n - 1) / (n + 1):.2f})")

输出:

每个人都按自己的估计出价(shade=0)。赢家的平均好处 = 真实价值 - 付的钱:
  2 个竞拍者:赢家平均 -6.68(理论 -6.67),卖家收入 106.68,真实价值 100
  3 个竞拍者:赢家平均 -10.00(理论 -10.00),卖家收入 110.00,真实价值 100
  5 个竞拍者:赢家平均 -13.35(理论 -13.33),卖家收入 113.35,真实价值 100
  10 个竞拍者:赢家平均 -16.36(理论 -16.36),卖家收入 116.36,真实价值 100

每个人都在估计上压价 shade,赢家的平均好处(正数才不亏):
  2 个竞拍者:压 0:-6.65;压 5:-1.66;压 10:+3.35;压 15:+8.35;压 20:+13.30(刚好不亏要压 6.67)
  5 个竞拍者:压 0:-13.30;压 5:-8.32;压 10:-3.36;压 15:+1.66;压 20:+6.67(刚好不亏要压 13.33)
  10 个竞拍者:压 0:-16.36;压 5:-11.38;压 10:-6.37;压 15:-1.36;压 20:+3.63(刚好不亏要压 16.36)

赢者诅咒:按自己的估计出价,人越多越亏

  • 按自己的估计出价,赢家平均亏钱:只有 2 个竞拍者,平均亏 6.7;5 个人,亏 13.3;10 个人,亏 16.4。公式是 20 × (n − 1)/(n + 1):就是 n 个误差里,最大的那个的平均偏高幅度。
  • 人越多,诅咒越重:因为人越多,“估计最高的"越可能是偏高得最离谱的。
  • 解药是压价:每个人在自己的估计上压价。想不亏,要压至少 20(n − 1)/(n + 1)(2 个人 6.67,10 个人 16.36)。要在"如果我赢了,说明什么"的前提下出价,而不是"我估计它值多少”。(这个模拟是简化的:现实里的均衡出价,更复杂,要考虑别人也在压价。)

5.2 证据:真的会这样吗

理论预测:理性的竞拍者,会预见到赢者诅咒,出价时压价,不会亏钱。

证据怎么说:

  • 石油租约:Capen、Clapp 和 Campbell 1971 年(Journal of Petroleum Technology,23 卷 6 期)是美国大西洋里奇菲尔德公司(ARCO)的三位工程师,他们观察到,公司在海上石油租约的拍卖里,中标的价格,往往高得没法获得合理的利润,并提出了赢者诅咒的解释。
  • 实验室:Kagel 和 Levin 1986 年(American Economic Review,76 卷 5 期)的实验发现,在人数较少(3 到 4 个)的拍卖里,行为接近均衡预测,有经验的人能赚到正的利润;在人数较多(6 到 7 个)的拍卖里,竞拍者的出价过于激进,赢家平均亏钱,赢者诅咒明显。

局限:石油租约的数据,只能说明"中标价偏高",不能直接证明所有的竞拍者都在亏(有的公司可能掌握了别人没有的信息);实验室里的被试是学生,规则也被简化。不同研究对职业人士在多大程度上被诅咒,结论不完全一致,这里不展开。

小结: 赢者诅咒:共同价值的拍卖里,赢家往往是估计最乐观的人,所以赢了本身是坏消息。按自己的估计出价,赢家平均亏钱,人越多越严重。解药是压价:出价时先问"如果我赢了,说明什么"。实验里,竞拍者人多时,常常出价过激、陷入诅咒。

六、机制设计:设计规则,让人们说真话

6.1 反过来想

到这里,我们看到的是一个共同的模式:

  • 规则 → 人们对规则做出反应(出价)→ 结果(谁赢、付多少、卖家收入多少)。

机制设计反过来:我想要某个结果(比如,估值最高的人赢;或者卖家的收入最高),我该设计什么样的规则?

一个重要的简化叫显示原理(revelation principle):想知道一个规则能实现什么样的结果,不失一般性,只需要看这样一类规则:让每个人说真话,是最优选择。直觉:如果某个规则里,人们会撒谎,那么我可以把"撒谎"这一步,写进规则里,自动替他们做了,得到一个"说真话"的规则,结果一样。Myerson 1981 年的论文,也包含了这个原理的一个正式表述。

设计规则时,必须满足两个约束(第 21 讲讲过):

  • 参与约束:每个人愿意参加(参加的好处 ≥ 不参加);
  • 激励相容:每个人说真话,比撒谎更好。

在这两个约束下,设计者再去最大化自己的目标:总好处(效率),或者卖家的收入。

例子 想让人们说什么 怎么做到激励相容 代价
航空公司的菜单(第 21 讲) 我是商务旅客还是休闲旅客 商务舱定价,让商务旅客买商务舱不比假装休闲更差 信息租金 5000
二价拍卖 我对这件东西的估值 出价只决定赢不赢,不决定付多少 卖家收入不一定最高
设了保留价的拍卖 同上 同上,加上保留价 一部分有利的交易没发生

6.2 另一个例子:公共设施,该不该建

三户人家想合建一个公共设施,总成本 90,每户分摊 30。三家对设施的真实价值:A 50、B 40、C 5,扣掉分摊的 30,净价值分别是 +20、+10、−25。总价值之和 5 > 0,应该建。

问题:怎么让三家说出真实价值?如果只是"报上来的净价值之和 ≥ 0 就建",C 觉得不值(−25),他会撒谎:谎报 −100,把项目否决,得 0,比说真话得 −25 更好。

克拉克税(Clarke 1971 年,Public Choice,11 卷;Groves 1973 年,Econometrica,41 卷 4 期):一个人,只有在他一个人改变了结果时,才付税,付的是他给别人造成的净损失。

from itertools import product

# 公共品:三户人家想合建一个公共设施,总成本 90,每户分摊 30。三家的真实价值:A 50、B 40、C 5,
# 扣掉分摊的 30,净价值:A +20、B +10、C -25。规则:报上来的净价值之和 >= 0 就建。
TRUE = {"A": 20, "B": 10, "C": -25}
NAMES = list(TRUE)

def build(reports): return sum(reports.values()) >= 0

def clarke_tax(i, reports):
    """克拉克税:只有"你一个人改变了结果"时才付,付的是你给别人造成的损失"""
    others = sum(v for k, v in reports.items() if k != i)
    with_i, without_i = build(reports), others >= 0
    if with_i == without_i: return 0                        # 没有你,结果也一样:不是关键的人,不付税
    return abs(others)                                      # 关键的人:付"别人的净损失"

def payoff(i, reports):
    return (TRUE[i] if build(reports) else 0) - clarke_tax(i, reports)

print("三家都说真话:", "建" if build(TRUE) else "不建")
for i in NAMES:
    print(f"  {i}:净价值 {TRUE[i]:+d},克拉克税 {clarke_tax(i, TRUE)},最后好处 {payoff(i, TRUE):+d}")
print(f"  收上来的税共 {sum(clarke_tax(i, TRUE) for i in NAMES)}(这笔钱要'烧掉':按报告分回给三家,会重新带来撒谎的好处)")

# 暴力核对:不管别人报什么(-60 到 60,每 5 一格),说真话是不是都不比别的报法差?
grid = range(-60, 61, 5)
worst = {i: 0 for i in NAMES}
for i in NAMES:
    others = [k for k in NAMES if k != i]
    for ro in product(grid, repeat=2):
        base = dict(zip(others, ro))
        truth = payoff(i, {**base, i: TRUE[i]})
        for lie in grid:
            worst[i] = max(worst[i], payoff(i, {**base, i: lie}) - truth)
print("\n对每一家:任何谎话比说真话最多多得多少(0 表示说真话从不更差):", worst)

# 对比:没有克拉克税,只是"报上来的净价值之和 >= 0 就建"。C 嫌不值,是不是会撒谎?
def payoff_naive(i, reports): return TRUE[i] if build(reports) else 0
truth_c = payoff_naive("C", {"A": 20, "B": 10, "C": -25})
lie_c = payoff_naive("C", {"A": 20, "B": 10, "C": -100})
print(f"\n没有克拉克税时:C 说真话得 {truth_c:+d},谎报 -100(把项目否决)得 {lie_c:+d}:C 会撒谎")

输出:

三家都说真话: 建
  A:净价值 +20,克拉克税 15,最后好处 +5
  B:净价值 +10,克拉克税 5,最后好处 +5
  C:净价值 -25,克拉克税 0,最后好处 -25
  收上来的税共 20(这笔钱要'烧掉':按报告分回给三家,会重新带来撒谎的好处)

对每一家:任何谎话比说真话最多多得多少(0 表示说真话从不更差): {'A': 0, 'B': 0, 'C': 0}

没有克拉克税时:C 说真话得 -25,谎报 -100(把项目否决)得 +0:C 会撒谎
  • 说真话是占优策略:不管别人怎么报,说真话都不比撒谎差(代码把所有报法都试了一遍)。这和二价拍卖是同一个想法:你只为你给别人造成的损失付钱,不为你自己的报价付钱。 二价拍卖,是克拉克税的一个特例:赢家付的是他给第二高出价者造成的损失。
  • 代价一:钱要"烧掉":A 付 15,B 付 5,一共收了 20,这笔钱不能分回给三家。如果把它按报告分回去,就会重新带来撒谎的好处。一般来说,这类机制做不到"既让人说真话,又让收入和支出相抵"。
  • 代价二:参与约束不一定满足:C 的最终好处是 −25,比"不建"更差。设施一建,C 不能不参加,所以他被迫付出代价。想让每个人都愿意参加,还要加别的补偿,而这又需要钱。

6.3 限度:Myerson–Satterthwaite 定理

机制设计的结果并不都是乐观的。最有名的一个坏消息,是 Roger Myerson 和 Mark Satterthwaite 1983 年(Journal of Economic Theory,29 卷 2 期)的双边交易不可能定理:

一个卖家、一个买家,各自知道自己的估值,别人不知道,估值的范围有重叠。没有任何一个机制,能同时做到:说真话、双方自愿参加、每一笔有利的交易都发生,并且不需要外部补贴。

直觉:让有私人信息的人说真话,要给他信息租金(第 21 讲)。买家和卖家都要租金,可是有利交易的总好处,不够付两份租金。结果是,总有一些有利的交易,因为信息不对称,没有发生。 这和第 7 讲、第 20 讲的主题一致:信息不完全,市场就可能做不到完全的效率。它也和下一个 Unit 里要讲的科斯定理(第 24 讲)形成鲜明对照:科斯说,产权清楚、没有交易成本时,双方会谈成对大家最好的交易;Myerson–Satterthwaite 说,只要信息是私人的,这一点就不一定成立。

2007 年的诺贝尔经济学奖,授予 Leonid Hurwicz、Eric Maskin 和 Roger Myerson,“因为奠定了机制设计理论的基础”。

小结: 机制设计:先想要什么结果,再反推规则。显示原理:只需要看"说真话是最优"的规则。设计时要满足参与约束和激励相容。克拉克税让人说真话,代价是要"烧掉"一部分钱,也不能保证每个人都愿意参加。双边交易里,不可能同时做到说真话、自愿参加、效率和不靠补贴。

七、现实里的拍卖

7.1 几个例子

  • 搜索广告:搜索引擎把广告位按"广义二价"(generalized second-price)拍卖:出价最高的广告排第一位,付的是下一位的出价。Edelman、Ostrovsky 和 Schwarz 2007 年(American Economic Review,97 卷 1 期)指出:这个规则不是让人说真话的(和 Vickrey 拍卖不一样),所以真实的出价,不等于真实的价值;不过他们发现,它有一个均衡,各方得到的好处,和让人说真话的机制(VCG)里一样。
  • 土地出让:按我国《招标拍卖挂牌出让国有建设用地使用权规定》(2007 年),商业、旅游、娱乐和商品住宅等经营性用地,必须采取招标、拍卖、挂牌的方式出让。(据法律网站和地方文件的转载核对,非官方原文。)
  • 招标采购:政府采购和工程招标,本质上是反向拍卖:谁报的价格低,谁中标。如果只看价格,容易出现类似赢者诅咒的问题:中标的往往是对成本估计最乐观的,也就是低估了成本的。(这是我的推论,不是文献的结论。)
  • 无线电频谱:政府把一段频谱的使用权,拍卖给电信公司。下面细讲。

7.2 频谱拍卖:该拍多少钱

2020 年的诺贝尔经济学奖,授予 Paul Milgrom 和 Robert Wilson,“因为改进了拍卖理论,发明了新的拍卖形式”。他们的理论,被用来设计无线电频谱的拍卖,美国政府在 1994 年就开始卖频谱。

这里有一个有争议的话题:政府应不应该把拍卖当成赚钱的手段? 按"理论预测 → 证据与局限 → 分歧在哪 → 价值判断留给读者"来写。

理论预测什么:拍卖把频谱,分配给估值最高的公司(有效率),并给财政带来收入。拍卖的设计,决定能不能达到这两个目的。

证据怎么说:Paul Klemperer 2002 年(European Economic Review,46 卷 4–5 期)分析了 2000 年前后欧洲各国的 3G 牌照拍卖。他报告,各国卖的牌照,价值相近,可是收入相差很大:从瑞士约每人 20 欧元,到英国约每人 650 欧元。英国的收入是其中最高的。他认为,差别主要来自拍卖的设计:设计得不好的国家,拍卖方便了企业合谋、没能吸引新的进入者,收入就低。

局限:这是几个国家的比较,国家之间,市场情况也有差别;拍卖收入高,不等于社会福利大(后面的分歧)。

分歧在哪:

  • 事实上:企业付出的高额拍卖费,会不会通过更高的价格转嫁给消费者、或者削弱后来的网络投资?一种看法认为,牌照费是一次性的沉没成本,不影响以后的定价;另一种看法担心它会占用投资的资金。这个问题,我没有查到公认的实证结论,这里不下判断。
  • 价值上:下面的问题,数据回答不了。

价值判断(留给你):

  1. 无线电频谱这样的公共资源,目标应该是多赚钱(财政收入),还是广覆盖、低价格(普惠)?
  2. 如果两者冲突,该怎么排序?拍卖之外,还有别的分配方式(按方案评审),各有各的问题(评审的公正、被游说的可能)。
  3. 拍卖会让资金雄厚的公司更容易赢,这样的结果,你觉得公平吗?

经济学可以告诉你,每一种设计,会带来多高的收入、多大的效率、多大的合谋风险。该把"收入"和"普惠"各放在多重要的位置,是你的价值判断。

八、局限、常见误用

8.1 局限

  • 理论依赖假设:独立私人价值、不怕风险、同分布。现实里,假设常常不成立(第四节)。
  • 人不一定按理论的方式出价:二价密封拍卖里过度出价、共同价值拍卖里陷入赢者诅咒。机制要考虑人实际怎么想,不只是理论上怎么想。
  • 机制需要被遵守:规则能被执行,大家相信别人不能作弊;合谋和串标,会让整个设计失效(频谱拍卖的例子)。
  • 设计的目标不止一个:收入、效率、公平、简单易懂,往往互相冲突。

8.2 常见的误用

误用 正确的想法
“二价拍卖,卖家吃亏” 付得少,但出价更高(说真话);在假设下期望收入和一价一样
“一价拍卖,出价就是你的估值” 要压价;估值 0.8 时,2 个人该出 0.4
“收益等价说拍卖形式不重要” 它是条件结论:怕风险、估值关联、竞拍者不对称时,不同形式收入不同
“保留价是卖家贪心” 它是在不知道买家估值时的最优选择;但会损失一部分有利的交易
“赢了拍卖,说明我的眼光好” 共同价值拍卖里,赢了是坏消息:先问"赢了说明什么"
“机制设计让大家永远说真话” 要满足约束;有的需要"烧钱";有的(双边交易)根本做不到
“拍卖就是为了让政府多赚钱” 拍卖也是一种分配工具;是否以收入为目标,是价值判断

九、小结

这一讲有六个想法,请带走:

  1. 拍卖有四种基本形式:英式、荷式、一价密封、二价密封;估值分私人价值和共同价值。
  2. 二价拍卖:出价只决定赢不赢,不决定付多少,所以说真话是占优策略。英式拍卖的结果与它相同。实验里,升价拍卖比二价密封更容易让人看到占优策略。
  3. 一价拍卖:要压价,压多少取决于人数,估值 0.8 时,2 个人出 0.40,10 个人出 0.72。荷式拍卖与它等价。
  4. 收益等价:在独立私人价值、不怕风险等假设下,四种拍卖的期望收入相同;假设一变就破。保留价能提高期望收入,代价是一部分有利的交易没发生。
  5. 赢者诅咒:共同价值拍卖里,赢了是对你的估计的坏消息。按自己的估计出价,赢家平均亏钱,人越多越严重。解药是压价。
  6. 机制设计:反过来设计规则;参与约束 + 激励相容;克拉克税让人说真话,代价是烧钱;双边交易里,不可能同时做到说真话、自愿参加、效率和不靠补贴。

Unit 5 到这里结束。 回头看,五讲在问同一件事:当人们各自为政、又知道得不一样,怎么办? 第 18 讲,用博弈论讲清楚,互相猜对方;第 19 讲,让博弈重复起来,合作靠未来的惩罚;第 20 讲、第 21 讲,让一方知道得更多,市场就会出毛病,人们发明了信号、筛选和激励合同;这一讲,把这些变成设计规则的工具。

我们已经多次遇到同一个结构:一个人的选择,影响了别人,他自己却不付代价。囚徒困境里,我背叛,成本由你承担;第 20 讲里,柠檬的卖家,把成本转嫁给了好车的卖家;第 21 讲,被保险人不小心,成本由保险公司付。这样的现象,有一个名字:外部性。下一个 Unit,我们要系统地讲市场什么时候会失灵、政府能做什么、做不好又会怎样。第 23 讲:外部性与庇古税。 你会看到,为什么"每个人都做对自己最好的事",有时会让大家一起变糟,以及一个很早就有的、很简单的办法。

思考题

1. 二价拍卖里,你的估值是 100。如果别人的最高出价是 80,你出价 100、出价 120、出价 60,各得多少?如果别人的最高出价是 110 呢?

提示:别人最高出价 80:出价 100,赢,付 80,赚 20;出价 120,赢,付 80,赚 20(同样的结果,多出的价,一分钱也没多付);出价 60,输,得 0(白白放弃了赚 20 的机会)。别人最高出价 110:出价 100,输,得 0;出价 120,赢,付 110,亏 10;出价 60,输,得 0。说真话(出价 100)在两种情形下,都不比别的出价差。

2. 一价拍卖,3 个人,估值在 0 到 1 之间均匀分布。你的估值是 0.9,最佳出价是多少?期望好处是多少?这场拍卖,卖家的期望收入是多少?

提示:最佳出价 = (n − 1)/n × v = 2/3 × 0.9 = 0.6;期望好处 = (0.9 − 0.6) × (0.6 × 3/2)² = 0.3 × 0.81 = 0.243(代码里的网格搜索也是 0.6)。卖家的期望收入:二价拍卖是第二高估值的期望 (n − 1)/(n + 1) = 0.5;一价拍卖是 2/3 × 最高估值的期望 (3/4) = 0.5:两者相等。

3. 4.3 节的二价拍卖,2 个竞拍者,估值在 0 到 1 之间均匀分布,但卖家自己对这件东西的估值是 0.2(不是 0):卖不掉,他自己留着,值 0.2。最优的保留价大约是多少?为什么比 0.5 高?

提示:用模拟:保留价 0.5,卖家总收入(包括卖不掉时自己留着的 0.2)约 0.4665;保留价 0.6,约 0.477;保留价 0.7,约 0.4635。所以最优保留价大约是 0.6(对均匀分布,公式是 (1 + 自己的估值) ÷ 2 = 0.6)。为什么比 0.5 高:卖不掉时,卖家自己还有 0.2 的价值,卖出去的机会成本变高了(第 1 讲的机会成本),他不愿意以太低的价格卖,所以要把底线抬高。

4. 5.1 节的共同价值拍卖,5 个竞拍者,估计的误差在 −20 到 20 之间均匀分布。按自己的估计出价,赢家平均亏多少?要压价多少才刚好不亏?如果每个人都压价这么多,赢家的平均好处是 0,卖家的收入是多少?

提示:5 个人:平均亏 20 × (5 − 1)/(5 + 1) = 13.33;要压价 13.33 才刚好不亏。每个人都压价 13.33:赢家的平均好处是 0,卖家的收入,等于赢家付的钱,平均是 100 + 13.33 − 13.33 = 100,刚好等于真实价值。(也就是说,赢家什么都没赚到,油田的价值全归卖家。现实里的均衡更复杂,这里只是一个简化的说明。)

5. 6.2 节的公共设施:如果三户的净价值分别是 A +30、B −10、C −10(总和 +10 > 0,应该建)。克拉克税下,每个人付多少税?最后好处是多少?

提示:总和 +10 ≥ 0,建。A 是关键的人:没有 A,B 和 C 的净价值之和是 −20,不建,所以 A 改变了结果,付给别人造成的损失 20,A 最后好处 30 − 20 = +10。B:没有 B,A 和 C 的净价值之和是 +20,还是建,B 不是关键的人,不付税,最后好处 −10。C 也一样,不付税,最后好处 −10。一共收了 20 的税,不能分回。B 和 C 是被迫承担了成本,参与约束并不满足。

参考与延伸

  • Vickrey, W. (1961). Counterspeculation, Auctions, and Competitive Sealed Tenders. Journal of Finance, 16(1), 8–37.
  • Myerson, R. B. (1981). Optimal Auction Design. Mathematics of Operations Research, 6(1), 58–73.
  • Riley, J. G., & Samuelson, W. F. (1981). Optimal Auctions. American Economic Review, 71(3), 381–392.
  • Milgrom, P. R., & Weber, R. J. (1982). A Theory of Auctions and Competitive Bidding. Econometrica, 50(5), 1089–1122.
  • Kagel, J. H., Harstad, R. M., & Levin, D. (1987). Information Impact and Allocation Rules in Auctions with Affiliated Private Values: A Laboratory Study. Econometrica, 55(6), 1275–1304.
  • Lucking-Reiley, D. (1999). Using Field Experiments to Test Equivalence between Auction Formats: Magic on the Internet. American Economic Review, 89(5), 1063–1080.
  • Cox, J. C., Smith, V. L., & Walker, J. M. (1988). Theory and Individual Behavior of First-Price Auctions. Journal of Risk and Uncertainty, 1(1), 61–99.
  • Capen, E. C., Clapp, R. V., & Campbell, W. M. (1971). Competitive Bidding in High-Risk Situations. Journal of Petroleum Technology, 23(6), 641–653.
  • Kagel, J. H., & Levin, D. (1986). The Winner’s Curse and Public Information in Common Value Auctions. American Economic Review, 76(5), 894–920.
  • Clarke, E. H. (1971). Multipart Pricing of Public Goods. Public Choice, 11, 17–33.
  • Groves, T. (1973). Incentives in Teams. Econometrica, 41(4), 617–631.
  • Myerson, R. B., & Satterthwaite, M. A. (1983). Efficient Mechanisms for Bilateral Trading. Journal of Economic Theory, 29(2), 265–281.
  • Edelman, B., Ostrovsky, M., & Schwarz, M. (2007). Internet Advertising and the Generalized Second-Price Auction: Selling Billions of Dollars Worth of Keywords. American Economic Review, 97(1), 242–259.
  • Klemperer, P. (2002). How (Not) to Run Auctions: The European 3G Telecom Auctions. European Economic Review, 46(4–5), 829–845.
  • 《招标拍卖挂牌出让国有建设用地使用权规定》(2007 年,国土资源部令第 39 号)。