量化交易中文教材

第 28 章 泡沫、崩盘与熔断机制

对应 Harris《Trading and Exchanges》第 28 章 Bubbles, Crashes, and Circuit Breakers。这是全书篇幅最长、与风险管理关系最密切的一章。作者的核心观点有三:第一,多数崩盘是对先前泡沫的修正,坏消息只是触发器;第二,熔断机制的效果取决于它限制了哪一类交易者,理论上净效应不确定;第三,危机后的监管常常出于政治考虑,经济价值很小,甚至服务于特定利益集团。原书写于 2002 年,之后又发生了 2010 年美股“闪崩”、2015 年 A 股股灾、2016 年 A 股熔断四天即暂停、2020 年 3 月美股十天四次熔断,文中以“现状补充”标出。

学习目标

读完本章,你应当能够:

  1. 描述泡沫形成和崩盘的典型链条,说明价值交易者为什么常常无力或不愿阻止泡沫。
  2. 区分基本面波动与暂时性波动,并会用方差比检验在数据中识别暂时性成分。
  3. 复述 1929、1987、1989 年三次崩盘和钯金、Iomega、Nasdaq、日本资产泡沫的要点,特别是 1987 年投资组合保险的机制与规模估算。
  4. 说清各种熔断机制(交易暂停、价格限制、保证金、交易税、交易限制环)的定义、支持理由与反对理由,理解“磁吸效应”和“价格限制保护清算系统”的道理。
  5. 掌握美国和 A 股现行熔断与涨跌停制度的基本规则及其演变,知道它们在回测和风控中意味着什么。
  6. 用“监管风险”和“监管俘获”两个模型理解危机后的监管选择。

读前导读

这一章在解决什么问题。 你在 CFA 的行为金融部分学过过度自信、羊群效应,在风险管理部分学过 VaR 和压力测试,在衍生品部分学过保护性看跌期权和 delta 对冲。这一章把它们串起来回答三个问题:泡沫为什么会形成而聪明钱不去戳破它;崩盘为什么常常远大于触发它的坏消息;熔断、涨跌停、保证金、交易税这些“刹车”到底有没有用。作者的立场很鲜明:多数崩盘是对先前泡沫的修正,坏消息只是导火索;刹车有没有用,取决于它刹住的是谁——拦住恐慌的不知情者是好事,拦住套利者和做市商则会让情况更糟。1987 年的投资组合保险是全章的主线案例:它就是用 delta 对冲动态复制一张看跌期权,跌了就卖,规模一大就变成自我强化的卖压。

需要先想起来的数学。

  • Black–Scholes 的 delta 与 gamma:看跌期权的 delta 为 \(N(d_1)-1\),所以“股票 + 看跌期权”组合的 delta 为 \(N(d_1)\),即复制时应持有 \(N(d_1)\) 份股票、其余放债券。gamma 是 delta 对标的价格的导数,衡量价格每变动一点 delta 要调整多少,也就是“每跌 1% 要卖多少”。导数的概念见 第 00 册第 02 章 导数与泰勒展开。
  • 几何级数与乘数:\(1+k+k^2+\dots=\dfrac{1}{1-k}\)(要求 \(|k|<1\))。你在年金现值和凯恩斯乘数里见过它。本章的“正反馈放大系数”\(1/(1-hI/D)\) 就是这个级数。例:\(k=0.75\),放大 4 倍。见 第 00 册第 04 章 级数与收敛。
  • 组合数 \(\binom{n}{k}\):从 \(n\) 个里不计顺序选 \(k\) 个的方法数,\(\binom{n}{k}=\dfrac{n!}{k!(n-k)!}\)。例:\(\binom{5}{2}=10\)。“为何是十月”的概率计算要用它。
  • 方差的可加性与 AR(1):独立增量之和的方差等于方差之和,所以随机游走 \(q\) 期收益的方差是单期的 \(q\) 倍。AR(1) 过程 \(z_t=\phi z_{t-1}+e_t\) 表示“今天的偏离是昨天偏离的 \(\phi\) 倍再加新噪声”,\(0<\phi<1\) 时偏离会逐渐消退。方差比检验就建立在这两点上。见 第 00 册第 07 章 概率中的分析工具。

怎么读这一章。 必读 28.2(泡沫与崩盘的一般理论,尤其 28.2.4 基本面波动与暂时性波动)、28.3.2(1987 年崩盘与组合保险)和 28.4(熔断的支持与反对理由、磁吸效应、价格限制保护清算)。28.3 的其他案例(1929、1989、钯金、Iomega、Nasdaq、日本)是故事性材料,可以当读物快读。28.5 的监管政治学篇幅短、观点鲜明,建议读。现状补充里的美股和 A 股现行规则是做回测和风控必须掌握的事实。量化实战三段代码分别对应多重检验、正反馈放大和方差比,第一次读可以先看公式与解读,配合本章的推导拆解理解即可。


28.1 谁关心极端波动

泡沫和崩盘出现在价格与基本面价值(fundamental value)大幅偏离时,它们创造、毁灭和转移的财富往往巨大。关心的人各有理由:

  • 交易者:巨大的意外价格变动带来巨大风险和机会;
  • 清算所:大额亏损者可能无法结算,清算所及其会员承担违约成本;
  • 交易所和经纪商:极端价格变动常伴随巨量成交,可能压垮交易系统;持续大跌后成交量通常长期萎缩;
  • 微观经济学家:巨大的价格变动似乎与理性定价不一致,过度波动可能导致资源错配;
  • 宏观经济学家:市值大幅变化的财富效应可能影响投资和消费。

所以监管者常常检视可能诱发或减弱极端波动的交易做法和规则。作者的总体判断是:有的政策能让市场更有韧性,有的价值不大,许多反而有害。极端事件很少有共同原因,但往往遵循共同模式;能识别这些模式的交易者可以建立盈利头寸。

价格加速器(Jack Treynor《The Canonical Bubble》)。价格上涨把财富从持空头的悲观者转给持多头的乐观者:乐观者变富,最乐观者可能加仓;悲观者亏损,最悲观者可能因追加保证金被迫回补空头。两种情况都推高价格。而此时愿意卖出的,都是观点不那么强烈的人。这是一个自我强化的机制。


28.2 泡沫与崩盘的一般理论

28.2.1 定义

  • 泡沫(bubble):价格涨到显著高于基本面价值的水平。基本面价值并非公共知识,否则就不会有泡沫。泡沫以崩盘告终时称为“破裂”。
  • 崩盘(crash):价格极快下跌,常在泡沫之后,也会在其他情况下发生;又称 market break(价格路径断裂)或 market meltdown(压垮订单处理能力时)。
  • 只影响单个工具的是个体事件,同时影响许多工具的是全市场事件(marketwide)。极大价格变动最常只影响单个工具,全市场泡沫和崩盘很罕见。

28.2.2 泡沫如何形成

  1. 过度乐观:新技术、新市场让部分买家极其兴奋,但他们看不出价格已反映了这些潜力,也低估了持有风险;足够多人同时买入就会推高价格。
  2. 动量交易者(momentum traders)跟进,希望涨势延续,有些人只是想赚到邻居朋友已赚到的钱。足够多人跟进时期望会自我实现,但最后的买家会损失惨重。
  3. 订单预期者(order anticipators)预期新的不知情买家到来而先行买入,只要能在下跌前离场就能获利。
  4. 早期买家财富增加后更自信,早期卖空者为止损回补,进一步加速上涨。
  5. 价值交易者和套利者认识到价格过高,却无力或不愿大量卖出:
    • 无力:没有大额持仓可卖、资本不足以承担大额空头、做空困难;
    • 不愿:怀疑不知情者会继续推高价格,或对自己的估值缺乏信心。

作者用两个专栏说明后一点。“你相信自己是对的,但……信心就是一切”:与多数人对着干需要极大勇气,市场通常很善于汇集信息,价值交易者总要自问为什么自己比别人更懂;当存在无法消除的不确定性时,他们要等价格远离估值才会交易——这解释了泡沫为什么常出现在押注前景光明但未经验证的技术的股票上。“你知道自己是对的,但……时机就是一切”:卖得太早会错过不知情者继续推高的价格;做空太早会先亏损,若无法为亏损融资,经纪商会强制平仓,错过之后的下跌;等得太久,又会被其他价值交易者抢先。

金融直觉:教科书里的无套利定价假设套利者资本无限、可以无限期持有头寸。现实中做空一只被高估的股票,要面对三重约束:一是保证金与追保,价格继续上涨时你要不断补钱,就像 Spencer 例子反过来;二是融券成本与召回风险,热门股融券费率很高,出借方还可能随时召回;三是委托—代理约束,基金经理的资金来自客户,连续几个季度跑输,客户会赎回,经理被迫在最差的时点平仓。所以“价格错了”与“能从中赚钱”是两回事。学术上把这叫“套利的限制”(limits to arbitrage),它解释了为什么泡沫可以存在很久。

