5D Library › 跨文化契约、实物期权与东南亚出海博弈论 · English

第二章 实物期权与最优停时:止损的价值与止损的信号

「小成本试错,不行就撤」

许多中国互联网公司出海时有一套熟悉的做法:先在一个市场投入有限的预算和人手,跑三个月;数据好,就加码;数据不好,就撤。这套做法常被称为「小步快跑」或「止损线」。本章问两个问题:从期望价值的角度看,这套做法什么时候是对的?它对合作伙伴又意味着什么?

不确定性下的投资:期权的视角

传统的净现值法则说:一个项目的现值大于成本,就投;否则不投。麦克唐纳与西格尔、迪克西特与平迪克等人指出,当投资不可逆、未来不确定、而且决策可以推迟或分阶段时,这条法则会系统地出错,因为它忽略了「等一等、看一看」的价值 (McDonald and Siegel 1986; Dixit and Pindyck 1994)。这种价值在形式上与金融期权相同,所以称为实物期权:

  • 放弃期权:已经投入的项目,如果情况变坏,可以退出并收回部分残值。它相当于一份看跌期权。
  • 扩张期权(分阶段进入):先投一小笔试点,保留以后再投大笔资金的权利。它相当于一份看涨期权,试点的花费就是期权费。

证据

科格特把合资企业本身解释为一种实物期权:企业通过合资以较小的投入进入一个不确定的市场,保留将来扩大投入或收购合作方股份的权利;他用美国制造业合资企业的数据发现,合资方在产品市场出现意外增长时更可能收购合资企业 (Kogut 1991)。

期权的价值随不确定性上升而上升:未来越不确定,「先看看再说」的权利越值钱。但等待也有代价:在你观望的时候,市场的收益流归了别人,竞争对手可能先占位置。

一次性投入还是分阶段进入

推导

用二叉树模型 (Cox et al. 1979) 比较三种做法:一次性投入且不退出;一次性投入、但保留随时以残值退出的权利;先付一笔试点费,保留在 12 个月内投入其余资金的权利。等待的代价用每月 1% 的「收益流」表示:分阶段进入的企业在扩张之前拿不到这部分收益。

# Commit now, or enter in stages? A binomial real-options model (Cox, Ross & Rubinstein 1979;
# Dixit & Pindyck 1994). The present value V of a market's future cash flows moves on a monthly
# binomial tree with annual volatility sigma. Full entry costs I = 100 and V0 = 104 (plain NPV +4).
#   Commit:  pay 100 now and receive V; the firm may also abandon at any month for salvage S = 30.
#   Staged:  pay a pilot of 8 now, keeping for 12 months the right to pay the remaining 95 for V.
# Waiting is not free: the project pays out 1 % of V a month, which the staged firm forgoes until it
# scales. Risk-free rate 0.4 % a month. Illustrative numbers, not estimates for any market.
import math

R, Q = 0.004, 0.01

def american(V0, sigma, months, payoff):
    """Value of the right to receive payoff(V) at any month up to `months` (risk-neutral tree)."""
    u = math.exp(sigma * math.sqrt(1 / 12)); d = 1 / u
    p = (1 + R - Q - d) / (u - d)
    vals = [payoff(V0 * u ** j * d ** (months - j)) for j in range(months + 1)]
    for step in range(months - 1, -1, -1):
        vals = [max(payoff(V0 * u ** j * d ** (step - j)), (p * vals[j + 1] + (1 - p) * vals[j]) / (1 + R))
                for j in range(step + 1)]
    return vals[0]

I, S, PILOT, REST, V0 = 100, 30, 8, 95, 104
print("annual volatility | commit, no exit | commit + exit option | staged entry | best of the three")
for sigma in (0.10, 0.25, 0.40, 0.60, 0.80):
    plain = V0 - I
    commit = plain + american(V0, sigma, 36, lambda V: max(S - V, 0))     # abandonment put
    staged = american(V0, sigma, 12, lambda V: max(V - REST, 0)) - PILOT   # expansion call - pilot
    best = max((("commit", commit), ("staged", staged), ("stay out", 0.0)), key=lambda x: x[1])[0]
    print(f"{sigma:17.2f} | {plain:15.1f} | {commit:20.1f} | {staged:12.1f} | {best}")
