这一讲要回答三个问题:

  1. 没有人指挥,价格为什么会停在某个位置?
  2. 为什么停下来的地方是稳定的?
  3. 价格到底在"说“什么?

前两讲,我们分别看了买家和卖家:买家愿意付多少钱,卖家至少要多少钱才肯卖。这一讲,我们把两边放在同一张桌子上。

一、一辆二手自行车,该标多少钱?

六月,你要毕业了。你有一辆骑了三年的自行车,想在离校前卖掉。

你该标多少钱?

你先标了 900。三天过去,没人理你。你降到 700,有人来问,但一听价格就走了。你降到 100,半小时就被一个人买走了,他还笑着说"谢谢学长”。

你站在原地,有点后悔。

先别急着怪自己。我想让你注意刚才发生的事:你一直在"试"。 你不知道别人愿意出多少钱,也不知道别的卖家怎么标价,你只能标一个价,看看市场怎么回应。

大学城里有几十个人在做同样的事。没有任何人知道全部的信息,也没有任何人在指挥。可是到了毕业季结束,同样的车,大家卖的价格往往都差不多。

这个"差不多"是怎么来的? 这就是这一讲要弄清楚的事。

二、先把两边的底牌摊开

为了讨论得清楚,我们把市场缩小:只有 8 个买家和 8 个卖家,每个买家最多买一辆,每个卖家最多卖一辆。

先假设我们有"上帝视角",能看到每个人心里的数字:

1 2 3 4 5 6 7 8
买家的最高愿付价(元) 900 800 700 600 500 400 300 200
卖家的最低接受价(元) 150 250 350 450 550 650 750 850

这两行数字,正是前两讲里需求和供给的来源。买家的最高愿付价,排好序就是需求:价格越高,愿意买的人越少。卖家的最低接受价(也就是他的成本,包括他自己的机会成本),排好序就是供给:价格越高,愿意卖的人越多。

先猜一猜。 在这个市场里,最后会成交几辆?价格大概会落在哪个范围?

先想一个答案,再往下看。

怎么想?你可以一对一对地配:

  • 第 1 个买家(愿付 900)和第 1 个卖家(最低 150):能谈成,中间有 750 的空间。
  • 第 2 个:800 对 250,能谈成。
  • 第 3 个:700 对 350,能谈成。
  • 第 4 个:600 对 450,还能谈成,空间 150。
  • 第 5 个:500 对 550,不行。买家最多愿意出 500,卖家至少要 550。

所以最多成交 4 辆。价格应该在哪?第 4 个买家愿付 600,第 5 个买家只愿付 500;第 4 个卖家最低 450,第 5 个卖家最低 550。价格只要比 500 高(让第 5 个买家出不起),又比 550 低(让第 5 个卖家不愿卖),同时在 450 到 600 之间(让前 4 对都愿意成交),就刚好把这 8 个人分成"成交的 4 对"和"没成交的 4 个人"。

所以价格应该落在 500 到 550 之间。

这里有一个细节,第一次读可能会觉得别扭:为什么是一个范围,不是一个具体的数?因为我们只有 8 个人,数据是一格一格的。人越多,台阶越密,这个范围就越窄,最后缩成一个点。后面的模拟里你会看到这一点。

三、价格不对的时候,发生了什么

现在把"上帝视角"收起来。假设你是一个普通的卖家,你看不到别人的数字,你只能标一个价。我们看看价格标得"不对"时,市场长什么样。

3.1 标得太高:卖不掉的人

假设大家都标 620。

  • 愿意买的人:愿付价 ≥ 620 的,只有 900、800、700 这三个,共 3 个。
  • 愿意卖的人:成本 ≤ 620 的,有 150、250、350、450、550,共 5 个。

5 个人想卖,只有 3 个人想买。有 2 辆车卖不掉。 这叫供过于求(也叫过剩)。

现在站在卖家的角度想想:你是那个成本 550、没卖掉的卖家。你的车放在那里,一分钱都赚不到。但你很清楚,只要卖出去的价格超过 550,你就赚了。

隔壁有个愿付 600 的买家,嫌 620 太贵,转身走了。你喊住他:“590,卖你。”

他赚了 10 块(600 − 590),你赚了 40 块(590 − 550)。交易成立,两个人都更好。 而你们做成这笔交易的唯一阻碍,是 620 这个价格定得太高。