28.2.3 崩盘如何发生

价格最终涨到让卖方开始激进卖出的水平(长期持有者、想兑现的早期买家、逆向投资者、价值交易者、套利者)。一旦卖出引起下跌:动量买家失去兴趣,过度乐观者失去信心,卖方更有信心;后期买家卖出止损;保证金融资者被迫卖出满足追保;止损单被触发;订单预期者预见到追保和止损而抢先卖出。所有卖盘合力造成崩盘。崩盘中的不确定性和恐慌卖家的巨大流动性需求可能使价格跌破基本面价值,所以许多崩盘后会有反弹,交易者称之为死猫反弹(dead cat bounce)。

28.2.4 基本面波动与暂时性波动

先给结论:坏消息往往只是崩盘的触发器,真正的原因是先前的泡沫。

  • 基本面波动(fundamental volatility):由关于基本面价值的意外信息引起,价格变动是永久的,后续变动与之前无关。
  • 暂时性波动(transitory volatility):由不知情交易者的流动性需求引起,当价值交易者和套利者对价格—价值差采取行动时倾向于反转。

泡沫通常始于利好消息带来的上涨(基本面波动);伪知情交易者(pseudo-informed traders)随后对新闻和涨价反应过度,把价格推过价值(暂时性波动)。泡沫常在坏消息导致下跌时破裂:坏消息成为理性思考的焦点,人们更仔细地思考价值,许多人认定价格过高而卖出。由此产生的成交量和跌幅与新闻本身应有的影响严重不成比例——极端反应源于先前的高估,而不是对新闻的过度反应。这种回归虽把价格拉向价值,却属于暂时性波动,因为它只因泡沫期间价格被推高才会发生。崩盘末尾恐慌卖家把价格压到价值以下,以及随后的反弹,又造成额外的暂时性波动。

“消息还不够好”:1999–2000 年许多互联网公司公布创纪录盈利后股价反而下跌,因为公告促使人们认真思考价值,而这些公司无法实现维持过高预期所需的增长。

市场失灵还是市场修正? 分析者常找不到与全市场暴跌同等重要的坏消息,许多人因此认为崩盘证明市场失灵。作者认为多数崩盘更可能是对先前定价错误的修正,让价格更接近而不是远离基本面。证据是:若崩盘是失灵(价格跌到低于价值),之后价格应完全反弹,而实际上多数崩盘之后反弹很少。


28.3 案例

作者选了七个涉及微观结构问题的事件(另可参考 1637 年荷兰郁金香狂热和 1720 年英国南海泡沫),并提醒:多数情况下投资者情绪比任何市场结构问题都更重要,但公众往往在崩盘后要求改变市场结构。

28.3.1 1929 年股市崩盘

1929 年 10 月 28 日道琼斯工业平均指数(DJIA)跌 13%,29 日再跌 12%;虽 30 日涨 12%、31 日涨 3%,此后数年持续下跌,到 1932 年 7 月 8 日只剩 1929 年 9 月 3 日最高收盘(381.17 点)的约 11%。(精读笔记把峰值日期记为 9 月 7 日,此处按道指历史数据更正为 9 月 3 日。)此前 1924 年初到峰值 DJIA 上涨近 300%;直到 1954 年 11 月才创新高。当时交易者对无线电等新技术公司极其兴奋,龙头 RCA 直到崩盘 34 年后才创新高。崩盘部分源于前一个月下跌引发的追保卖出,也有价值交易者做空、投机者抢先卖出以及恐慌。事后看,1929 年在崩盘中卖出的人是幸运的(1987 年恰好相反)。国会随后在《1934 年证券交易法》中授权美联储规定融资买股的保证金比例,美联储随即定为 45%。许多人认为 1929 年崩盘导致了大萧条,但很少有经济学家这么认为:大萧条更可能源于过紧的货币政策导致的大规模银行倒闭,1937 年削减政府支出又延长了萧条。

28.3.2 1987 年 10 月股市崩盘

事实。1987 年 10 月 19 日(周一,“黑色星期一”)DJIA 下跌约 23%(精确为 22.6%),至今仍是最大单日百分比跌幅;此前一周累计跌 9%,周五跌 5%,自 8 月 25 日历史高点累计跌 17%。而 1987 年初至 8 月 25 日 DJIA 涨了 44%。恢复很快:10 月 20、21 日分别涨 2% 和 10%,不到两年后的 1989 年 8 月 24 日创收盘新高;1987 年全年 DJIA 仍上涨 2%。

主因:投资组合保险(portfolio insurance)。这是一种动态交易策略,用以复制“组合 + 看跌期权”的收益,正确实施时保证组合总值不低于设定的最低值(即被复制看跌期权的行权价)。策略依据 Black–Scholes 公式告诉管理者价格变化后应买卖多少,所需交易量取决于组合波动率、保护期限和保底价值。作者指出它高度破坏稳定:价格涨时买、跌时卖,效果与止损单相同。保险规模小时可低冲击执行;但当很大比例的资金同时投保时,下跌会引来大量同时卖出;而且人人都知道下跌时会有大卖家,订单预期者会在下跌初现时抢先卖出,买家会撤出直到价格大跌——对保险卖盘的预期本身就能压低市场,即使保险卖盘尚未发生。

白话解释:组合保险的操作可以用你熟悉的“保护性看跌期权”来理解。假设你持有 1 亿美元股票,想保证一年后不低于 9,000 万。最直接的办法是买一张执行价 9,000 万的看跌期权。1987 年市场上没有足够大、足够长期的场内看跌期权,于是保险公司按 Black–Scholes 计算“股票 + 看跌期权”组合的 delta,即 \(N(d_1)\),只持有这么多比例的股票,其余放国债,用这种组合动态复制同样的收益。 关键在于 \(N(d_1)\) 随价格下跌而下降:价格越低,离保底越近,组合越要像债券,所以要卖出股票;价格上涨则买回。这就是“跌了卖、涨了买”,与止损单的行为完全一样。每跌 1% 要卖多少,由期权的 gamma(delta 的变化速度)决定。 买真实的看跌期权时,卖期权的人承担了这个风险,并收取权利金;动态复制时,没有对手方事先承诺吸收卖压,卖压直接打到市场上。

规模估算(原书专栏)。崩盘前美股总市值约 2 万亿美元,机构管理约一半,其中约 10% 使用组合保险,即约 1,000 亿美元。按原书取值,市场每跌 1%,保险者需卖出组合的 0.4%,平均股价约 40 美元:

\[ \frac{1000\ \text{亿美元}\times 1\%\times 0.4}{40\ \text{美元/股}}\approx 1000\ \text{万股}. \]

即市场每跌 1% 需卖出约 1,000 万股,而当时日均成交只有 1.6 亿股;而且这些钱是完全撤出股市,不是在股票之间再配置,谁来承接这部分风险是个问题。许多人知道这个问题,但没人知道到底有多少资金在用这种策略。这种不确定性加剧了崩盘:在相信卖家都已满足或放弃之前,没人愿意买。作者指出,若投保者购买交易所上市的看跌期权而不是动态复制,大家都能看到未平仓量,就能估计下跌时会有多少风险转移。(本章量化实战用 Black–Scholes 重算了这一比例。)

两个相关专栏:

  • “组合保险”还是“组合经理保险”? 原则上组合保险用来保护养老金等发起人免于资产跌破负债,行权价应等于负债价值,不应随市场变化。实践中投保者常随市值上涨上调行权价,像是锁定经理过去的成绩,后果是下跌时要卖出更多。
  • “价格在哪里?” 市场几乎从不白送东西。动态复制期权也有成本,只是不可观测:它总是在价格变动之后才交易(追涨杀跌的路径成本),复制交易本身还产生冲击,交易成本高时复制非常昂贵。许多采用者以为组合保险是低成本获得“无限上行、有限下行”的大便宜,知道全部成本后多数人不再使用。

其他成因:

  • 崩盘前的坏消息:贸易赤字、与德国的贸易摩擦、国际利率、美元汇率、待审的反收购立法,以及 10 月 19 日开盘前美国攻击波斯湾伊朗石油平台。合在一起也不足以解释从高点到 10 月 19 日收盘 36% 的跌幅。
  • 崩盘前价格可能偏高:相信组合保险能防止重大损失的管理者可能把配置从债券转向股票,其买盘或在 1987 年前三季度制造了小泡沫。
  • NYSE 容量不足:最严重的瓶颈是场内打印 SuperDot 电子订单的点阵打印机——打印速度跟不上订单到达,若干打印机故障,许多订单等了一个多小时才被打印执行,提交者不知道是否成交,又打电话让场内经纪人再下卖单。
  • 期现基差失联:正常时指数期货领先股市(期货系统更快,期货交易者只关心指数风险)。股市被容量问题拖慢时,期货跌得比股票快,10 月 19 日收盘时标普 500 期货相对现货指数折价超过 10%。正常情况下套利不会允许这么大的折价,但套利者基本停止了交易:股票卖单无法快速成交,不知道会以显示的价格还是更低价格成交。巨大折价让一些人向股市提交更多卖单,也加剧了困惑。
  • 联系不上 Nasdaq 交易商:当时 Nasdaq 交易商多通过电话接单,有些干脆摘下听筒。