# annual volatility | commit, no exit | commit + exit option | staged entry | best of the three
#              0.10 |             4.0 |                  4.0 |          1.0 | commit
#              0.25 |             4.0 |                  4.0 |          3.8 | commit
#              0.40 |             4.0 |                  4.9 |          9.1 | staged
#              0.60 |             4.0 |                  7.6 |         16.2 | staged
#              0.80 |             4.0 |                 11.1 |         23.1 | staged
三种进入方式的价值随市场价值波动率的变化。波动小时一次性投入更好;年波动率超过约 0.3 后,分阶段进入的价值迅速上升。

在这个例子中,项目本身的净现值是 +4。市场波动小(年波动率 0.10–0.25)时,一次性投入是三者中最好的:不确定性不大,试点费和等待期间损失的收益都不划算。波动率达到 0.40 时,分阶段进入的价值(9.1)超过一次性投入(4.9);波动率越高,差距越大。放弃期权也有价值,但在这个例子里不如分阶段进入,因为残值只有投资的三成。

这个结果支持「在高波动的未知市场中分阶段试错」,但需要两条限定。第一,它依赖于波动确实大;在一个已经相当成熟、可预测的市场里,「先试三个月」可能只是在给竞争对手让路。第二,模型里只有一家企业,没有合作方。现实中,你保留的退出权利,往往意味着合作方承担了你退出的后果。

什么时候退出:最优停时

「三个月止损线」是一种具体的退出规则。它是不是最好的规则?这是一个最优停时问题:每一期你都可以选择继续(再观察一期,同时付出一期的成本或得到一期的收益)或停止。动态规划给出了解这类问题的一般方法:从最后一期往回推,每一期比较「停止的价值」与「继续的期望价值」,取较大者,这就是贝尔曼方程 (Bellman 1957):