价格被一个个这样的"小动作"压下来。没人命令谁降价,每个没卖掉的卖家都有动力这么做。

3.2 标得太低:抢不到的人

再假设大家都标 320。

  • 愿意买的人:愿付价 ≥ 320 的,有 900、800、700、600、500、400,共 6 个。
  • 愿意卖的人:成本 ≤ 320 的,只有 150、250,共 2 个。

6 个人想买,只有 2 辆车。缺 4 辆。 这叫供不应求(也叫短缺)。

站在买家的角度:你是愿付 600 的买家,今天没抢到车。你怎么办?你可以对一个成本 450 的卖家说:“我出 480,卖我。“他本来在 320 的价格下不愿意卖,现在愿意了。你赚了 120,他赚了 30。

这样一来,价格被一个个这样的"小动作"推高。

3.3 两种力量的结果

把上面两件事放在一起看:

  • 价格太高 → 有人卖不掉 → 卖家降价
  • 价格太低 → 有人抢不到 → 买家加价

那么,有没有一个价格,两种压力都不存在?

有。把价格定在 520:

  • 愿意买的:900、800、700、600,共 4 个,他们都买得到。
  • 愿意卖的:150、250、350、450,共 4 个,他们都卖得掉。
  • 没买到车的人(愿付价 500 及以下):520 超过了他们愿意付的价格,他们本来就不想买。
  • 没卖掉车的人(成本 550 及以上):520 低于他们的成本,他们本来就不想卖。

每个人都得到了他在这个价格下想要的东西。 没有人愿意单方面改变自己的行为。

这个价格,叫均衡价格,对应的成交数量叫均衡数量:

均衡(equilibrium):在这个价格上,想买的数量恰好等于想卖的数量,没有人想单方面改变。

我们先把图画出来,把上面的三个价格放到同一张图里:

大学城二手自行车市场

图里蓝色是需求,橙色是供给。红线是 620 和 320 两种"不对"的价格:红线的长度,就是过剩或短缺的数量。绿色小块是均衡:只有这个价格,两条曲线在这里相遇。

3.4 为什么叫"均衡”

“均衡"这个词来自物理。想象一颗弹珠放在碗里。你推它一下,它会来回晃,但最后总会回到碗底。碗底就是它的均衡位置。

价格也是这样:如果它偏高,卖不掉的人会把它拉下来;如果它偏低,抢不到的人会把它推上去。偏离均衡的价格,自己会被拉回来。

这里我要先停一下,说清楚一个容易混淆的地方:

均衡不等于"好”,也不等于"公平”。 它只回答一个问题:价格最后会停在哪? 它不回答"这样合不合理"。如果有一个穷学生愿付的价格只有 200,他在这个市场里永远买不到车。这是均衡的结果,但你可能觉得不公平。这是另一个问题(价值判断),我们会在后面的讲里分开谈。

均衡也不等于"不动"。 均衡价格上,每天仍然有人成交,有人进场,有人离开。均衡是指没有人想改变自己的决定,不是指一切静止。

小结: 价格太高会有过剩,推动降价;价格太低会有短缺,推动涨价;两种压力都消失的地方,就是均衡。

四、让代码替你算一遍

我们把刚才的推理写成代码:算每个价格下想买和想卖的人数,找出均衡区间,再让"试探调价"自己走一遍。

import numpy as np

# 大学城的二手自行车:每个买家最多买一辆,每个卖家最多卖一辆
wtp  = np.array([900, 800, 700, 600, 500, 400, 300, 200])   # 买家的最高愿付价
cost = np.array([150, 250, 350, 450, 550, 650, 750, 850])   # 卖家的最低接受价

def demand(p):  return int(np.sum(wtp  >= p))   # 价格是 p 时,愿意买的人数
def supply(p):  return int(np.sum(cost <= p))   # 价格是 p 时,愿意卖的人数

print("价格   想买  想卖  差额(想买-想卖)")
for p in [320, 620, 520]:
    d, s = demand(p), supply(p)
    print(f"{p:4d}  {d:4d}  {s:4d}  {d - s:+d}")

# 扫一遍价格,看哪些价格能让买卖双方恰好对上
clearing = [p for p in range(0, 1001, 10) if demand(p) == supply(p)]
print("\n能出清的价格(步长 10):", clearing)