总结:主因是交易者面对风险不确定性时的困惑——不确定组合保险卖盘有多大、订单能否执行、期现巨大价差意味着什么,导致许多人下了事后后悔的卖单。

全球困惑。1987 年崩盘是全球事件,许多市场跌幅超过美国。有人认为亚欧市场在美国开盘前就已崩盘,所以不是美国传导;另一些人指出亚欧市场可能是在预期美国会崩盘。公认的事实是:美国经济和市场规模巨大,跨境持股和国际投资者在多市场使用相同策略,资本市场相互连通,所以美国因素可能是全球崩盘的原因。

28.3.3 1989 年 10 月“小型崩盘”

1989 年 10 月 13 日(周五)下午美股跌约 7%。14:54 银团宣布不为 UAL(联合航空母公司)的杠杆收购融资,UAL 和其他潜在收购目标迅速下跌,指数期货照例领跌。几周内市场恢复。坏消息能解释收购目标股票的下跌,却难以解释整个市场的下跌。

线索之一:那天纽约和芝加哥都是暖和的“印第安夏日”,许多交易者 14:30 前就回家过周末了,市场流动性异常稀薄,UAL 消息到来时承接不了巨大的卖出需求。CME 规定标普 500 期货大幅变动时暂停交易,需由场内会员组成的价格限制委员会法定人数确认,据传那天下午凑不齐法定人数,因为太多成员提前离场享受好天气了。

线索之二是一个高度推测、从未证实的传言:有人认识到市场易受下行虚张声势(bluff,第 12 章的操纵策略)冲击而故意制造了小崩盘——流动性异常稀薄、UAL 消息吸引了所有人注意、又临近 1987 年崩盘两周年,条件理想;若有,最可能是在指数期货交易池中激进卖出。SEC 和 CFTC 的公开调查报告没有引用任何操纵证据。作者半开玩笑地说,操纵罪的诉讼时效早已过去,也许有一天会有人写回忆录讲述自己那天的所作所为——若根本没发生,那本回忆录就是小说了。

为何是十月? 1929、1987 年崩盘和 1989 年小崩盘都在 10 月,1997 年 10 月也很动荡;20 世纪波动最大的 10 个月份中有 4 个是 10 月(1929、1931、1932、1987)。作者给出四种解释:

  • 概率论:若三个极端事件随机落在一个世纪的 1,200 个月中,它们落在同一个日历月(不限于 10 月)的概率为

    \[ P=\frac{12\binom{100}{3}}{\binom{1200}{3}}\approx 0.68\%, \]
    任一月份在前 10 名中随机出现 4 次及以上的概率不到 8%,所以不太像纯属巧合;

    推导拆解:分母 \(\binom{1200}{3}\) 是从一个世纪 1,200 个月中随机选 3 个月放极端事件的全部方法数。分子先选一个日历月(12 种选法),再从该日历月的 100 个具体月份(100 个一月、100 个二月……)中选 3 个,方法数 \(\binom{100}{3}\)。两者相除即“三次落在同一日历月”的概率:

    \[\frac{12\times161{,}700}{287{,}281{,}200}\approx0.68\%.\]
    注意分子乘了 12:问的是“落在某个相同月份”,而不是“落在十月”。若事先指定十月,概率还要再除以 12,约 0.056%。乘 12 是对“看了数据才挑出十月”这一事后选择的校正,量化实战代码 1 会对比这两种问法。

  • 社会史:第一次事件可能落在任何月份,之后因周年纪念成为心理焦点(1997 年 10 月正是 1987 年崩盘十周年);

  • 政治学:10 月是政府夏休后开始办事的月份;

  • 精神病学/进化生物学:秋季日照变化让许多人抑郁、更风险厌恶。

后两种理论意味着其他秋季月份也应更波动,原书图 28-5(1901–2000 年按日历月的 DJIA 平均绝对日收益)显示确实如此。这个专栏是检验日历异象时“多重检验”问题的好例子,本章量化实战会复算这两个概率。

28.3.4 钯金“冷聚变”泡沫

1989 年 3 月 23 日,电化学家 Fleischmann 和 Pons 宣布用氘使钯阴极过饱和实现了室温冷聚变。若属实,钯需求会大增。几天后一些交易者开始买入钯期货,钯价三周内飙升 24%,有几天以 6 美元的日涨停收盘;随着各地实验室宣布无法复现,价格回落。作者把它归为罕见的基本面波动而非泡沫:买家知道许多物理学家怀疑,但也知道若结果属实钯可能升值数倍,就当时的信息而言决策相当合理。这是“意外的极端利好消息 + 随后一连串利空消息逐步消除不确定性”。

28.3.5 Iomega 泡沫与崩盘

Iomega 生产 Zip 可移动磁盘驱动器,磁盘只比 3.5 英寸软盘略大,容量近 70 倍,许多人认为它将取代所有新电脑的软驱。1996 年初买家把股价推到盘中高点 \(55\tfrac{1}{8}\) 美元(复权),按 1995 年盈利计市盈率近 1,000;峰值时 Iomega 市值超过 IBM 的 10%。预期中的盈利增长从未实现,最好年份复权每股盈利仅 1.26 美元,2001 年在廉价可擦写光驱的竞争下盈利和股价崩溃。

好公司与好投资:以远高于价值的价格买 Iomega 的人犯了最常见的投资错误——把好公司当成好投资。好公司只有在价格不太高时才是好投资;差公司在价格足够低时也可能是好投资。

28.3.6 Nasdaq 泡沫

与 1929 年前的泡沫很像:都由对新技术公司(这次是互联网、电信、计算机、生物技术)过度乐观的交易者推动,都有动量交易者推波助澜。具体机制:

  • 基金流量的正反馈:动量投资者把钱投入近期表现好但高度集中的基金,基金把新钱投进已持有的同样股票,推高持仓价格,保证基金继续高回报,吸引更多资金;许多科技股流通盘很小,加剧了这一现象。
  • “股票长期必胜”的新信仰:投资顾问告诉长期投资者长期看股票总是跑赢,只要等得够久就不会亏。但证据主要来自美国,许多其他市场的股票表现并不如此(幸存者偏差)。
  • 网上交易带来新的不知情交易者:许多人怕打电话给经纪人下单(怕被评判、怕说不清),网上交易让这些人能随时自在地进场。

“愿你活得够久!” 原书写道,在峰值附近(盘中 5,132.52 点)买入 Nasdaq 股票的投资者要等很久才能追上同期的债券投资,陪伴他们的还有在 1989 年 12 月日经 225 指数接近 38,916 点峰值时买入日本股票的人。原书把 Nasdaq 峰值日期写作 2001 年 3 月 10 日,实为 2000 年 3 月 10 日。

现状补充:Nasdaq 综合指数 2000 年 3 月 10 日收于 5,048.62 点(盘中最高 5,132.52 点),2002 年 10 月跌去约 78%,直到 2015 年 4 月收盘才重新站上 2000 年的高点。日经 225 指数 1989 年 12 月 29 日收于 38,915.87 点,直到 2024 年 2 月才突破这一纪录,用了 34 年。两个例子都印证了作者的提醒。

28.3.7 日本资产泡沫

日本股票和房地产在 1989 年底见顶,之后长期未能恢复。成因:国内外投资者对“日本经济奇迹”极度自信;1980 年代中后期利率极低、货币供应量快速增长(“日本钱太多了”),而日本个人和机构历来很少投资海外,过剩资金推高国内股票和房地产价格。

28.3.8 案例小结

市场崩盘像车祸和空难:通常不是单一原因,而是多种因素让人们对正在发生的事困惑,在对风险不确定时最危险——关注错误的问题、忽视重要风险、事情发生太快时恐慌。幸存者很少重犯同样错误,崩盘再次发生往往是因为新参与者没学到前人的教训。导致崩盘的条件往往早在崩盘前就开始制造泡沫,崩盘更多是理性定价的最终恢复,而非需要纠正的暂时问题。