Vt(p)=max⁡{0,𝔼[xt+Vt+1(p′)|p]}V_t(p) = \max\Big\{\,0,\; \mathbb{E}\big[x_t + V_{t+1}(p')\,\big|\,p\big]\Big\}

其中 pp 是企业对「这是一个好市场」的信念,xtx_t 是这一期的经营结果,p′p' 是看到结果后用贝叶斯法则更新的信念。

推导

一个新市场要么是好市场(每月贡献 +3),要么是坏市场(每月 −2),每月的结果还带有标准差为 4 的噪声,所以单看一个月几乎看不出什么。进入前认为是好市场的概率为 0.4,进入费用为 10。24 个月后试验结束:好市场继续经营价值 40,坏市场收尾还要损失 15。用贝尔曼方程求出最优退出门槛,再用两万次模拟比较几种规则。

# When to stop a market test: Bayesian optimal stopping solved by dynamic programming (Bellman).
# A new market is either good (monthly contribution +3) or bad (-2); each month's result is that
# mean plus noise with SD 4, so one month says little. Prior P(good) = 0.4. Entry costs 10.
# Each month the firm either stays (earns the month's result, updates its belief) or exits (value 0;
# spending already made is sunk). After 24 months the test is over: a firm still in the market keeps
# it, worth 40 if good and -15 if bad (the bad case still has wind-down costs). Units: arbitrary.
import math, random

G, B, SD, P0, ENTRY, T = 3.0, -2.0, 4.0, 0.4, 10.0, 24
TERM_G, TERM_B = 40.0, -15.0
GRID = [i / 400 for i in range(401)]
NODES = [(-3 + 6 * k / 60) for k in range(61)]                 # quadrature on a standard normal
W = [math.exp(-z * z / 2) for z in NODES]; SW = sum(W); W = [w / SW for w in W]

def update(p, x):
    lg = math.exp(-(x - G) ** 2 / (2 * SD ** 2)); lb = math.exp(-(x - B) ** 2 / (2 * SD ** 2))
    return p * lg / (p * lg + (1 - p) * lb)

def interp(vals, p):
    i = min(int(p * 400), 399); f = p * 400 - i
    return vals[i] * (1 - f) + vals[i + 1] * f

V = [p * TERM_G + (1 - p) * TERM_B for p in GRID]                 # value at the end of month T
threshold = []
for t in range(T - 1, -1, -1):                                   # Bellman: V_t(p) = max(0, E[x + V_{t+1}(p')])
    new, cut = [], None
    for p in GRID:
        cont = 0.0
        for z, w in zip(NODES, W):
            for mean, pm in ((G, p), (B, 1 - p)):
                x = mean + SD * z
                cont += w * pm * (x + interp(V, update(p, x)))
        new.append(max(0.0, cont))
        if cut is None and cont > 0: cut = p
    V = new; threshold.append((t, cut))
print("exit when P(good) falls below:", ", ".join(f"month {t}: {c:.2f}" for t, c in sorted(threshold)
                                                    if t in (1, 3, 6, 12, 18, 23)))
print(f"value of entering with the optimal stopping rule: {interp(V, P0) - ENTRY:+.1f}")

def simulate(policy, runs=20000, seed=1):
    rng = random.Random(seed); total = 0.0; exits = 0
    cut = dict(threshold)
    for _ in range(runs):
        good = rng.random() < P0; p = P0; value = -ENTRY; out = False
        for t in range(T):
            if policy(t, p, cut): out = True; exits += 1; break
            x = (G if good else B) + rng.gauss(0, SD); value += x; p = update(p, x)
        if not out: value += TERM_G if good else TERM_B
        total += value
    return total / runs, exits / runs

pols = {"commit for 24 months, no exit": lambda t, p, c: False,
        "3-month test: exit at month 3 if P(good) < 0.4": lambda t, p, c: t == 3 and p < 0.4,
        "optimal (Bellman) rule": lambda t, p, c: p < c[t]}
for name, pol in pols.items():
    v, e = simulate(pol)
    print(f"{name:48s} mean value {v:+6.1f}   share of runs that exit {e:.0%}")
print("never enter                                      mean value   +0.0")
# exit when P(good) falls below: month 1: 0.05, month 3: 0.05, month 6: 0.06, month 12: 0.07, month 18: 0.09, month 23: 0.28
# value of entering with the optimal stopping rule: +27.9
# commit for 24 months, no exit                    mean value   -2.7   share of runs that exit 0%
# 3-month test: exit at month 3 if P(good) < 0.4   mean value  +20.9   share of runs that exit 57%
# optimal (Bellman) rule                           mean value  +28.9   share of runs that exit 61%
# never enter                                      mean value   +0.0

这里有三个值得注意的结果。

第一,承诺 24 个月、绝不退出的期望价值是负的(−2.7),而允许退出使同一个市场的进入价值变成了正的。止损权利本身创造了价值:它把坏市场的损失截断,同时保留了好市场的收益。这正是「小成本试错」背后的数学道理。

第二,「第三个月检查一次、信念低于 0.4 就撤」这条简单规则已经拿到了大部分价值(+20.9)。

第三,最优规则比三个月止损线更有耐心:在前几个月,只有当信念跌到 0.05 左右时才退出;越接近试验结束,门槛越高。原因是早期的信息还很少,而好市场的长期价值很大,过早退出会把许多好市场也错杀掉。最优规则的价值约为 +28~+29(动态规划给出 27.9,模拟给出 28.9,差别来自网格与积分的离散化),比三个月规则高出约三四成。所以,「三个月不行就撤」是一个不坏的经验法则,但不是最优解;一个更好的说法是:退出门槛应当随着信息的积累而提高,而不是在一个固定的日子一刀切。

证据

人在实际决策中常见的偏差往往不是退得太早,而是退得太晚。斯托的经典实验发现,当被试对一项早先的投资决定负有个人责任、而该决定的结果不好时,他们反而倾向于向这项投资追加更多资金,这被称为承诺升级 (Staw 1976)。事先写好的退出规则的一个作用,正是对抗这种倾向。

止损也是一个信号

到目前为止,退出只是企业自己的事。现在把合作方放进来。退出的一方知道自己为什么退出,合作方却只能根据看到的行为推断。这是一个信号博弈:行动在改变结果的同时,也在传递关于行动者类型的信息 (Spence 1973)。在重复的合作中,这种信息会累积成声誉:克雷普斯与威尔逊等人证明,即使合作只进行有限次,参与者对对方类型的不确定性也足以让声誉成为约束行为的重要力量 (Kreps and Wilson 1982)。

推导

一次联合试点之后,外国企业在第三个月退出。本地合伙人要决定以后是否还与这家企业合作。在合伙人眼里,企业可能是守规则型(只在市场确实不好时退出,市场不好的概率为 0.5),也可能是机会主义型(市场不好时退出,市场好时也有 60% 的可能退出,带走合伙人建立的渠道和关系;这相当于一个折现因子很低、只看眼前的参与者)。合伙人的先验是 80% 对 20%,只有当他认为对方是机会主义型的概率低于 0.25 时,才会参与下一次合作。

# A stop-loss exit as a signal. After a joint pilot, the foreign firm exits at month 3. The local
# partner must decide whether to invest again with this firm. Two types of firm, prior 80 / 20:
#   rule-follower - exits only when the market really is bad (it is bad with probability 0.5);
#   opportunist   - exits when the market is bad, and also in 60 % of good markets, walking away
#                   with what the partner built (a low discount factor: it values today over the
#                   relationship).
# The partner joins the next venture only if P(opportunist) < 0.25. A next venture is worth +20 to
# the firm; with an opportunist the partner expects to lose, which is why it screens.
PRIOR_OPP, BAD, GRAB, CUTOFF, NEXT = 0.20, 0.5, 0.6, 0.25, 20.0

def post_opp(l_rule, l_opp):
    return PRIOR_OPP * l_opp / (PRIOR_OPP * l_opp + (1 - PRIOR_OPP) * l_rule)

cases = []
# 1. No stopping rule written on day 1: the partner cannot verify why the firm left.
cases.append(("no written rule, firm exits", BAD, BAD + (1 - BAD) * GRAB))
# 2. A state-contingent rule was written on day 1 (e.g. 'exit if cost per acquired customer stays
#    above X for two consecutive months on the shared dashboard'), and the trigger was hit.
#    Both types exit when the trigger is hit, so the exit itself carries no news about type.
cases.append(("written rule, trigger hit, firm exits", BAD, BAD))
# 3. A rule was written, but the firm exits although the trigger was NOT hit.
cases.append(("written rule, trigger not hit, firm exits", 1e-9, (1 - BAD) * GRAB))
# 4. A rule was written, the trigger was not hit and the firm stays.
cases.append(("written rule, trigger not hit, firm stays", 1 - BAD, (1 - BAD) * (1 - GRAB)))

print("what the partner sees                     | P(opportunist) | joins next venture | firm's value of it")
for label, l_rule, l_opp in cases:
    q = post_opp(l_rule, l_opp)
    join = q < CUTOFF
    print(f"{label:41s} | {PRIOR_OPP:.2f} -> {q:.2f}   | {'yes' if join else 'no':18s} | {NEXT if join else 0:+.0f}")
# Expected reputation value for a rule-follower firm that must exit with probability BAD:
no_rule = BAD * (NEXT if post_opp(BAD, BAD + (1 - BAD) * GRAB) < CUTOFF else 0) + (1 - BAD) * NEXT
rule = BAD * NEXT + (1 - BAD) * NEXT
print(f"honest firm's expected value of the next venture: without a written rule {no_rule:.0f}, with one {rule:.0f}")
print(f"sensitivity: an unexplained exit moves P(opportunist) from 0.20 to {post_opp(BAD, BAD + (1 - BAD) * GRAB):.2f};"
      " it costs the next venture only for partners whose cutoff lies between those two numbers")
# what the partner sees                     | P(opportunist) | joins next venture | firm's value of it
# no written rule, firm exits               | 0.20 -> 0.29   | no                 | +0
# written rule, trigger hit, firm exits     | 0.20 -> 0.20   | yes                | +20
# written rule, trigger not hit, firm exits | 0.20 -> 1.00   | no                 | +0
# written rule, trigger not hit, firm stays | 0.20 -> 0.09   | yes                | +20
# honest firm's expected value of the next venture: without a written rule 10, with one 20
# sensitivity: an unexplained exit moves P(opportunist) from 0.20 to 0.29; it costs the next venture only for partners whose cutoff lies between those two numbers

这段程序表达了第二章的核心论点。如果没有在第一天写下退出规则,退出本身就是一条不利的证据:合伙人认为对方是机会主义型的概率从 0.20 升到 0.29,越过了他的门槛,下一次合作因此告吹。如果第一天就写下了一个双方都能核实的退出触发条件,而触发条件确实被满足了,退出就不再携带任何不利的信息:两种类型在这种情况下都会退出,所以合伙人的信念保持在先验 0.20,合作得以延续。对一个真正守规则的企业来说,事先写下规则使它下一次合作的期望价值从 10 提高到 20。

程序还显示了这把锁的另一面:如果写了规则、触发条件没有满足,企业却退出了,那么机会主义型的概率直接升到 1。写下规则既保护了守规则的一方,也让违背规则的代价变得极其清楚。这正是它能够建立信任的原因。

注

这个模型有三处需要注意的地方。 第一,事先写下规则并不会让对方更信任你,它只是防止退出损害信任:在触发条件满足时,合伙人的信念停留在先验。真正提高信任的,是在规则下的守约行为(程序中「写了规则、没有越线、留了下来」使机会主义型的概率降到 0.09)。第二,结论对合伙人的门槛很敏感:一次没有解释的退出把概率从 0.20 推到 0.29,只有门槛恰好落在这两个数之间的合伙人才会因此拒绝合作。第三,退出对合作方造成的损失是真实的:合作方为这次合作所做的专用性投资(招人、谈渠道、向本地监管部门备案)在退出时可能一文不值。一份公平的退出规则不仅要写清楚什么时候退出,还应写清楚退出时如何补偿对方的专用性投资,第三章与第八章会回到这一点。

本章小结

从期权的角度看,灵活是有价值的,而且波动越大越有价值。从停时的角度看,最好的退出规则是随信息积累而收紧的门槛,而不是固定日期的一刀切。从信号的角度看,同一次退出,事先约定与事后宣布,对合作关系的影响截然不同。下一章转向契约本身:当环境变化快于条款编写的速度时,契约应该怎样写?

参考文献

Bellman, Richard. 1957. Dynamic Programming. Princeton University Press.
Cox, John C., Stephen A. Ross, and Mark Rubinstein. 1979. “Option Pricing: A Simplified Approach.” Journal of Financial Economics 7 (3): 229–63.
Dixit, Avinash K., and Robert S. Pindyck. 1994. Investment Under Uncertainty. Princeton University Press.
Kogut, Bruce. 1991. “Joint Ventures and the Option to Expand and Acquire.” Management Science 37 (1): 19–33.
Kreps, David M., and Robert Wilson. 1982. “Reputation and Imperfect Information.” Journal of Economic Theory 27 (2): 253–79.
McDonald, Robert, and Daniel Siegel. 1986. “The Value of Waiting to Invest.” Quarterly Journal of Economics 101 (4): 707–27.
Spence, Michael. 1973. “Job Market Signaling.” Quarterly Journal of Economics 87 (3): 355–74.
Staw, Barry M. 1976. “Knee-Deep in the Big Muddy: A Study of Escalating Commitment to a Chosen Course of Action.” Organizational Behavior and Human Performance 16 (1): 27–44.

Fan, Y. (2026). Cross-Cultural Contracts, Real Options and Game Theory of Southeast Asian Market Entry: Relational Contracting, Optimal Stopping Thresholds and Institutional Distance, Read Beside the Art of War [跨文化契约、实物期权与东南亚出海博弈论] (Version 1.0.0). 5D Library. https://doi.org/10.5281/zenodo.23753261 · Licensed under Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0).