# 试探调价:多了就降,缺了就涨
def adjust(p, step=20, rounds=30):
    path = [p]
    for _ in range(rounds):
        gap = demand(p) - supply(p)
        if gap == 0:
            break
        p += step * gap
        path.append(p)
    return path

print("\n从 100 开始:", adjust(100))
print("从 900 开始:", adjust(900))

输出:

价格   想买  想卖  差额(想买-想卖)
 320     6     2  +4
 620     3     5  -2
 520     4     4  +0

能出清的价格(步长 10): [510, 520, 530, 540]

从 100 开始: [100, 260, 360, 420, 460, 480, 500, 520]
从 900 开始: [900, 760, 660, 600, 580, 560, 540]

对一对:320 元时 6 个人想买、2 个人想卖,和我们手算的一样;620 元时是 3 对 5;520 元时 4 对 4。能出清的价格是 510 到 540,正好落在我们推出来的 500 到 550 里面(两端 500 和 550 本身有人刚好在临界点上,所以不算)。

最后两行是这一节最有意思的地方。我们让价格自己"试":缺得越多,涨得越多;多得越多,降得越多。

  • 从 100 开始,价格一路涨:100 → 260 → 360 → … → 520,停在了均衡区间里。
  • 从 900 开始,价格一路降:900 → 760 → 660 → … → 540,也停在了均衡区间里。

不管你从哪里出发,价格都会走到同一个地方。 这就是均衡"稳定"的意思。

补一句诚实的说明:这里"根据差额调价"是一个简化。现实里没有一个人在算全市场的差额,每个摊主只是看着自己的货卖得快不快,凭感觉调价。后面的模拟会去掉这个简化,让没有任何人知道全局的情况下,价格还能不能停在合适的位置。

五、环境变了,价格怎么跟着变

均衡不是一个固定的数,它取决于买家和卖家各自的底牌。底牌一变,均衡就跟着变。

5.1 四种变化

现在,我们让市场发生四种变化。先猜:每种变化,价格和成交数量会往哪边走?

  1. 需求增加:开学季,新生急着买车,每个买家都比原来多愿意付 200 元。
  2. 需求减少:天气变冷,没人想骑车,每个买家都比原来少愿意付 200 元。
  3. 供给增加:毕业季,卖家急着离校,每个人的最低接受价都比原来低 100 元。
  4. 供给减少:学校清理违规摊位,卖家要多花时间和风险,每个人的最低接受价都比原来高 200 元。

先在心里写下四个答案,再看结果。

5.2 让代码算出来

import numpy as np

wtp  = np.array([900, 800, 700, 600, 500, 400, 300, 200])   # 买家的最高愿付价
cost = np.array([150, 250, 350, 450, 550, 650, 750, 850])   # 卖家的最低接受价

def equilibrium(wtp, cost):
    """返回 (成交数量, 价格下限, 价格上限):买家从高到低、卖家从低到高,一对一对地配。"""
    b, s = np.sort(wtp)[::-1], np.sort(cost)
    q = int(np.sum(b >= s))
    lo = max(s[q - 1], b[q] if q < len(b) else -np.inf)   # 不低于:最后成交卖家的成本、第一个没买到的人的愿付价
    hi = min(b[q - 1], s[q] if q < len(s) else  np.inf)   # 不高于:最后成交买家的愿付价、第一个没卖掉的人的成本
    return q, lo, hi

cases = {
    "起点":                               (wtp,       cost),
    "需求增加(买家都多愿付 200)":        (wtp + 200, cost),
    "需求减少(买家都少愿付 200)":        (wtp - 200, cost),
    "供给增加(卖家成本都降 100)":        (wtp,       cost - 100),
    "供给减少(卖家成本都升 200)":        (wtp,       cost + 200),
    "两边同时增加:需求 +200,成本 -100":  (wtp + 200, cost - 100),
    "两边同时增加:需求 +50,成本 -150":   (wtp + 50,  cost - 150),
}
for name, (w, c) in cases.items():
    q, lo, hi = equilibrium(w, c)
    print(f"{name}  ->  成交 {q} 辆,价格 {lo} ~ {hi}")

输出:

起点  ->  成交 4 辆,价格 500 ~ 550
需求增加(买家都多愿付 200)  ->  成交 5 辆,价格 600 ~ 650
需求减少(买家都少愿付 200)  ->  成交 3 辆,价格 400 ~ 450
供给增加(卖家成本都降 100)  ->  成交 5 辆,价格 450 ~ 500
供给减少(卖家成本都升 200)  ->  成交 3 辆,价格 600 ~ 650
两边同时增加:需求 +200,成本 -100  ->  成交 6 辆,价格 550 ~ 600
两边同时增加:需求 +50,成本 -150  ->  成交 5 辆,价格 450 ~ 500

把前五行画出来:

四种曲线移动后的均衡变化

整理成一张表:

变化 价格 数量
需求增加 上升 上升
需求减少 下降 下降
供给增加 下降 上升
供给减少 上升 下降

5.3 这张表里最重要的一个发现

请盯着这张表的价格一列看:上升出现了两次,一次是"需求增加",一次是"供给减少"。

也就是说:价格上涨,既可能是因为想买的人变多了,也可能是因为能卖的东西变少了。 单看价格,你分不出是哪一种。

那怎么分?看数量:

  • 价格涨、数量也涨 → 多半是需求增加
  • 价格涨、数量跌 → 多半是供给减少

下次你在新闻里看到"某某涨价了",先别急着说"大家都在抢",先问一句:成交的数量呢?

一个真实的例子:2018 年 8 月,中国出现首例非洲猪瘟疫情。此后生猪存栏和能繁母猪存栏下降,2019 年猪肉价格大幅上涨。这是价格上涨,同时数量(猪的供应量)下降,所以是供给减少,而不是人们突然多吃了很多猪肉。(以上脉络来自当时的媒体和行业报道,具体涨幅请以国家统计局的原始数据为准,这里不引用百分比。)

5.4 一个容易混的区分:沿着曲线走 vs. 曲线整体移动

这里有一个很多人会弄混的区分,我们花一点时间说清楚。

  • 价格变了,导致买的人变多或变少:这是沿着同一条需求曲线移动。在表里,这叫"需求量的变化"。比如你把车从 620 降到 520,愿意买的人从 3 个变成 4 个,这是同一条需求曲线上的两个点。
  • 买家的底牌整体变了(每个人都更愿意付钱,或者更不愿意):这是整条曲线移动。在表里,这叫"需求的变化"。比如开学季,每个买家都多愿意付 200。

上面这张表里的四种情形,都是整条曲线移动。而价格从 320 到 620 的变化,只是沿着曲线走。

这个区分的实用意义是:价格上涨不会"引起"需求增加。 价格涨,只会让沿曲线的需求量下降。需求增加,是曲线本身往外移了。

5.5 两条曲线同时移动

如果需求和供给同时变化,会怎样?看代码最后两行:

  • 需求 +200,成本 −100(两边都在增加,需求增加得更多):成交 6 辆,价格 550 到 600,价格上升。
  • 需求 +50,成本 −150(两边都在增加,供给增加得更多):成交 5 辆,价格 450 到 500,价格下降。

两种情形下数量都在上升,价格却一涨一跌。规律是:

同时发生 数量 价格
需求增加 + 供给增加 上升(确定) 不确定
需求增加 + 供给减少 不确定 上升(确定)
需求减少 + 供给增加 不确定 下降(确定)
需求减少 + 供给减少 下降(确定) 不确定

为什么?因为每种移动,都把价格或数量推向一个确定的方向。两种移动叠加时,方向一致的那个变量,结果是确定的;方向相反的那个变量,要看哪边的力量更大。

六、价格在"说"什么

到这里,我们已经知道价格怎么形成、怎么变化。现在回到开头那个问题:大学城里没有人知道全部信息,为什么大家卖的价格差不多?

6.1 信息被压缩进了一个数

想一想你卖车时,需要知道什么?

你不需要知道:有多少新生要来、哪个买家的钱包有多厚、别的卖家的成本是多少、学校有没有新规定。

你只需要知道一个数:市场上同样的车,大家卖多少钱。

这一个数里,已经包含了所有这些信息:新生多了,买家愿付价高了,价格就涨。学校整治摊位,卖家成本高了,价格也涨。你不用知道为什么涨,你只要知道"涨了",就能做出恰当的决定:多拿一辆车来卖、少买一辆车、晚点再出手。