现状补充:2010 年 5 月 6 日“闪崩”。美东时间下午约 14:32 起,美国股指在几分钟内急跌,DJIA 盘中一度下跌近 1,000 点(约 9%),随后在约 20 分钟内收复大部分跌幅。SEC 与 CFTC 的联合调查报告认为,在市场本已紧张、流动性脆弱的背景下,一家基金用只按成交量比例、不考虑价格和时间的算法卖出约 75,000 手标普 500 E-mini 期货(约 41 亿美元),高频交易者之间快速倒手,做市商撤出,部分股票以 1 美分的“占位报价”(stub quote)成交,交易所事后撤销了偏离参考价过大的成交。2015 年英国交易员 Navinder Sarao 被控在当天及其他时间以“幌骗”(spoofing,挂出无意成交的大单制造假象)操纵 E-mini 期货。闪崩几乎重演了本章的所有要素:大额不顾价格的卖单、流动性提供者撤离、期现联动、交易者对发生了什么的困惑,以及事后迅速到来的监管改革(见 28.5 节)。

A 股对照:2015 年 A 股股灾。上证综指 2015 年 6 月中旬见顶后在场外配资清理、杠杆资金被动平仓中快速下跌,出现“千股跌停”和大面积停牌,随后监管部门组织大规模救市。它同样符合泡沫(杠杆和动量推动)—触发(去杠杆)—崩盘(追保、强平、流动性枯竭)的链条,并表明涨跌停和停牌本身会把流动性需求推迟和集中。


28.4 熔断机制:定义与经济学

政策制定者针对极端波动提出的主要工具统称熔断机制(circuit breakers),即限制交易活动的规则:

工具 定义
交易暂停(trading halts) 价格已经或即将变动特定幅度时停止交易,直到订单失衡解决或经过规定时间
价格限制(price limits,涨跌停) 当日所有成交价须在一定范围内;交易者不愿在范围内成交时交易实际停止
交易税(transaction taxes) 通过征税减少交易
保证金要求与持仓限额 限制可累积的头寸规模
交易限制环(collars) 在特定条件下限制对交易系统的使用

先区分几个常被混用的概念:熔断一般指全市场同时暂停交易,由指数跌幅触发;涨跌停是单个品种的价格边界,触及后仍可在边界价及以内交易;个股停牌通常由公司重大事项或交易所对异常波动的处理引起;临时停牌/波动性中断是单个品种在短时间剧烈波动后的短暂暂停。它们的经济效果相近,但触发条件、法律依据和对订单的处理不同。

28.4.1 交易暂停与价格限制的支持理由

  1. 减缓价格变动、降低短期波动。是否可取取决于波动的原因。若源于新的基本面信息,暂停只是推迟不可避免的结果,暂停期间价格信息性降低,暂停的不确定性还可能令不知情者恐慌,复牌时产生不必要的暂时性波动;若源于不知情者的订单失衡或恐慌,暂停可以在他们行动前把他们拦下,保护市场,也保护他们自己。
  2. 给流动性提供者入场的机会。市场快速变动时,愿意提供流动性的人可能没注意到;暂停并公布订单失衡可以吸引流动性。
  3. 改变定价规则。连续交易采用歧视性定价(discriminatory pricing):每张挂单按自己的限价成交。价格快速下跌时,挂限价买单的人成交后价格继续下跌,立即亏损。暂停后以集合竞价复牌,采用统一定价(uniform pricing):所有参与竞价的买单得到同一价格,与其限价无关。受有效暂停规则保护时,限价单交易者在正常情况下更愿提供流动性。

白话解释:用数字对比两种定价。股价正从 50 快速下跌,簿上有三张买单:49.8、49.5、49.0 各 100 股。一笔 300 股的大额市价卖单进来。

  • 连续交易(歧视性定价):三张买单分别按自己的限价 49.8、49.5、49.0 成交。几秒后价格稳定在 49.0,挂 49.8 的人立刻每股亏 0.8,挂 49.5 的亏 0.5。最积极提供流动性的人亏得最多。
  • 暂停后集合竞价(统一定价):所有订单汇总后按一个出清价成交,比如 49.0,三张买单都以 49.0 成交。挂 49.8 的人愿意出 49.8,却只付 49.0,不会因为“出价积极”而吃亏。 所以集合竞价相当于给了挂单者一份保险:快速下跌中不会被逐级“吃掉”。知道有这份保险,挂单者平时更愿意挂出积极的价格。
  1. 给交易者时间应对盘中追保、撤销止损单。无法满足追保时经纪商会强平,止损单会加剧不知情订单流的失衡,减少它们能降低暂时性波动。

28.4.2 反对理由

  1. 磁吸效应(gravitational effect,也译“引力效应”):交易者若担心在提交订单前就触发暂停,会提前提交以提高成交概率,价格限制于是吸引订单、加剧波动。若磁吸效应强,酌情暂停(discretionary halt)可能优于价格触发的暂停,因为更难预测——例如 NYSE 允许场内官员在认为交易将变得无序时暂停(通常在订单失衡或公司即将发布重大信息时),几乎没有磁吸效应。

    金融直觉:磁吸效应和银行挤兑是同一个结构。如果储户知道“提款超过某个额度银行就会冻结账户”,那么一旦提款接近这个额度,每个人都想赶在冻结前把钱取出来,冻结反而来得更快。对交易者而言,熔断意味着“一段时间内无法交易”,这本身就是一种流动性风险;当价格接近阈值,持有头寸又必须减仓的人(例如有追保压力、有风控止损线的人)最理性的做法就是抢先卖出。阈值越明确、两档之间距离越近,这种“抢在门关上之前出去”的激励就越强,2016 年 A 股 5% 与 7% 两档的设计正是如此。

  2. 价值交易者若知道暂停时媒体会通知自己,可能减少日常监控,使暂停之间的市场更不流动、暂时性波动更大、暂停更频繁。

其他问题:若多个市场交易本质相同的风险,只有一个市场暂停时订单流会转向其他市场;熔断若可取,各交易所必须协调,否则可能把所有超额流动性需求集中到某一个市场,反而加剧波动。

价格限制保护清算系统。知道自己破产的交易者通常不交保证金,不确定是否破产的人可能为保住头寸而交。暂停和价格限制让接近破产者难以判断自己是否已破产,从而在违约前交更多保证金,所以有价格限制的市场保证金要求可以更低。

例(原书“我破产了吗?”专栏)。Spencer 持有名义 100 万美元的期货多头,交了 10 万美元保证金,另有 10 万美元其他资产;合约每点 1 万美元,价格跌 20 点他就破产。

  • 若价格立即跌 25 点:亏损 25 万美元。保证金 10 万被扣光,经纪商还要追讨 15 万。他虽有 10 万可付,却很可能不愿付;若他藏匿财产,经纪商可能损失 15 万外加追讨费用。
  • 若每日最多跌 5 点:第一天跌停,经纪商扣 5 万保证金并要求补 5 万;若 Spencer 没意识到总跌幅会是 25 点,可能自愿补交。第二天再跌停,他又补 5 万,希望反弹。第三、四天继续跌停,他无力再补,经纪商从剩下的保证金中扣除这两天的亏损(共 10 万,保证金用尽)。最后一段 5 点下跌后强平,他欠经纪商 5 万美元。

两种情形的总亏损都是 25 万,但经纪商的坏账从 15 万降到 5 万:价格限制让他在违约前多付了 10 万。

金融直觉:用公司金融里“有限责任 = 股东持有看跌期权”的视角看。Spencer 的违约行为就像一家资不抵债公司的股东:一旦确定自己的权益为负,继续投钱只是补贴债权人,理性选择是“行权”——不付钱走人。价格一次跌到底时,破产是确定的,他马上行权;价格分几天走完时,每一天他都还不确定自己是否已经资不抵债,期权仍有“反弹后回本”的时间价值,于是愿意继续补保证金。价格限制没有改变他的总损失,只是延迟了信息揭示,让他在不确定中把更多钱交给了清算系统。这也说明价格限制的受益者主要是经纪商和清算所,而不是投资者本人。

NYSE Rule 80B:协调的交易暂停。1987 年崩盘后美国股票和指数期货交易所采用协调的暂停规则。原书时点(1998 年起)的版本:

级别 DJIA 较前收盘跌幅 暂停安排
一级 约 10% 14:30 前发生暂停 1 小时;14:30–15:30 发生暂停半小时;15:30 后不暂停
二级 约 20% 13:00 前发生暂停 2 小时;13:00–14:00 发生暂停 1 小时;14:00 后若未触发三级则不暂停
三级 约 30% 任何时间触发即当日休市

(上表据原书 PDF p.586 侧栏,原书引用的来源是 NYSE Rule 80B 当时的版本。学习时掌握「分级触发、越接近收盘暂停越短、最高级当日休市」的结构即可;现行美股规则见下文「现状补充」。)这些协调规则在原书时点只触发过一次:1997 年 10 月 27 日 14:35,DJIA 已跌 350 点(约 4.5%),按当时以点数计的版本暂停 30 分钟;复牌后到 15:30 再跌 200 点,当日提前休市。许多人认为暂停来得太快,于是 1998 年初改为 10/20/30% 的比例阈值。