这个想法最早被系统地讲清楚,是奥地利裔经济学家 Friedrich Hayek 在 1945 年发表在 American Economic Review 上的文章 The Use of Knowledge in Society。他用了一个假想的例子:假设世界某个地方,锡这种原料出现了新的用途,或者某个锡矿出了事故。锡的使用者完全不需要知道到底是哪一种原因。他们只需要看到一件事:锡的价格涨了。于是,每一个使用锡的人都会省着点用,而且这样做的人遍布全世界,没有人下过命令。

价格做了一件什么事?它把分散在无数人脑子里的信息,压缩成了一个所有人都看得见的数字。

6.2 价格同时做三件事

把这个想法拆开,价格其实同时在做三件事:

  1. 传递信息:告诉所有人,这个东西现在有多稀缺。
  2. 提供激励:价格涨了,卖家有动力多卖、买家有动力少买;价格跌了,反过来。
  3. 分配资源:在价格面前,愿意付更高价(愿付价更高)的人,得到这件东西。

第一讲里,我们说稀缺是一切的起点。现在你可以看到:价格,是社会处理稀缺的一种方式。 它不是唯一的方式(还可以排队、抽签、按身份分配),但它是一种不需要任何人了解全局、也能自动运转的方式。

6.3 一个比喻:剪刀

有一个经济学里很有名的老问题:价格是由需求决定的,还是由供给决定的?

19 世纪末的英国经济学家 Alfred Marshall 在 1890 年的《经济学原理》里,用了一个比喻回答:这就像问"一把剪刀剪开纸,是上面的刀刃在剪,还是下面的刀刃在剪?"

两片刀刃缺一不可。价格由需求和供给共同决定,缺了任何一边,都说不清它为什么停在那里。所以,“价格由成本决定”,和"价格由需求决定",都只对了一半。

七、没有拍卖师,也行得通吗?

第四节里,我们让价格"根据差额调整",好像有一个人在统计全市场的情况。现实里没有这样的人。

那么,如果没有任何人知道全局信息,市场还能找到合适的价格吗?

7.1 一个极端的实验

我们做一个极端的模拟:让交易者完全没有智能。

  • 100 个买家,愿付价随机,在 0 到 100 之间。
  • 100 个卖家,成本随机,在 0 到 60 之间(卖家整体比买家便宜,所以均衡价会偏低,不在正中间的 50)。
  • 每次,随机碰到一个买家和一个卖家,各自随机报一个价。如果买家的出价 ≥ 卖家的要价,就成交,成交价取中间,双方退出。
  • 碰面一共 40000 次,然后收摊。

交易者没有记忆,不学习,不知道别人怎么想。我们比较两种"随机交易者":

  • 不亏本的随机交易者:买家的出价随机,但不会高于自己的愿付价;卖家的要价随机,但不会低于自己的成本。
  • 完全随便报价的交易者:想报多少报多少,不管自己亏不亏。
import numpy as np

def run(seed, budget_rule, n=100, max_meetings=40_000):
    rng = np.random.default_rng(seed)
    wtp  = rng.uniform(0, 100, n)            # 100 个买家的愿付价:0~100
    cost = rng.uniform(0, 60, n)             # 100 个卖家的成本:0~60(卖家整体更便宜)

    # 理论预测:排序配对,数一数能成交几对
    b, s = np.sort(wtp)[::-1], np.sort(cost)
    q_star = int(np.sum(b >= s))
    p_star = (b[q_star - 1] + s[q_star - 1]) / 2
    best = float(np.sum(b[:q_star] - s[:q_star]))      # 最大可能的总收益

    buyers, sellers = list(range(n)), list(range(n))
    prices, total = [], 0.0
    for _ in range(max_meetings):                        # 一共碰面这么多次,之后收摊
        if not buyers or not sellers:
            break
        bi, sj = rng.integers(len(buyers)), rng.integers(len(sellers))
        i, j = buyers[bi], sellers[sj]                   # 随机碰到一个买家和一个卖家
        if budget_rule:   # 买家不出到愿付价以上,卖家不要价到成本以下
            bid, ask = rng.uniform(0, wtp[i]), rng.uniform(cost[j], 100)
        else:             # 完全随便报价
            bid, ask = rng.uniform(0, 100),    rng.uniform(0, 100)
        if bid >= ask:                                   # 谈拢了:成交,双方退出
            prices.append((bid + ask) / 2)
            total += wtp[i] - cost[j]
            buyers[bi] = buyers[-1];   buyers.pop()
            sellers[sj] = sellers[-1]; sellers.pop()
    return q_star, p_star, len(prices), np.mean(prices), total / best