28.4.3 提高保证金与交易税

二者效果相关但不同:高保证金通过提高持仓成本、阻止资本受限者建大仓来减小头寸规模;交易税通过提高交易成本来减少交易次数,对高频策略的惩罚重于买入持有。评价时要逐一看它们对各类交易者(第 8–12 章的分类)的影响:

交易者类型 对价格的作用 限制其交易的效果
新闻交易者(知情) 让价格反映最新消息 价格调整变慢,信息性下降
价值交易者(知情) 把被推离的价格拉回价值,为不知情者提供流动性 暂时性波动上升
交易商 提供流动性 流动性下降,暂时性波动上升
订单预期者 抢跑不知情者时增加暂时性波动;长期相当于对知情交易征税 暂时性波动下降、价格信息性上升
虚张声势者 操纵价格诱骗不知情者 暂时性波动下降
功利型交易者(投资者、对冲者、资产交换者) 不知情,通常增加暂时性波动 短期降低波动,但阻碍他们解决重要经济问题,非常不可取
赌徒 以为自己知情,实际交易已被反映的陈旧信息 暂时性波动下降

理想的政策是限制订单预期者、虚张声势者和赌徒,而不过度影响交易商、知情者和功利型交易者——市场最终是为后者存在的。但很难设计出能区分他们的规则。交易税对高频交易者的影响大于低频交易者,多数功利型需求不需要频繁交易,所以交易税对功利型交易者的影响相对小;但它会不成比例地落在交易商身上,而豁免交易商又很难与其他高频交易者公平区分。

长期反效果:把不知情者赶出市场长期反而可能增加暂时性波动。知情者只有在不知情者交易并平均亏给他们时才能获利;没有这些利润,就没人投入估值研究,价格信息性下降,更难区分暂时性波动与基本面波动。

28.4.4 交易限制环:NYSE Rule 80A

作者所知唯一重要的交易限制环是 NYSE Rule 80A:DJIA 涨跌约 2% 后,禁止指数套利者用市价单交易标普 500 成分股的程序交易,只能用价格敏感订单(tick-sensitive orders,例如卖出必须在上涨档位成交)。

主要效果是让指数套利在限制生效时更难、更贵。作者认为它大概会增加暂时性波动,因为它迫使现货和期货市场更独立地运行:不受限时,套利者把流动性从需求最大的市场转移到供给最大的市场,两边的失衡有时相互抵消;受限时各市场须分别满足流动性需求。实践中套利者能多种方式规避:通过场内经纪人提交;每次少于 15 张订单以免被归为程序交易;用非成分股构建对冲组合——成本和风险增加不多,所以影响不大。支持者称它防止更波动的期货市场把波动传给现货,这没错,但没有区分基本面波动和暂时性波动:期货短期更波动,正是因为它更适合快速发现指数的基本面价值。

28.4.5 熔断小结

可以确定的是熔断减缓与基本面信息相关的价格变动。对暂时性波动的影响不确定:限制最助长暂时性波动者(不知情者、订单预期者、虚张声势者)时降低波动;限制抑制暂时性波动者(知情者、交易商、套利者)时增加波动。Rule 80A 主要限制套利者,大概略微增加暂时性波动;交易暂停主要保护流动性提供者、阻挠不知情者,可能降低暂时性波动。大量实证研究总体无定论,因为极端事件太少,难以有信心地评估。

28.4.6 其他回应

当过度波动与交易系统缺陷有关时,市场反应迅速:1987 年后 NYSE 投资数十亿美元于信息基础设施;Nasdaq 把原本自愿参与的小额订单执行系统 SOES 改为强制参与,盘中退出的做市商须等 20 个交易日才能恢复做市。市场也推出新产品,例如为满足组合保险需求设计的长期期权,但不太成功——保险的成本一旦清晰可见,经理们就不愿买了。

现状补充:美国与 A 股现行制度如下(A 股部分即本章的「A 股对照」)。

美国全市场熔断:2013 年起改以标普 500 指数为基准,三级阈值为较前收盘下跌 7%、13%、20%;一、二级在 15:25 前触发时全市场暂停 15 分钟,15:25 后不暂停;三级在任何时间触发都当日休市。2020 年 3 月新冠疫情冲击中,一级熔断在 3 月 9、12、16、18 日四次触发,是这套规则首次真正启用。

个股层面:2010 年闪崩后先推出个股熔断(5 分钟内涨跌 10% 暂停 5 分钟),2013 年起由“涨跌限制机制”(Limit Up-Limit Down, LULD)取代:为每只股票按近期参考价计算动态价格带,宽度按股票层级和价格分为 5%、10%、20% 等档,开盘后和收盘前的部分时段放宽;成交不得在带外发生,报价触及带边界且 15 秒内未回到带内时,暂停交易 5 分钟。同期取消了 1 美分“占位报价”,要求做市商的报价不得离 NBBO 过远。

卖空限制:作者在本章结尾建议取消“卖空须在上涨档成交”的规则。SEC 于 2007 年废除了 uptick rule,2010 年又推出 Rule 201:某股票较前收盘下跌 10% 后,当日余下时间和次日卖空只能以高于全国最优买价的价格进行。NYSE Rule 80A 的指数套利限制环也在 2007 年被取消。保证金方面,美联储 Regulation T 的股票初始保证金比例自 1974 年以来一直是 50%。

A 股涨跌停:1996 年 12 月 16 日起沪深股票实行 10% 涨跌幅限制,主板 ST 股票为 5%;科创板(2019 年起)、创业板(2020 年注册制改革后)为 20%,北交所为 30%;注册制新股上市前 5 个交易日不设涨跌幅限制。交易所对盘中异常波动还设有临时停牌等措施(如上市初期不设涨跌幅的股票,盘中较开盘价首次涨跌 30%、60% 时临时停牌 10 分钟)。

A 股 2016 年熔断:以沪深 300 指数为基准,涨跌 5% 暂停交易 15 分钟,涨跌 7% 当日收市(14:45 后触发 5% 也直接收市)。2016 年 1 月 1 日实施,1 月 4 日和 1 月 7 日两次触发 7% 提前收市,其中 1 月 7 日开盘后不到半小时即收市;1 月 8 日起暂停实施,前后仅实施 4 个交易日。普遍的看法是 5% 与 7% 两档太近、且 A 股本身有 10% 个股涨跌停,磁吸效应明显:触发第一档后,投资者担心复牌后很快触发第二档而抢先卖出,结果加速了第二档的到来。这是本章“磁吸效应”和“熔断须与其他制度协调”的教科书式案例。

法律依据:上述规则在美国由交易所规则或全国市场系统计划(NMS Plan)规定,须经 SEC 批准;期货市场的价格限制由交易所规定、受 CFTC 监管;保证金由美联储依《1934 年证券交易法》第 7 条规定。A 股的涨跌幅、熔断和停复牌由沪深北交易所业务规则规定,经证监会批准。交易者在熔断和停牌期间的权利(能否撤单、复牌方式)以各交易所规则为准,回测和实盘系统必须按当时有效的规则建模。


28.5 监管干预的政治学

作者用两个模型解释危机后的监管:监管风险模型解释为什么监管者在监管几乎没有经济价值时仍会监管;寻租模型解释被监管者如何利用监管程序谋取私利。

28.5.1 监管风险:为什么总会推出温和的熔断

1987 年后采用的协调暂停规则几乎毫无意义:最初的 Rule 80B 只在 DJIA 下跌超过 12% 时暂停,美国史上只发生过一次(1987 年崩盘本身)。为什么?可以想象监管者的个人成本收益(原书表 28-1):

后续事件 采用熔断 不采用熔断
再次崩盘 无成本:人们知道无法阻止崩盘,但不会怪监管者没尝试 高成本:公众追究其未保护公众
未再崩盘 有些收益:人们可能把功劳归于熔断,其成本不易察觉 无成本:省下了熔断成本,但没人表扬

无论是否再崩盘,“采用熔断”都不比“不采用”差,是占优策略。再比较温和与严厉(原书表 28-2):

后续事件 温和熔断 严厉熔断
再次崩盘 有些成本:可能被指力度不够,但许多人会认为监管无法阻止崩盘 可能高成本:有人会说正是严厉熔断阻碍了市场自救
未再崩盘 无成本:对市场影响很小 高成本:被指反应过度

白话解释:“占优策略”是博弈论术语:不管对方怎么做(这里是“不管之后是否再崩盘”),这个选择的结果都不比其他选择差,至少在一种情况下更好。读表的方法是按行比较:第一行“再次崩盘”,采用熔断无成本、不采用成本高;第二行“未再崩盘”,采用熔断有些收益、不采用无成本。两行都是“采用”更好,所以监管者无需判断未来是否会崩盘就会选择“采用”。注意,这是监管者个人的成本收益,不是社会的;作者的意思正是两者不一致:对监管者占优的政策,对市场可能毫无价值。