# 先看一次具体的运行
q, p, k, avg, eff = run(seed=1, budget_rule=True)
print(f"理论预测:成交 {q} 对,均衡价约 {p:.1f}")
print(f"随机交易:成交 {k} 对,平均成交价 {avg:.1f},总收益是最大值的 {eff:.1%}")

# 再换 200 个随机种子,比较两种"随机交易者"
for name, rule in [("不亏本的随机交易者", True), ("完全随便报价的交易者", False)]:
    effs, errs, p_stars = [], [], []
    for sd in range(200):
        q, p, k, avg, eff = run(sd, rule)
        effs.append(eff); errs.append(abs(avg - p)); p_stars.append(p)
    print(f"{name:<10} 总收益达到最大值的 {np.mean(effs):6.1%},成交价平均偏离均衡价 {np.mean(errs):4.1f}")
print(f"对照:如果一律猜 50,偏离均衡价 {np.mean([abs(50 - p) for p in p_stars]):.1f}")

输出:

理论预测:成交 65 对,均衡价约 37.9
随机交易:成交 72 对,平均成交价 44.2,总收益是最大值的 95.7%
不亏本的随机交易者  总收益达到最大值的  94.1%,成交价平均偏离均衡价  6.1
完全随便报价的交易者 总收益达到最大值的  64.4%,成交价平均偏离均衡价 12.7
对照:如果一律猜 50,偏离均衡价 12.5

7.2 怎么读这组数字

我们一条一条看,因为这里有一个很容易读错的地方。

第一,总收益。 “总收益"是所有成交的买家愿付价减去卖家成本的总和,它衡量了这个市场"用得好不好”。理论上的最大值,是只让最合适的那 65 对成交。

  • 不亏本的随机交易者,拿到了最大值的 94.1%。
  • 完全随便报价的交易者,只拿到 64.4%。

这是这个实验最重要的发现:交易者再没有智能,只要有一条"不亏本"的底线,市场就能把资源配置得相当不错。(这并不是说只有这一个条件才重要,只是在这个简单的设定里,这条底线起了最关键的作用。)

第二,价格。 这里要小心。不亏本的随机交易者,成交价平均偏离均衡价 6.1;完全随便报价的是 12.7。可是,“一律猜 50"这个毫无信息的办法,偏离是 12.5。

也就是说:不亏本的规则,把价格的误差缩小了大约一半,但价格并没有精确地落在均衡价上。 单次运行也是这样:理论均衡价约 37.9,平均成交价是 44.2。

第三,为什么总收益不是 100%? 单次运行里,成交了 72 对,但理论上只应该成交 65 对。多出来的 7 对,是"不该成交"的:随机碰面不能保证愿付价最高的买家碰上成本最低的卖家,有些成交占了更合适的人的位置。

这个实验告诉了我们什么,又没有告诉我们什么?

它告诉我们:均衡的好处,很大一部分来自市场的结构(每个人都不愿意亏本地做交易),不需要每个人都聪明。

它没有告诉我们:价格能被这个机制准确地"找到”。在这个模拟里,交易者既不学习,也看不到别人的报价。要想让价格收敛得更准,需要让交易者看到别人的报价并作出调整。这正是下面要说的实验证据,也是实验 70 要做的事:把"看别人的报价、调整自己的报价"加进模拟,看价格能不能收敛得更准。

7.3 真实的实验证据

这类研究有一段经典的历史。

1962 年,Vernon Smith 在 Journal of Political Economy 发表了一系列市场实验:他让参与者扮演买家和卖家,每个人只知道自己的私人价值或成本,所有的出价和要价都被公开记录下来,价格就在报价的相互调整中形成(这种规则叫双向拍卖)。结果是:即使参与者没有经验、人数不多、也不知道别人的底牌,价格仍然能很快地靠近理论预测的均衡价。

三十多年后,Dhananjay Gode 和 Shyam Sunder 在 Journal of Political Economy(1993,第 101 卷第 1 期,119–137 页)发表了一项著名的研究,就是用没有智能的程序(零智能交易者)代替人类。他们报告说,只要加上"不亏本"这一条约束,市场的配置效率就能接近 100%。

注意两点:

  • 他们的机制是连续的双向拍卖,不是我上面用的"随机碰面一次谈成",所以我模拟出的 94% 和他们的数字不同,这是正常的。
  • 这项研究发表以后,后续文献有不少争论:有的研究认为"不亏本"这条约束其实已经隐含了基本的理性;也有研究发现,在某些设定下价格并不能收敛到均衡价。我上面的结果也看到了这一点:价格没有精确收敛。

所以更稳妥的结论是:市场的结构,能让人"不太聪明"也达到不错的配置效率;而价格要精确地找到均衡,通常还需要信息的公开和交易者的学习。

八、局限与争议

8.1 均衡回答"会停在哪",不回答"该不该停在那"

这一点前面提到过,这里再强调一次。均衡是一个描述,不是一个评价。

在我们的自行车市场里,均衡是 4 辆车、价格 500 到 550。愿付价低于这个区间的买家买不到车。这是均衡的结果,但"这样公平不公平"“要不要干预”,是另一个层面的问题。

我们会在后面的讲里,一步一步地分开看:**事实层面(实证)会发生什么,和价值层面(规范)**该怎么办。第 04 讲会专门讲这两者的区别。

8.2 调整需要时间:猪周期

我们前面说"价格偏离均衡,会被拉回来"。但被拉回来需要时间,而且有时会拉过头。

猪肉市场是一个很典型的例子。养猪从补栏(买进小猪)到出栏(卖出肥猪),要好几个月。看到价格高,养殖户会补栏、扩大产能。但这些猪要几个月之后才会上市,那时如果大家差不多是同一时间补的栏,供给就会一下子涌出来,价格又从高位跌下来。(这是一个简化的解释,真实的价格走势还受疫病、政策、饲料成本等很多因素影响。)

据当时的报道:2018 年非洲猪瘟疫情之后,生猪产能下降,猪价在 2019 年大涨;之后产能逐步恢复,到 2021 年 6 月,能繁母猪存栏已经超过了 2017 年的水平;2021 年猪价转入下跌,国家发改委还启动了托市收储。(再次说明:以上是媒体报道的脉络,涨跌幅度请以官方数据为准。)

这种"涨了扩产,扩产后又跌"的反复,叫周期。它说明:价格传递信息是有延迟的,信息到达生产者的时候,可能已经过时了。

8.3 这些结论依赖的假设

我们这一讲讨论的是一个很"干净"的市场:

  • 买家和卖家都很多,每个人都小到无法影响价格(经济学管这叫"价格接受者")。
  • 所有的车都一样,买家不挑剔。
  • 交易没有摩擦:不需要找人、不需要谈判成本。

现实里,这些假设会被打破。只有一家企业卖某种东西时,它自己就能定价(垄断,第 14 讲);几家企业互相盯着对方时,情况又不一样(寡头,第 16 讲);买卖双方的信息不一样多时,市场甚至可能崩塌(第 20 讲)。

这一讲给你的是一个基准。后面的讲,是看偏离这个基准的时候,会发生什么。

8.4 实验证据的局限

Smith 的课堂实验,是在人数不多、规则清晰、信息公开的条件下做的。真实的市场更复杂。所以它能说明"这样的机制可以让价格靠近均衡",不能证明"所有真实市场一定会这样"。

8.5 常见的误用

误用 正确的想法
“价格是供求决定的,所以它就是公平价格” 均衡是描述,不是评价。公平与否是另一个问题
“价格上涨,说明需求增加了” 价格上涨也可能是供给减少。看数量才能分清
“需求量变了,就是需求变了” 价格变化只会让需求量沿着曲线变;买家的底牌整体变了,曲线整条移动,才叫需求变化
“短缺就是东西绝对不够多” 短缺是指"在这个价格上想买的比想卖的多"。价格涨上去,短缺就消失了
“均衡就是什么都不变” 均衡是没有人想单方面改变,市场里照样每天有交易
“价格由成本决定” 成本只是供给这一边。价格由供求两边共同决定(剪刀的两片刀刃)
“价格是某个人定的” 摊主确实标了价,但这个价格要接受市场的检验:标高了卖不掉,标低了被抢光,他只能回头调整

九、小结

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

  1. 价格不是被"定"出来的,是被"试"出来的。 价格太高有过剩,推动降价;太低有短缺,推动涨价。
  2. 均衡:想买的数量恰好等于想卖的数量,没有人想单方面改变。偏离均衡的价格,会被自己拉回来。
  3. 曲线移动,均衡跟着变。 需求增加、供给减少都会让价格上涨,要分清是哪种,得看数量。
  4. 价格是一种信息压缩。 它让没有人了解全局的市场,也能协调起来。它同时传递信息、提供激励、分配资源。
  5. 均衡是描述,不是评价;调整有延迟;结论依赖假设。 这一讲给你的是一个基准,不是终点。