所以温和熔断占优。结论依赖作者假设的成本收益,但与公认的监管行为一致:危机后监管者常推出几乎没有实际影响的政策;面对后果不确定时不愿果断行动;果断行动需要明确的意识形态或无歧义的证据作为政治授权,1987 年后没有这种授权。单双号加油专栏是极端例子:1973 年石油禁运期间,美国不以涨价配给汽油,而规定单号车牌单日加油、双号双日加油,几乎没人天天加油,所以这对排队几乎没影响,只是防止了恐慌司机每天去加满。

28.5.2 监管俘获:Rule 80A 为谁服务

对 Rule 80A,寻租(rent-seeking)分析更有洞察力:

  • 套利者与专家竞争提供流动性:套利者用对冲组合在同一时点跨市场转移流动性,专家用存货在同一市场跨时间转移流动性。一方不能行动时,另一方的获利机会更大。限制指数套利,就是以套利者为代价让专家受益。
  • 专家借此避免与套利者交易:向套利者提供流动性时专家常站错边,例如期货下跌而现货滞后时,套利者向专家卖出股票,专家以很可能过高的价格买入。
  • NYSE 内部的权力对比:1997 年 11 月 NYSE 1,366 名会员中 470 名是全职专家,而只有 20 名会员完成了 95% 的程序交易;独立场内经纪人的忠诚在每天打交道的专家一边;交易所高管的利益也更与专家一致,因为专家交易只惠及 NYSE,套利交易还惠及竞争对手期货市场。

这解释了 80A 与 80B 的两个显著差异:80A 由小得多的价格变动触发(1999 年修订前几乎每个交易日都会触发);80A 对上涨和下跌都适用,而 80B 只针对下跌。两者都确保 80A 比 80B 触发频繁得多,符合专家限制套利的利益。

28.5.3 作者的政策建议

多数监管举措来得太晚,而且针对崩盘本身,而不是导致崩盘的泡沫。交易暂停和价格限制至多能让极端变动有序发生。防止泡沫的最好办法是赋能价值交易者:降低他们获取高质量信息的成本;消除做空障碍,例如取消卖空的上涨档规则,让卖空者更容易拿到卖空所得资金的利息。


量化实战

一、本章在量化交易中的用处

  1. 压力测试情景。流动性枯竭、期现基差失联、相关性骤升(原书思考题 6)、熔断和涨跌停导致无法成交,都应进入压力测试。不要假设危机时能以正常价差和正常速度成交。
  2. 拥挤交易与顺周期卖盘。“对组合保险卖盘的预期本身就能压低市场”对应今天的波动率目标策略、CTA 趋势策略、风险平价去杠杆、杠杆 ETF 收盘调仓、做市商的 gamma 对冲。风控中应估计同类策略的规模和触发阈值。
  3. 动态对冲的隐性成本。“价格在哪里?”专栏就是 delta 对冲损益分析的出发点:复制总是在价格变动之后交易,离散对冲误差和冲击成本使复制成本高于理论期权价格(第 08 册期权部分会展开)。
  4. 因子研究。基本面与暂时性波动的区分,对应短期反转因子(赚暂时性波动反转的钱)和动量因子;泡沫中的动量盈利与崩盘时的“动量崩溃”(momentum crash)与本章机制吻合。
  5. 回测中的价格限制。A 股涨停时买不进、跌停时卖不出,停牌期间无法交易;用收盘价回测而不处理这些情况,会系统性高估反转和事件策略的收益。磁吸效应也会影响涨跌停附近的日内成交。
  6. 日历异象与多重检验。“十月效应”专栏提醒:在 12 个月份、几十种日历划分中寻找异常,总会找到“显著”的东西。

二、代码 1:复算“为何是十月?”的概率

import numpy as np
from math import comb

# 1) “为何是十月?”:三个极端事件随机落在 1,200 个月中,落在同一个日历月的概率
p_same = 12 * comb(100, 3) / comb(1200, 3)
print(f"三次事件落在同一日历月的概率: {p_same:.4%}")

# 2) 百年中波动最大的 10 个月份里,某个日历月出现 >=4 次的概率(蒙特卡洛)
rng = np.random.default_rng(28)
months = np.repeat(np.arange(12), 100)            # 1,200 个月,每个日历月 100 个
n = 200_000
hits_any = hits_oct = 0
for _ in range(n):
    top10 = rng.choice(months, size=10, replace=False)
    cnt = np.bincount(top10, minlength=12)
    hits_any += cnt.max() >= 4
    hits_oct += cnt[9] >= 4
print(f"某个日历月在前 10 名中出现 >=4 次的概率: {hits_any/n:.3%}")
print(f"指定十月出现 >=4 次的概率: {hits_oct/n:.3%}")

输出:

三次事件落在同一日历月的概率: 0.6754%
某个日历月在前 10 名中出现 >=4 次的概率: 7.703%
指定十月出现 >=4 次的概率: 0.635%

原书的两个数字(约 0.68%、不到 8%)都得到验证。注意第二个概率与第三个的差别:事先指定十月时概率只有 0.6%,而事后看哪个月最多时概率是 7.7%,相差十几倍。原书正确地使用了后者——因为“十月”是看到数据之后才挑出来的。这正是多重检验的要点:事后挑选的显著性必须按全部候选来校正。

三、代码 2:投资组合保险需要卖多少,以及正反馈的放大

用 Black–Scholes 计算“组合 + 看跌期权”的合成持仓:组合价值 \(S+P\) 对指数的 delta 为 \(N(d_1)\),即持有 \(N(d_1)\) 单位指数的股票、其余为债券。指数下跌 1% 时需要卖出 \(\big(N(d_1^{0})-N(d_1^{1})\big)S_1\) 的股票。再用一个最简单的线性冲击模型看正反馈:设使指数下跌 1% 所需的净卖出金额为 \(D\)(市场深度),每跌 1% 保险者卖出 \(hI\),初始冲击为 \(x\%\),则总跌幅满足 \(y=x+\dfrac{hI}{D}\,y\),即

\[ y=\frac{x}{1-hI/D}. \]

推导拆解:

  1. 记 \(k=hI/D\)。含义:每跌 1%,保险者卖出 \(hI\) 美元;市场每吸收 \(D\) 美元的净卖出就跌 1%,所以这笔卖出又造成 \(k\%\) 的额外下跌。
  2. 一次性解法:总跌幅 \(y\) 由两部分组成,初始冲击 \(x\) 加上保险卖盘造成的 \(ky\)。所以 \(y=x+ky\),移项 \(y(1-k)=x\),得 \(y=x/(1-k)\)。
  3. 逐轮理解:初始跌 \(x\),保险者卖出引起再跌 \(kx\);这次下跌又引起 \(k\cdot kx=k^2x\);如此无限循环。总跌幅 \(x+kx+k^2x+\dots=x\cdot\dfrac{1}{1-k}\),正是几何级数求和,与第 2 步结果相同。这和银行体系的货币乘数、凯恩斯的支出乘数是同一个数学结构。
  4. 为什么 \(k\ge1\) 时“没有稳定解”:几何级数只在 \(|k|<1\) 时收敛。\(k\ge1\) 意味着每一轮引发的下跌不比上一轮小,下跌会一直自我延续,直到模型之外的力量(价格跌到吸引价值买家、熔断暂停、保险者放弃)介入。 数值:\(h=1.5\%\)、\(I=1{,}000\) 亿、\(D=20\) 亿,\(k=15/20=0.75\),放大 4 倍,3% 变 12%。
import numpy as np
from scipy.stats import norm

def bs_put(S, K, T, r, sig):
    d1 = (np.log(S/K) + (r + 0.5*sig**2)*T) / (sig*np.sqrt(T))
    d2 = d1 - sig*np.sqrt(T)
    return K*np.exp(-r*T)*norm.cdf(-d2) - S*norm.cdf(-d1), norm.cdf(d1)

def sell_per_1pct(K_ratio, T, r=0.07, sig=0.20, S0=100.0):
    """合成保护性看跌期权(组合 + 看跌):持股市值 = N(d1)*S。
    返回指数下跌 1% 时需卖出的股票市值占被保险组合价值的比例。"""
    K = K_ratio * S0
    P0, nd0 = bs_put(S0, K, T, r, sig)
    S1 = 0.99 * S0
    P1, nd1 = bs_put(S1, K, T, r, sig)
    sell_value = (nd0 - nd1) * S1            # 需卖出的股数(指数单位)× 新价格
    return sell_value / (S0 + P0), nd0

print("保底(行权价/现价)  期限(年)  初始股票权重  跌1%需卖出占组合比例")
for k in [0.95, 0.90, 0.85]:
    for T in [0.25, 1.0, 3.0]:
        s, w = sell_per_1pct(k, T)
        print(f"      {k:.2f}          {T:4.2f}       {w:6.3f}         {s:7.3%}")