下一讲,我们要问一个更细的问题:价格涨了 1%,需求量会掉多少?不同的东西,答案差别很大:盐涨价,你几乎不会少买;演唱会门票涨价,你可能就不去了。这个"敏感程度",叫做弹性。

思考题

1. 学校规定,二手自行车的价格不得超过 400 元。在我们这个市场里(买家愿付价 900、800、…、200;卖家最低接受价 150、250、…、850),400 元时有几个人想买、几个人想卖?实际能成交几辆?比自由市场少了几辆?

提示:400 元时,愿付价 ≥ 400 的有 6 个人(900、800、700、600、500、400),成本 ≤ 400 的有 3 个人(150、250、350)。想买 6、想卖 3,短缺 3。能成交的只有短的那一边:3 辆(卖家只有 3 个愿意卖)。自由市场成交 4 辆,所以少了 1 辆。而且:谁买到车,不再由"谁愿意付更高价"决定,只能靠排队、关系或运气。这是第 09 讲价格管制的伏笔。

2. 新闻说:“某城市二手房价格上涨,同时成交量下降。” 最直接的解释是需求增加,还是供给减少?为什么?

提示:价格上涨,成交量下降,对照表里的规律,最直接的解释是供给减少(比如房东惜售、挂牌的房子变少)。如果是单纯的需求增加,成交量应该上升。当然,实际情况可能是两种变化同时发生,这时要看哪个力量更大(第 5.5 节)。

3. 解释"毕业季自行车便宜、开学季自行车贵"这个现象。用需求和供给的移动来描述。

提示:毕业季,大量毕业生急着离校,卖家增多、最低接受价下降(供给增加),而新买家还没到,价格下降、成交增加。开学季,新生涌入,买家愿付价升高(需求增加),同时卖家还没回到市场,价格上升。

4. 一个小市场:买家的最高愿付价是 100、90、80、70、60;卖家的最低接受价是 20、40、60、80、100。手算均衡数量和价格范围,再想一想:如果政府对每个卖家补贴 20 元(相当于每个卖家的成本降低 20),均衡会怎么变?

提示:配对:100 对 20 ✓,90 对 40 ✓,80 对 60 ✓,70 对 80 ✗。成交 3 个。价格要 ≥ 第 3 个卖家的成本(60)、≤ 第 3 个买家的愿付价(80)、> 第 4 个买家的愿付价(70)、< 第 4 个卖家的成本(80),所以在 70 到 80 之间。补贴后,卖家成本变成 0、20、40、60、80:配对 100 对 0 ✓,90 对 20 ✓,80 对 40 ✓,70 对 60 ✓,60 对 80 ✗,成交变成 4 个。价格要 ≥ 第 4 个卖家的成本(60)、≤ 第 4 个买家的愿付价(70)、> 第 5 个买家的愿付价(60)、< 第 5 个卖家的成本(80),所以落在 60 到 70 之间。对比补贴前的 70 到 80:供给增加,数量从 3 个上升到 4 个,价格下降。

5. 假设一场热门演唱会,官方把票价定在 480 元,有 1000 张票,想买的人有 10000 个。这时候出现了什么?为什么会有"黄牛"?

提示:官方价格低于均衡价,短缺很大。价格不能涨,那就只能靠别的方式分配:排队、抢票速度、运气。黄牛的出现,说明有人愿意付的价格远高于 480,而价格没有被允许起到"分配资源"的作用,于是在市场之外出现了一个"影子价格"。这个例子,我们在第 09 讲还会回来。

参考与延伸

  • Smith, V. L. (1962). An Experimental Study of Competitive Market Behavior. Journal of Political Economy, 70(2).
  • Gode, D. K., & Sunder, S. (1993). Allocative Efficiency of Markets with Zero-Intelligence Traders: Market as a Partial Substitute for Individual Rationality. Journal of Political Economy, 101(1), 119–137.
  • Hayek, F. A. (1945). The Use of Knowledge in Society. American Economic Review, 35(4), 519–530.
  • Marshall, A. (1890). Principles of Economics.