# 原书估算:1,000 亿美元被保险,每跌 1% 卖出 0.4%,平均股价 40 美元
insured, h, px = 1.0e11, 0.004, 40.0
print(f"\n原书口径:每跌 1% 需卖出 {insured*h/px/1e6:.0f} 百万股(当时日均成交约 160 百万股)")

# 正反馈放大:初始冲击 x%,保险卖盘 h*insured 每跌 1% 卖出;
# 市场深度 D = 使指数下跌 1% 所需的净卖出金额。总跌幅 = x / (1 - h*insured/D)
x = 3.0
for h in [0.004, 0.015]:
    for D in [10e9, 5e9, 2e9]:
        k = h * insured / D
        total = x / (1 - k) if k < 1 else np.inf
        print(f"h={h:.1%}, 深度 D={D/1e9:4.0f} 十亿美元/1%: 放大系数 {1/(1-k):5.2f}, "
              f"初始冲击 {x:.0f}% -> 总跌幅 {total:5.2f}%")

输出:

保底(行权价/现价)  期限(年)  初始股票权重  跌1%需卖出占组合比例
      0.95          0.25        0.770          3.089%
      0.95          1.00        0.760          1.526%
      0.95          3.00        0.823          0.727%
      0.90          0.25        0.899          1.858%
      0.90          1.00        0.836          1.238%
      0.90          3.00        0.861          0.629%
      0.85          0.25        0.968          0.785%
      0.85          1.00        0.897          0.913%
      0.85          3.00        0.894          0.524%

原书口径:每跌 1% 需卖出 10 百万股(当时日均成交约 160 百万股)
h=0.4%, 深度 D=  10 十亿美元/1%: 放大系数  1.04, 初始冲击 3% -> 总跌幅  3.12%
h=0.4%, 深度 D=   5 十亿美元/1%: 放大系数  1.09, 初始冲击 3% -> 总跌幅  3.26%
h=0.4%, 深度 D=   2 十亿美元/1%: 放大系数  1.25, 初始冲击 3% -> 总跌幅  3.75%
h=1.5%, 深度 D=  10 十亿美元/1%: 放大系数  1.18, 初始冲击 3% -> 总跌幅  3.53%
h=1.5%, 深度 D=   5 十亿美元/1%: 放大系数  1.43, 初始冲击 3% -> 总跌幅  4.29%
h=1.5%, 深度 D=   2 十亿美元/1%: 放大系数  4.00, 初始冲击 3% -> 总跌幅 12.00%

解读:

  • 每跌 1% 需卖出的比例由期权的 gamma 决定:保底越接近现价、期限越短,gamma 越大,卖得越多。在 1987 年的利率和波动率附近(\(r=7\%\),\(\sigma=20\%\)),常见设定下的比例在 0.5%–3% 之间,原书取 0.4% 偏保守,所以“每跌 1% 卖 1,000 万股”更像是下限。还要注意下跌后股票权重降低、gamma 随之变化,持续下跌时卖出比例会进一步变化,且原书提到的“上调行权价”会让保底更接近现价、卖得更多。
  • 正反馈的放大系数 \(1/(1-hI/D)\) 是非线性的:市场深度充足时,组合保险几乎无害(放大 4%–18%);当深度因恐慌、做市商撤离、订单预期者抢先而骤降时,同样规模的保险可以把 3% 的初始冲击放大成 12%,当 \(hI\ge D\) 时模型甚至没有稳定解。这就是“规模不大时无害、规模大且流动性骤降时致命”的数学表达,也适用于今天任何顺周期策略的拥挤度评估。

白话解释:读输出表时注意一个“例外”:保底 0.85、期限 0.25 年时,每跌 1% 只需卖 0.785%,反而少于期限 1 年的 0.913%。原因是 gamma 在“平值附近、临近到期”时最大,而在“深度虚值、临近到期”时很小:保底比现价低 15%、只剩 3 个月,看跌期权几乎不可能被行权,delta 接近 0,组合几乎就是全额股票,下跌 1% 也不需要怎么调整。所以“期限越短卖得越多”只在保底离现价不太远时成立。真正危险的是持续下跌:指数越接近保底,gamma 越大,卖压越来越重。

四、代码 3:用方差比识别暂时性波动

把对数价格写成 \(p_t=f_t+z_t\):\(f_t\) 为随机游走(基本面,永久),\(z_t\) 为 AR(1) 偏离(暂时,会反转)。方差比(variance ratio)定义为

\[ \mathrm{VR}(q)=\frac{\operatorname{Var}(p_{t+q}-p_t)}{q\,\operatorname{Var}(p_{t+1}-p_t)} . \]

(\(\operatorname{Var}\) 表示方差;\(\phi\) 读作 phi,是 AR(1) 的持续性系数,越接近 1,偏离消退得越慢;“AR(1)”即一阶自回归,见下面的推导拆解。)

纯随机游走时 \(\mathrm{VR}(q)=1\);存在暂时性成分时,长期收益的方差小于短期方差的简单累加,\(\mathrm{VR}(q)<1\),且随 \(q\) 增大趋于

\[ \mathrm{VR}(\infty)=\frac{\sigma_f^2}{\sigma_f^2+2\sigma_z^2/(1+\phi)} . \]

(对 AR(1) 的 \(z_t\),\(\operatorname{Var}(z)=\sigma_z^2/(1-\phi^2)\),\(\operatorname{Var}(\Delta z)=2\operatorname{Var}(z)(1-\phi)=2\sigma_z^2/(1+\phi)\);有限 \(q\) 的理论值见代码。)

推导拆解:把括号里的几步补全。

  1. AR(1) 的方差:\(z_t=\phi z_{t-1}+e_t\),\(e_t\) 与 \(z_{t-1}\) 独立。两边取方差,平稳时 \(\operatorname{Var}(z_t)=\operatorname{Var}(z_{t-1})=V\),于是 \(V=\phi^2V+\sigma_z^2\),解得 \(V=\sigma_z^2/(1-\phi^2)\)。
  2. AR(1) 的自协方差:\(\operatorname{Cov}(z_t,z_{t-q})=\phi^qV\)(每隔一期乘一次 \(\phi\))。
  3. \(q\) 期变化的方差:\(\operatorname{Var}(z_{t+q}-z_t)=V+V-2\phi^qV=2V(1-\phi^q)\)。取 \(q=1\) 得 \(2V(1-\phi)\),再代入 \(V\):\(\dfrac{2\sigma_z^2(1-\phi)}{(1-\phi)(1+\phi)}=\dfrac{2\sigma_z^2}{1+\phi}\)。
  4. 价格的 \(q\) 期变化:\(f\) 与 \(z\) 独立,方差相加:\(\operatorname{Var}(p_{t+q}-p_t)=q\sigma_f^2+2V(1-\phi^q)\)。这就是代码 vr_theory 的分子;分母是 \(q\) 乘以单期方差 \(\sigma_f^2+2V(1-\phi)\)。
  5. \(q\to\infty\):分子中暂时成分的贡献 \(2V(1-\phi^q)\) 最多是 \(2V\),是有界的;随机游走部分 \(q\sigma_f^2\) 无限增长。分子分母同除以 \(q\) 后,暂时成分在分子中消失、在分母中留下,于是 \(\mathrm{VR}(\infty)=\dfrac{\sigma_f^2}{\sigma_f^2+2\sigma_z^2/(1+\phi)}\)。 直觉:暂时性偏离在短期内贡献了方差,但长期会“自己还回来”,不累积。所以长期方差只来自永久成分,方差比衡量的就是“永久成分占单期方差的比例”。
import numpy as np

rng = np.random.default_rng(1987)
T, n_paths = 250 * 20, 200           # 每条路径 20 年日数据,共 200 条
sig_f, sig_z, phi = 0.010, 0.008, 0.90
qs = [1, 5, 20, 60, 250]

def simulate(transitory=True):
    f = np.cumsum(rng.normal(0, sig_f, T))                # 基本面价值:随机游走(永久成分)
    z = np.zeros(T)
    if transitory:
        e = rng.normal(0, sig_z, T)
        for t in range(1, T):
            z[t] = phi * z[t-1] + e[t]                    # 暂时性偏离:AR(1),会反转
    return f + z                                          # 对数价格

def variance_ratio(p, q):
    r1 = np.diff(p)
    rq = p[q:] - p[:-q]                                   # 重叠的 q 期收益
    return rq.var() / (q * r1.var())

def vr_theory(q, transitory=True):
    vz = sig_z**2 / (1 - phi**2) if transitory else 0.0  # 暂时成分的方差
    num = q * sig_f**2 + 2 * vz * (1 - phi**q)
    den = q * (sig_f**2 + 2 * vz * (1 - phi))
    return num / den

for name, flag in [("纯随机游走", False), ("随机游走+暂时性成分", True)]:
    est = np.array([[variance_ratio(simulate(flag), q) for q in qs] for _ in range(n_paths)])
    print(f"{name}")
    print("   q      :" + "".join(f"{q:7d}" for q in qs))
    print("   VR均值 :" + "".join(f"{v:7.2f}" for v in est.mean(0)))
    print("   VR标准差:" + "".join(f"{v:7.2f}" for v in est.std(0)))
    print("   理论值 :" + "".join(f"{vr_theory(q, flag):7.2f}" for q in qs))

输出:

纯随机游走
   q      :      1      5     20     60    250
   VR均值 :   1.00   1.00   0.99   0.99   0.92
   VR标准差:   0.00   0.03   0.07   0.14   0.23
   理论值 :   1.00   1.00   1.00   1.00   1.00
随机游走+暂时性成分
   q      :      1      5     20     60    250
   VR均值 :   1.00   0.92   0.77   0.65   0.56
   VR标准差:   0.00   0.03   0.05   0.07   0.13
   理论值 :   1.00   0.93   0.77   0.66   0.61

解读:

  • 含暂时性成分时,方差比随 \(q\) 单调下降并接近理论值,约四成的日度方差是暂时性的、会反转。这为短期反转策略和“崩盘后反弹多少”的问题提供了量化工具:若一次暴跌主要是暂时性的,随后应有显著反转;若是基本面修正(作者对多数崩盘的判断),反转应很有限。
  • 小样本偏差不可忽视:即使是纯随机游走,20 年日数据算出的 \(\mathrm{VR}(250)\) 平均只有 0.92,标准差高达 0.23。用一段历史数据算出“长期方差比小于 1”就宣称存在均值回复,很可能只是偏差和噪声。实际研究应使用 Lo–MacKinlay 的偏差修正与异方差稳健检验统计量,或用模拟得到原假设下的分布。这与原书“极端事件太少,难以评估熔断效果”的告诫是同一个道理。

本章小结

泡沫源于对前景的过度乐观,由动量交易者和订单预期者加速,而价值交易者因做空约束、资本约束、信心和时机问题无力阻止;崩盘源于卖方转为激进,动量消失,追保、止损和抢先卖出共同作用,常伴随死猫反弹。基本面波动是永久的,暂时性波动会反转;坏消息往往只是崩盘的触发器,原因在先前的泡沫,因此多数崩盘是修正而非失灵。1987 年崩盘的核心是投资组合保险的规模与不可观测性、NYSE 容量不足、期现基差失联和套利中断。熔断机制的效果取决于它限制了谁:暂停把定价改为统一定价、保护流动性提供者和清算系统,但有磁吸效应,且必须跨市场协调;交易税难以区分交易者类型;Rule 80A 限制套利反而可能加剧暂时性波动。危机后的监管常因监管风险而温和无效,或因监管俘获而服务特定群体。防泡沫的根本是降低价值交易者的信息成本和做空障碍。2010 年闪崩、2016 年 A 股熔断和 2020 年美股熔断都可以用本章框架理解。

概念 要点
泡沫 / 崩盘 价格显著高于基本面 / 价格极快下跌,常为泡沫的修正
基本面 vs 暂时性波动 永久 vs 会反转;方差比 \(\mathrm{VR}(q)<1\) 提示暂时性成分
价值交易者的约束 无力(持仓、资本、做空)与不愿(信心、时机)
组合保险 动态复制保护性看跌;跌时卖、涨时买;每跌 1% 约卖 1,000 万股(原书口径)
正反馈放大 总跌幅 \(=x/(1-hI/D)\),深度骤降时非线性放大
歧视性 vs 统一定价 连续交易按各自限价;暂停后集合竞价按单一价格
磁吸效应 担心触发暂停而提前交易,反而加速触发
价格限制保护清算 让不确定是否破产者违约前多交保证金
Rule 80B / 80A 协调暂停 / 指数套利限制环(2007 年取消)
监管风险 / 监管俘获 温和熔断是监管者的占优策略 / 80A 服务专家利益
现状 美股 7/13/20% 熔断与 LULD;A 股涨跌停;2016 年熔断 4 天即暂停

练习

基础

  1. 用自己的话解释价值交易者为什么常常无法阻止泡沫,至少给出三个原因。
  2. 复算原书组合保险规模估算:若被保险资金为 1,500 亿美元、每跌 1% 卖出 0.6%、平均股价 40 美元,每跌 1% 需卖出多少股?占当时日均成交量的比例是多少? 答案要点:\(1.5\times10^{11}\times0.006/40=2{,}250\) 万股,约占 1.6 亿股的 14%。
  3. 在 Spencer 例子中,若每日限制改为 10 点,经纪商最终坏账是多少? 提示:第一天扣 10 万保证金,要求补 10 万,Spencer 若补交则其他资产用尽;第二天亏 10 万保证金用尽;第三天剩余 5 点亏 5 万为坏账。
  4. 区分歧视性定价和统一定价,解释为什么暂停后以集合竞价复牌能保护限价单交易者。
  5. 什么是磁吸效应?用 2016 年 A 股熔断说明它如何发生。

进阶

  1. 在方差比代码中把 \(\phi\) 改为 0.98(暂时性偏离更持久),VR 曲线如何变化?20 年数据还能可靠识别吗? 提示:理论上 VR 下降得更慢,在 \(q=250\) 时仍远未到达极限值;而估计误差随 \(q\) 增大,识别更难。
  2. 修改组合保险代码,模拟“上调行权价”的做法:指数从 100 涨到 120 后把保底从 95 上调到 114,比较此时与不上调时每跌 1% 需卖出的比例。
  3. 原书思考题 6:极端波动期间资产之间的相关性上升还是下降?设计一个用日度数据检验的方法,并说明“条件相关性偏差”(在高波动样本中相关性会机械地上升)如何处理。 提示:参考 Forbes–Rigobon 的异方差调整。
  4. 原书思考题 15:2001 年 9·11 事件后美国金融市场全部停止交易,债券和多数期货于当周四恢复,股票和股票期权到 9 月 17 日(周一)才恢复。全面暂停是否明智?为什么场外债券市场能先于交易所股票市场恢复?
  5. 为 A 股日频回测写出一组“可成交性”规则:涨停(一字板)不能买、跌停不能卖、停牌不能交易、新股前 5 日无涨跌幅。讨论如果用次日开盘价成交,还需要处理哪些情况。

原书推荐习题:第 28 章思考题 6(极端波动中的相关性)、7(组合保险者为何严重低估交易成本)、3(1987 年崩盘是问题还是修正)、13 与 14(系统冗余容量设计及熔断对最优容量的影响)、12(股票、期权、个股期货的保证金差异)。

原书对照

  • 原书第 28 章 Bubbles, Crashes, and Circuit Breakers,PDF 第 568–596 页(原书页码 = PDF 页码 − 13)。
  • 章首(价格加速器专栏)p.568–569;28.1 泡沫与崩盘(信心与时机专栏、基本面与暂时性波动、“消息还不够好”)p.569–571;28.2 案例 p.571–584:1929 年 p.571–572(市场失灵还是修正专栏),1987 年 p.572–577(组合保险规模、“组合经理保险”、“价格在哪里?”、全球困惑专栏),1989 年 p.577–579(法定人数不足、呼吁真相、为何是十月专栏),钯金 p.579–581,Iomega p.581–582,Nasdaq p.582–583,日本 p.583–584,小结 p.584;28.3 监管回应 p.585–591(暂停与价格限制、Rule 80B、“我破产了吗?”、保证金与交易税、Rule 80A、熔断小结、其他回应);28.4 监管政治学 p.591–594(表 28-1、28-2、单双号加油、监管俘获);28.5 小结、28.6 要点、28.7 思考题(共 15 题)p.594–596。

延伸阅读(据原书书目)

  • Kindleberger《Manias, Panics, and Crashes》:泡沫与崩盘的经典史论。
  • SEC(1988)《The October 1987 Market Break》报告;Roll(1988):1987 年的国际崩盘。
  • Grossman(1988):程序交易、动态对冲与波动;Leland(1980)、Rubinstein(1985)、Rubinstein & Leland(1981):组合保险与期权复制。
  • Greenwald & Stein(1991);Subrahmanyam(1994、1995、1997、1998):熔断与交易税的理论;Kyle(1988)、Brennan(1986):价格限制。
  • Lee, Ready & Seguin(1994):NYSE 交易暂停的实证。
  • Summers & Summers(1989)、Stiglitz(1989)、Schwert & Seguin(1993):交易税之争;Hsieh & Miller(1990):保证金与波动。
  • Harris(1989、1998):对 1987 年后监管反应和熔断的评估。