量化交易中文教材

第 12 章 虚张声势者与市场操纵

对应 Harris《Trading and Exchanges》第 12 章 Bluffers and Market Manipulation。上一章的订单预期者利用别人的真实交易意图;本章的虚张声势者更进一步,制造虚假的信号,让别人做出不明智的交易。本章有两条主线:一是操纵的法律边界,即为什么"拉抬后出货"和"看好后卖出"在交易记录上几乎无法区分;二是一个对做市和冲击建模都很重要的定量原理:流动性提供者的价格调整规则只要不对称,就可以被往返交易套利。

学习目标

读完本章,你应当能够:

  1. 区分两类虚张声势者:散布谣言者(信息型操纵)与价格操纵者(交易型操纵),并说明它们的共同目标是"被误认为知情者"。
  2. 复述 BNB 案例的两个结局,算出成功时 +105 万美元、失败时 −120 万美元的盈亏,并解释价值交易者如何"叫牌"。
  3. 说清市场操纵的法律边界:哪些行为在多数司法辖区明确违法、哪些合法性存疑,以及为什么起诉的关键在于证明意图。
  4. 推导"价格冲击不对称 → 往返交易可获利"的原理,复算原书 150 万、−300 万、−40 万三个数值,并给出线性对称冲击下往返亏损 \(\tfrac{\lambda}{2}\sum q_k^2\) 的一般公式。
  5. 把无操纵条件用于做市报价规则和冲击模型的检验,把"操纵污染"纳入信号研究和合规设计。

读前导读

**这一章在解决什么问题。**本章回答两个问题。第一个是法律和行为层面的:操纵者怎样让别人以为他知情,为什么“拉抬出货”和“看好后止盈”在交易记录上几乎一样,所以操纵为什么难定罪。你在 CFA 道德准则 II(B)“市场操纵”中学过“以扭曲价格或人为抬高交易量为目的的交易”是被禁止的,本章的 BNB 案例把这句话变成了一个可以逐笔算账的故事。第二个是定量层面的,也是本章对量化最有用的部分:一个根据订单流调价的做市规则,什么时候会被人用“先大单买、再小单卖”这样的往返交易套利。答案是一条简洁的纪律:永久价格冲击必须线性、对称、与路径无关。

需要先想起来的数学。

  • 求和记号与累计量:\(\sum_{k=1}^n q_k\) 表示把 \(q_1,\dots,q_n\) 加起来;本章用 \(S_k=\sum_{j\le k}q_j\) 表示到第 \(k\) 笔为止的累计净持仓,\(S_0=0\)。和你记账时的“期末余额 = 期初余额 + 本期发生额”一样:\(S_k=S_{k-1}+q_k\)。见 第 00 册第 07 章 概率中的分析工具 中求和记号一节。
  • 望远镜求和(telescoping):\(\sum_{k=1}^n(a_k-a_{k-1})=a_n-a_0\),中间项一正一负全部抵消,像把望远镜一节节收起来。例:\((5-3)+(8-5)+(6-8)=6-3=3\)。12.5.3 的一般公式就靠这一步。
  • 等差数列求和:\(1+2+\cdots+n=n(n+1)/2\),用于算“分 \(n\) 笔、每笔推价相同时的平均成交价”,平均值 = 首项与末项的平均。见 第 00 册第 04 章 级数与收敛。
  • 凹函数:\(\sqrt q\) 这类函数增长越来越慢,单位冲击 \(\sqrt q/q\) 随规模下降。12.5 末尾说“凹形永久冲击会被操纵”,指的就是这个形状。

**怎么读这一章。**12.2 的 BNB 案例可以当故事读,读完复算两张盈亏表即可。12.3 的“与知情者的区别只有一条”和“价值交易者是天敌”是核心论点,必读。12.4 的法律部分读表 12-3 和“法律可靠打击的是虚假”这一句结论即可,现状补充按需查阅。12.5 是本章的定量核心,建议拿纸笔把 12.5.1、12.5.2 的数字和 12.5.3 的推导走一遍,然后再看代码输出。


12.1 什么是虚张声势者

虚张声势者(bluffers)是以盈利为目的、试图诱骗其他交易者做出不明智交易并从中获利的人。要想交易盈利,就必须避免和他们交易。他们有两种手法:

  • 散布谣言者(rumormongers):散布信息,诱导别人朝自己希望的方向交易。信息可以是假的,也可以是真的,但以容易被误解的方式或时机呈现。
  • 价格操纵者(price manipulators):在特定的价格、数量和时间安排交易,以改变别人对价值的判断。这些交易可以是真实的、与陌生人的公平交易(arm's length),也可以是与同伙安排的对敲/洗售交易(wash trades),制造虚假的活跃度。

两种手法本质相同:向受害者提供信息,让他对价值做出错误推断,让别人相信虚张声势者是知情交易者。

市场操纵(market manipulation)指虚张声势者或其受害者使价格偏离"如果没有这次虚张声势本应有的价格"。它在美国等许多国家违法,但很难抓:只要不公然捏造信息、不和同伙对敲,虚张声势者通常可以轻松辩称自己在正常交易。

操纵者为影响他人而交易,行话叫涂抹行情带(paint the tape)。这个说法来自早年电报自动打印机(ticker)打出的纸带:操纵让成交记录看起来与本应的样子不同。也有人说"画一幅图"(paint a picture),即制造不反映真实市场状况的信息,希望别人把图当成现实。

12.2 一个多头虚张声势的完整案例

多头虚张声势(long-side bluff)是低买高卖。原书用虚构的 BNB 公司讲了一个有两种结局的故事,值得完整读一遍,因为它展示了操纵的每一个环节。

12.2.1 背景与布局

Bill 选中小公司 Bubbles Never Burst(BNB,"泡沫永不破裂")。BNB 开发出一种新型乳化剂,应用前景从浴皂到工业泡沫,很多看好成长性的投资者在关注,但多数人不懂其化学原理。公司没有盈利,股价 5 美元,流通股 800 万股,管理层持有 70%,可交易的只有约 240 万股。

悄悄建仓:Bill 用限价单耐心地等市场来找他。40 个交易日里,他以 5–7 美元买入 20 万股,均价 6 美元。

网络造势:从第 31 个交易日起,他在多个互联网留言板上吹捧 BNB:详细描述技术(仿佛完全懂)、给出非常乐观的现金流预测,内容大量引用公司最近的 10-Q 和 10-K。他用多个用户名发帖,制造广泛关注的假象,甚至让不同马甲互相辩论,悲观的马甲最后"勉强认输"。

借题发挥:第 41 个交易日早上,BNB 发布新闻稿,宣布将在中国生产新乳化剂。读过上份 10-Q 的人不会意外,这条消息几乎没有基本面价值。但 Bill 认定机会来了:他立即提交买入 5 万股的市价单,拆成几份交给不同经纪人,且不告诉他们其他部分。订单同时涌入,20 分钟内价格从 7 涨到 10,Bill 的均价 8.5。一小时后新闻服务报道 BNB 放量大涨,股票登上各种涨幅榜。Bill 再发帖强调中国消息的重要性,目标价 20、25,投产后可能超过 50。

12.2.2 成功结局

很多交易者看到价格变化,检索后发现中国新闻发布后价格立即上涨。尽管消息本身没有基本面价值,他们却从随后的大涨中过度解读:"不然市场为什么会涨?"他们觉得技术更有前途,又觉得"我肯定是最早看到的人之一,现在买还来得及",于是用市价单快速买入。

动量交易者(momentum traders)——价格上涨时买、下跌时卖的人——特别容易被骗。他们主要从 Bill 手里买股票。Bill 让价格继续涨到收盘的 12 美元,同时以均价 11 卖出 10 万股。

当晚,公司 CFO 对股价上涨表示困惑,但律师担心诉讼,建议不发澄清声明,对记者只说"不评论市场波动"。第二天,有人把"拒绝评论"解读为"肯定有事",继续买入;另一些人觉得可能高估,却不敢确定是否有更重要的信息,不敢行动。Bill 全天大量卖出,股价最高 13 后放巨量跌到 8,他以均价 10.5 卖完剩余 15 万股。几周后股价回到 5 美元。

表 12-1 成功结局的盈亏

交易 方向 股数 均价 现金流
第 1–40 天 买 200,000 6.0 −1,200,000
第 41 天 买 50,000 8.5 −425,000
第 41 天 卖 −100,000 11.0 +1,100,000
第 42 天 卖 −150,000 10.5 +1,575,000
合计 0 +1,050,000

调查与辩护:交易所发现 Bill 是主要参与者且获利丰厚,向 SEC 提交了案情摘要。Bill 的辩护几乎无懈可击:他研究过 10-Q、10-K 和乳化剂市场,看好 BNB;中国没有大型传统乳化剂工厂,市场潜力巨大,所以看到公告后积极买入;拆单是因为不信任经纪人——"我宁可自己抢跑自己,也不让他们抢跑我";后续上涨证明他是对的;看到很多人买入,他判断会出现过度反应,达到目标价就卖了。问他"跌回 5 美元为什么不回补",他说价格跌回让他意外又害怕,"显然市场不认为这只股票像我想的那么值钱"。

调查人员怀疑帖子出自 Bill。部分帖子包含他知道或应当知道是错误或误导性的信息,如果能证明作者是他,就可以按证券欺诈起诉。但 Bill 用假名开户,总在图书馆、学校、网吧的公共电脑上登录,只能追到他所在的城市。最终证据不足,给了一个"毫无约束力的警告"后结案。

12.2.3 失败结局

价值交易者 Valerie 长期怀疑 BNB 的前景,非常熟悉公司、技术和目标市场。咨询化学专家后,她认为 BNB 最多值 3 美元。5 美元时她因估值不确定没有卖空,但 10 美元显然高估了。

她怀疑有人在虚张声势:留言板上多个作者在发过度乐观的误导帖,像是同一个人;中国消息并不重大(not material),价格反应却很大;她让经纪人派场内经纪人去 BNB 的交易台打听,得知公告后有几笔来自不同经纪人的大额买单同时到达。一条微不足道的消息之后,多家经纪人的大单同时到达,这个巧合让她确信有人在操纵。

于是她激进地卖空,涨势停在 10 美元,其他价值交易者也加入卖出。Bill 想继续推高,但价值交易者卖出的量和他买入的一样多。收盘前他以 10 美元又买了 10 万股。当晚 Valerie 等人四处借券;持有该股的机构发现知名价值交易者突然借券,意识到股票被高估,干脆不借出而是自己在开盘卖 7.5 万股。

第二天开盘 9.5 美元,动量交易者大多消失。Bill 孤注一掷又买 5 万股,共持 40 万股。此时他陷入困境:不动,价格会大跌;卖出,跌得更快;继续买,或许能找回动量,但不知道要多少钱,若超出融资能力只会更糟。他认输了,Valerie 成功地叫牌(call his bluff)。唯一可能的大买家是想平空的价值交易者,而他们只在价格跌得很深时才会买。Bill 以 6.5 卖出 5 万股,此后 18 天以 4.5 卖出剩余 35 万股。

表 12-2 失败结局的盈亏

交易 方向 股数 均价 现金流
第 1–40 天 买 200,000 6.0 −1,200,000
第 41 天 买 50,000 8.5 −425,000
第 41 天 买 100,000 10.0 −1,000,000
第 42 天开盘 买 50,000 9.5 −475,000
第 42 天 卖 −50,000 6.5 +325,000
第 43–60 天 卖 −350,000 4.5 +1,575,000
合计 0 −1,200,000

SEC 鉴于执法预算有限且操纵已失败,只发了一封严厉的警告信。

12.2.4 这个例子现实吗

为便于说明,Bill 的交易非常激进,但并不像看上去那么极端。SEC 的设立很大程度上就是为了应对 19 世纪到 1930 年代初困扰市场的类似操纵。如今明目张胆的操纵大幅减少,SEC 仍把相当比例的执法预算用于识别和起诉操纵者,对象主要是小型低价成长股,即仙股(penny stocks)。人们普遍认为,监管较弱的市场中类似操纵仍很频繁。不贪心、不引人注目的谨慎操纵者可能长期不被发现。

虚张声势能盈利的条件是:很多交易者会对其制造的信息做出反应,而价值交易者反应迟缓。

白话解释:把两个结局放在一起看,Bill 的命运不取决于他做了什么,而取决于对面有没有一个确信自己懂估值、又有足够资金的人。成功结局里,买他货的是只看价格不看价值的动量交易者;失败结局里,Valerie 不仅挡住了上涨,还让他在高位多买了 20 万股,最后在 4.5 美元附近被迫出清。操纵的本质是用自己的资金和别人对“有人知道内情”的猜测对赌,一旦猜测被识破,持有的大头寸就从筹码变成了负担:它太大,卖出本身就会压垮价格。

12.3 虚张声势的基本原理

虚张声势者让别人在自己想买时卖、在自己想卖时买,手段是制造或传播受害者用来形成价格预期的信息。想卖股票的人可以散布"这只股票很值钱"的信息,或者以逐步抬高的价格快速买入,让旁观者推断"有知情者在买"而跟进,然后以更高价卖给他们。想买时用对称的手法。

12.3.1 与知情投机者的区别

市场操纵与正当投机非常难以区分。持有大额多头的投机者自然希望市场高估其持仓,也会通过口碑、媒体、通讯和网络解释价格为什么该更高,甚至会买入来展示信心。

本质区别只有一条:投机者依据基本面信息形成对价值的看法并据此交易;虚张声势者表现得像知情投机者,希望别人这样认为,但并没有有依据的价值判断,只是想愚弄别人。由此带来两个可观察的后果:

  • 知情投机使价格更有信息含量,虚张声势多半使价格信息含量下降;
  • 虚张声势之后价格更可能反转,知情投机之后则不然。

金融直觉:“事后是否反转”就是区分两者的事件研究方法,也是第 10 章“价格 = 价值 + 噪声”在单个事件上的应用。知情交易推动的价格变化是价值变化,是永久的;操纵推动的是噪声,会被价值交易者抹掉。监管和学术研究识别操纵时,常看异常放量日之后若干天的累计超额收益是否显著为负。对单个案例这不能当证据(好的投机者也会看错),但在大样本上是可靠的统计特征。

从某种意义上说,虚张声势者也是"知情者":他们知道自己在虚张声势,别人不知道。与辛苦获取信息的基本面交易者不同,他们自己制造信息。

原书的三个边栏值得一读:

  • 罗斯柴尔德与滑铁卢:流行的版本说,Nathan Rothschild 通过私人信使最先得知威灵顿获胜,却在交易所面无表情地卖出英国统一公债(consol),交易员以为他知道英军战败而恐慌抛售,他再低价买入。学术史学家认为这是神话,可能是商业对手或反犹者编造;他确实战后买入 consol 大赚,但似乎是在消息广为人知很久之后。
  • PairGain 假新闻:1999 年 4 月 7 日,Yahoo! 留言板上有人贴出一条"收购消息",附上逼真的仿 Bloomberg 网页链接(实际在 Angelfire 免费网页上)。股价从 \(8\tfrac12\) 涨到最高 \(11\tfrac18\),当天成交 1,400 万股,约为平时的 10 倍;公司否认后收于 \(9\tfrac38\)。4 月 15 日,FBI 以证券欺诈逮捕了发帖的 PairGain 员工 Gary Dale Hoke,SEC 也提起民事诉讼。奇怪的是他前后都没交易这只股票。
  • Jeffrey Vinik:前富达麦哲伦基金经理,1996 年 11 月成立自己的对冲基金后,在随后几个月买入 13 只小盘和微盘股各超过 5% 的股份。按 SEC 规定需披露,消息公开后其中 11 只大涨,而他在披露和上涨后不久就卖出了多个新仓位。可能只是达到了目标价,也可能是在利用"知情者"的声誉。另外,1994–1995 年他管理麦哲伦时,曾在卖出他同期在杂志采访中推荐的股票,SEC 考虑过是否构成操纵但没有起诉。

12.3.2 价值交易者是虚张声势者的天敌

市场里虚张声势者与价值交易者的博弈很像扑克:一方让对方相信自己牌更好,对方判断真假,不信就跟注对抗,双方轮流加注,直到有人退出。但有几处不同:扑克里拒绝跟注就得弃牌,交易中只要能融资就能一直扛着;扑克知道对手是谁,交易多为匿名;扑克人数固定,交易中随时有人入场;扑克亮牌就结算,交易中价值永远不会被确定地揭晓。

价值交易者从两个方向挫败虚张声势者:方向相反时,价值交易者挡路;方向相同时,价值交易者抢走虚张声势者出货所需的流动性。 虚张声势者只有在资本多于价值交易者时才能获胜:资本足够就能维持控制,迫使对面的价值交易者亏损平仓,而他们的平仓买入恰恰支持了操纵。所以操纵者总希望把价值交易者逼出市场(这又和第 11 章的轧空联系起来)。即使操纵者获利,顽强且资本充足的价值交易者在操纵崩溃时最终也会获利,并削减操纵者的利润。

价值交易者的风险在于误判:如果把真正知情者的交易错当成操纵,就会输给更知情的人。所以在"叫牌"之前,必须非常确定自己完全理解基本面价值。

操纵最可能成功的标的:

  1. 价值交易者不关注的证券,即流动性差、交易量不足以覆盖基本面研究成本的品种;
  2. 难以估值、基本面信息很少的证券;
  3. 难以借券(hard to borrow)的证券,价值交易者无法卖空。这类常是操纵者控制了相当部分流通股的小盘股。

由于价值交易者买入比卖空容易,多头操纵比空头操纵更常见。

金融直觉:这三个条件就是学术界所说的“套利限制”(limits to arbitrage)在操纵上的具体表现。价值交易者纠正高估需要三样东西:知道价值(研究成本)、能卖空(借券)、扛得住(资金)。缺任何一样,纠错力量就弱,操纵就有空间。A 股小盘股历史上操纵案例集中,与早期融券极难、个人投资者占比高、研究覆盖少都直接相关。反过来,在流动性好、分析师覆盖多、融券便利的大盘股上,同样的手法几乎不可能成功。

12.4 法律边界:为什么操纵难以起诉

这是本章最需要弄清楚的部分。原书把虚张声势手法的合法性总结为下表。

表 12-3 虚张声势手法的合法性

类型 手法 合法性 起诉难度
散布谣言者 散布虚假基本面信息 多数司法辖区违法 若被抓到则容易
散布谣言者 以意图引起误解的方式或时机呈现真实信息 合法性存疑 难以证明操纵意图
价格操纵者 安排真实的公平交易,以改变他人对价值的看法 合法性存疑 极难证明操纵意图
价格操纵者 与同伙安排对敲交易 多数司法辖区违法 若被抓到则容易

起诉为什么难?虚张声势者总会自称知情投机者,而最好的虚张声势者可能确实常常知情,只是不一定是对这次的标的。检察官、法官和陪审团无法判断一个看法是否"有依据",也就无法区分投机与操纵。事后价格反转也不足以证明他不知情,因为好的投机者也会估错。

因此,定罪通常需要以下至少一项证据:

  • 他传播了明知(或应知)是虚假的信息;
  • 他进行了对敲交易(没有真实所有权转移的交易);
  • 能证明操纵意图的证词,如来自同伙或亲信,但这非常罕见。

换句话说,法律能够可靠打击的是"虚假"——虚假的信息、虚假的成交;而用真实交易、真实信息去"误导",只要意图无法证明,就落在灰色地带。 对量化交易者而言,这意味着合规风险不仅取决于结果,还取决于交易意图是否有记录可以自证。

现状补充:以下只列有把握的要点。

  • 美国:1934 年《证券交易法》第 9(a) 条禁止对敲、约定交易,以及"以诱使他人买卖为目的"的一系列抬价或压价交易;第 10(b) 条及 SEC Rule 10b-5 是打击证券欺诈(包括散布虚假信息)的主要依据。期货方面,2010 年《多德-弗兰克法案》在《商品交易法》中明文禁止幌骗(spoofing,即下单时就打算在成交前撤单),CFTC 随后也出台了以欺诈为基础的反操纵规则。2010 年"闪电崩盘"相关的英国交易员 Navinder Sarao 于 2016 年就幌骗等指控认罪,是该条款的标志性案例。
  • 欧盟:《市场滥用条例》(MAR)自 2016 年 7 月起适用,统一规范内幕交易和市场操纵,包括虚假交易信号和散布误导信息。
  • 中国:《证券法》(2019 年修订)第 55 条列举的操纵手段包括:集中资金、持股或信息优势联合或连续买卖;与他人串通按约定时间、价格和方式相互交易(约定交易);在自己实际控制的账户之间交易(自买自卖);不以成交为目的频繁或大量申报并撤单(虚假申报);利用虚假或不确定的重大信息诱导交易(蛊惑交易);公开评价、预测或推荐证券后进行反向交易("抢帽子");利用其他相关市场的活动操纵。第 56 条禁止编造、传播虚假或误导性信息。刑事层面由《刑法》第 182 条"操纵证券、期货市场罪"规定,2019 年最高法、最高检的司法解释对上述情形的入罪标准作了细化。
  • 对照可见,现代法律把 Harris 表中"合法性存疑"的部分情形明确写进了禁止清单,如"抢帽子"、虚假申报,但核心难点依旧是证明意图:用真实资金做出的连续买卖,只有在能证明"以影响价格、诱导他人为目的"时才构成操纵。

12.5 虚张声势者如何"约束"流动性提供者

这一节是本章的定量核心,也是做市和冲击建模必须掌握的原理。

第 13 章会讲到,很多流动性提供者并不清楚基本面价值,而是遵循供求法则:流动性需求者是净买方时上调价格,是净卖方时下调价格。这条规则总体合理,但若具体的调价方式不当,操纵者就可以设计订单序列来操纵它。

12.5.1 原书数值例:大单与小单冲击不对称

设流动性提供者的规则是:对 1,000 手的订单,每 100 手调价 10 美分;对 500 手的订单,每 100 手只调 5 美分。即每手冲击,大单 0.001 美元,小单 0.0005 美元。合约乘数 1,000,初始价 10 美元,订单按冲击后的价格成交。

聪明的操纵者用 4 笔 1,000 手的订单买入 4,000 手,再用 8 笔 500 手的订单卖出:

  • 每笔买单抬价 1 美元,依次成交于 11、12、13、14,平均买价 12.5;
  • 每笔卖单降价 0.25 美元,依次成交于 13.75、13.50、…、12.00,平均卖价 \((13.75+12.00)/2=12.875\);
  • 利润 \(=4{,}000\times(12.875-12.5)\times1{,}000=1{,}500{,}000\) 美元。

诊断信号:操纵者买卖数量相等,既非净买也非净卖,但最终价格 12 美元离起点 10 美元很远。流动性提供者因为他的订单把价格抬高了 2 美元,说明定价规则违背了供求原理。反向操作(先 4 笔 1,000 手卖空,再 8 笔 500 手买回)同样赚 150 万,价格从 10 走到 8。

白话解释:钱是怎么赚出来的。买入 4,000 手时,规则让价格每手涨 0.001 美元,共涨 4 美元;卖出同样 4,000 手时,规则只让价格每手跌 0.0005 美元,共跌 2 美元。操纵者是“沿着一条陡的坡爬上去、沿着一条缓的坡走下来”,下山时一路都还在高处,所以平均卖价高于平均买价。流动性提供者的错误是:他把小单当作“信息更少”,于是对小单反应更小;操纵者就专门用大单推价、用小单出货。只要规则里存在“同样的净数量,换一种拆法就推出不同价格”,就有人能从中套利。

12.5.2 纠正:每单位冲击相同就无利可图

若无论订单大小,都是每 100 手调 10 美分:

  • 4 笔 1,000 手买入使价格 10→14,成交于 11、12、13、14,均价 12.5;
  • 8 笔 500 手卖出,每笔降 0.5,成交于 13.5、13.0、…、10.0,均价 11.75,价格回到 10;
  • 亏损 \(=4{,}000\times(12.5-11.75)\times1{,}000=3{,}000{,}000\) 美元。

若改为 40 笔 100 手买入、40 笔 100 手卖出:买入均价 \(10+0.1\times(1+\dots+40)/40=12.05\),卖出依次成交于 13.9、13.8、…、10.0,均价 \(14-0.1\times(1+\dots+40)/40=11.95\),亏损 \(4{,}000\times0.1\times1{,}000=400{,}000\) 美元。小单冲击小,成本低,但仍然亏损。

12.5.3 一般公式

可以把这两个结论推广。设流动性提供者采用线性、对称、永久的冲击规则:每笔有符号订单 \(q_k\)(买为正)使价格变动 \(\lambda q_k\),并按冲击后价格成交。记累计净持仓 \(S_k=\sum_{j\le k}q_j\),则第 \(k\) 笔的成交价为 \(p_k=p_0+\lambda S_k\)。对一个净持仓归零(\(S_n=0\))的往返序列,现金盈亏为

\[\Pi=-\sum_{k=1}^{n} q_k\,p_k=-p_0\underbrace{\sum_k q_k}_{=0}-\lambda\sum_{k=1}^{n} q_k S_k .\]

利用恒等式 \(S_k^2-S_{k-1}^2=q_k(2S_k-q_k)\),即 \(q_kS_k=\tfrac12\big(S_k^2-S_{k-1}^2+q_k^2\big)\),求和后前两项望远镜相消(\(S_0=S_n=0\)):

\[\boxed{\;\Pi=-\frac{\lambda}{2}\sum_{k=1}^{n}q_k^2\;<\;0\;}\]

推导拆解:把上面两步展开。 第一步(现金流):第 \(k\) 笔买入 \(q_k\) 手、价格 \(p_k\),现金流出 \(q_kp_k\);卖出时 \(q_k<0\),\(-q_kp_k\) 为正,是现金流入。所以总盈亏 \(\Pi=-\sum_kq_kp_k\)。往返结束时持仓为零,没有剩余头寸需要估值。 第二步(代入价格):\(p_k=p_0+\lambda S_k\),得 \(\Pi=-p_0\sum_kq_k-\lambda\sum_kq_kS_k\)。第一项里 \(\sum_kq_k=S_n=0\),所以起始价格 \(p_0\) 不影响盈亏。 第三步(恒等式):\(S_k=S_{k-1}+q_k\),两边平方得 \(S_k^2=S_{k-1}^2+2S_{k-1}q_k+q_k^2\)。把 \(S_{k-1}=S_k-q_k\) 代入中间项:\(S_k^2-S_{k-1}^2=2q_kS_k-q_k^2\),移项即 \(q_kS_k=\tfrac12(S_k^2-S_{k-1}^2+q_k^2)\)。 第四步(求和):\(\sum_k(S_k^2-S_{k-1}^2)=S_n^2-S_0^2=0\)(望远镜相消,首尾都是零持仓)。剩下 \(\sum_kq_kS_k=\tfrac12\sum_kq_k^2\),于是 \(\Pi=-\tfrac{\lambda}{2}\sum_kq_k^2\)。 小例子:\(\lambda=1\),订单 \(+2,-1,-1\)。累计持仓 \(2,1,0\),成交价 \(p_0+2,p_0+1,p_0\)。盈亏 \(=-2(p_0+2)+(p_0+1)+p_0=-3\);公式给出 \(-\tfrac12(4+1+1)=-3\)。一致。 另一种看法:若按冲击前价格成交,往返反而赚 \(\tfrac{\lambda}{2}\sum_kq_k^2\)(练习 6);按冲击后价格成交,每笔要多付 \(\lambda q_k\cdot q_k=\lambda q_k^2\)(价格先被自己推动 \(\lambda q_k\),再成交 \(q_k\) 手)。两者相加,净结果是 \(-\tfrac{\lambda}{2}\sum_kq_k^2\)。

验证:\(\lambda=0.001\) 美元/手,乘数 1,000。4×1,000 + 8×500 的序列 \(\sum q_k^2=4\times10^6+8\times2.5\times10^5=6\times10^6\),亏损 \(0.0005\times6\times10^6\times1{,}000=3{,}000{,}000\);80 笔 100 手的序列 \(\sum q_k^2=8\times10^5\),亏损 \(400{,}000\)。与原书一致。

这个公式说明:在线性对称永久冲击下,任何净持仓为零的往返序列都必然亏损,亏损只取决于 \(\sum q_k^2\),与买卖顺序无关;拆得越细,亏得越少,但永远不会赚。冲击只产生交易成本,不产生可被利用的累计价格偏移。

12.5.4 流动性提供者的纪律

原书用三张图概括(横轴为持仓、纵轴为价格,箭头斜率即每单位交易的冲击):

  • 图 12-1:买入冲击大于卖出冲击。先买后卖,平均买价低于平均卖价,操纵盈利。成功结局中 Bill 获利,正是因为中国公告后快速买入的冲击大于他卖出时的冲击。
  • 图 12-2:卖出冲击大于买入冲击。先卖后买,操纵盈利。
  • 图 12-3:买卖每单位冲击相同。起点与终点重合,平均买价高于平均卖价,每单位都亏。

由此得到流动性提供者的纪律:凡是无法判断对手是不是虚张声势者时,买单和卖单每单位交易量的价格冲击必须大小相等、方向相反;而且对所有规模的订单相同,无论订单来得快还是慢、何时以何种方式到达都相同。 否则操纵者就能安排订单序列操纵价格获利。

用现代术语说,永久价格冲击应当是线性、对称、与路径无关的,只依赖累计净订单流。这正是 Kyle(1985)模型中线性价格规则的性质,也与 Huberman 和 Stanzl(2004)"无价格操纵要求永久冲击为线性"的结论一致(原书未用这些术语)。

白话解释:为什么一定是“线性”。设想永久冲击让价格变成累计净持仓的函数 \(p=p_0+g(S)\),那么无论怎么拆单、走多快,只要回到零持仓,价格就回到 \(p_0\),这叫“与路径无关”。如果每笔订单的冲击是 \(f(q)\) 而 \(f\) 不是线性的,比如凹的 \(f(q)=c\sqrt q\),那么买 1,000 手一次推价 \(c\sqrt{1000}\approx31.6c\),分 10 次各 100 手却推价 \(10\times c\sqrt{100}=100c\)。同样的净买入、不同拆法得到不同价格,价格就不再只依赖累计持仓,操纵者就能“小单推上去、大单卖下来”。只有 \(f(q)=\lambda q\) 时,\(f(a)+f(b)=f(a+b)\) 对任意拆法成立,路径无关才有保证。 这和期权定价里的无套利原理相通:如果两种复制方式得到同一现金流却价格不同,就有套利;这里两种拆单方式得到同一净持仓却价格不同,同样构成套利。

现实中还有一个限制:操纵是交易密集型活动,佣金和价差会大幅侵蚀利润,冲击的微小不对称未必能被利用。操纵者也必须控制交易成本。


量化实战

1. 做市报价规则的"无操纵检验"

做市算法根据订单流调整报价时,报价函数就是这里的冲击规则。设计完之后应做一个检验:任意净持仓为零的往返订单序列,在你的报价规则下能否让对手盈利? 如果能,你的规则就会被"大单推价、小单出货"之类的序列套利。常见的漏洞包括:对大单和小单的单位调价不同;对快速连续到达的订单调价更多;买方和卖方调价速度不同;夜盘或开盘时段调价规则不同。

2. 冲击模型的永久/临时分解

实证上,大单的冲击常近似平方根形式 \(\propto\sqrt{q}\),单位冲击随规模递减。如果这种凹形冲击全部是永久的,就违反了无操纵条件。下面的代码会显示,此时用小单买、大单卖可以获利。现实中平方根冲击大部分是临时的,会随时间衰减,永久部分接近线性,所以并不矛盾。建立执行成本模型时,必须区分临时冲击与永久冲击,并检查永久部分是否满足线性条件,否则用该模型做最优执行优化时可能得出"操纵式"的荒谬解。

3. 信号研究:操纵污染与反转

操纵之后价格倾向反转,这对短期反转因子有解释力。"异常放量 + 无实质新闻 + 社交媒体热度骤升"可以作为排雷特征,尤其在小盘、低流动性、难借券、散户关注度高的股票上。使用论坛或社交媒体情绪数据时,要考虑多马甲刷帖,做去重和水军识别。

4. 合规设计

算法交易系统要避免出现幌骗、分层挂单(layering)、对敲、尾盘拉抬等模式;同一机构内不同策略之间可能意外形成自成交,需要自成交防护(self-trade prevention)。系统应记录每个交易决策的依据,因为在操纵指控中,能证明交易意图往往是唯一的辩护手段。

代码:往返操纵检验

import numpy as np

MULT = 1000          # 合约乘数
P0 = 10.0            # 初始价格

def round_trip(orders, impact, p0=P0):
    """orders: 带符号的订单手数序列(买为正、卖为负),净持仓须为 0。
    impact(q): 一笔 |q| 手订单引起的永久价格变动(美元,>0),方向随订单符号。
    约定同原书:订单按冲击后的价格成交。返回 (盈亏, 最终价格)。"""
    assert abs(sum(orders)) < 1e-9, "往返交易净持仓必须为零"
    p, cash = p0, 0.0
    for q in orders:
        p += np.sign(q) * impact(abs(q))
        cash -= q * p * MULT
    return cash, p

# 原书规则:1000 手的单子每 100 手推 10 美分;500 手的单子每 100 手只推 5 美分
asym = lambda q: (0.10 if q >= 1000 else 0.05) * q / 100
# 纪律化规则:不论大小,每 100 手都推 10 美分(线性、对称)
linear = lambda q: 0.10 * q / 100

cases = {
    "非对称:4×1000 买 → 8×500 卖": ([1000]*4 + [-500]*8, asym),
    "非对称:4×1000 卖 → 8×500 买": ([-1000]*4 + [500]*8, asym),
    "线性:4×1000 买 → 8×500 卖":   ([1000]*4 + [-500]*8, linear),
    "线性:40×100 买 → 40×100 卖":  ([100]*40 + [-100]*40, linear),
}
for name, (orders, f) in cases.items():
    pnl, pend = round_trip(orders, f)
    print(f"{name:<26s} 盈亏 = {pnl:>12,.0f}   最终价格 = {pend:.2f}")

# 平方根形式的"永久"冲击:每手冲击随单笔规模递减(凹函数)
sqrt_imp = lambda q: 0.01 * np.sqrt(q)
print("\n若平方根冲击全部是永久的:")
for name, orders in {"40×100 买 → 4×1000 卖": [100]*40 + [-1000]*4,
                     "4×1000 买 → 40×100 卖": [1000]*4 + [-100]*40}.items():
    pnl, pend = round_trip(orders, sqrt_imp)
    print(f"  {name:<22s} 盈亏 = {pnl:>12,.0f}   最终价格 = {pend:.2f}")

# 无操纵检验:随机生成大量零净持仓的订单序列,看是否存在盈利序列
rng = np.random.default_rng(12)
def max_profit(f, n_trials=20000):
    best = -np.inf
    for _ in range(n_trials):
        k = rng.integers(2, 12)
        buys = rng.integers(1, 20, k) * 100
        m = rng.integers(2, 12)
        w = rng.dirichlet(np.ones(m))
        sells = -np.round(w * buys.sum())
        sells[-1] -= buys.sum() + sells.sum()          # 修正取整误差,保证净持仓为 0
        orders = list(rng.permutation(np.r_[buys, sells]))
        best = max(best, round_trip(orders, f)[0])
    return best
print("\n随机搜索 20000 个零净持仓序列的最大盈亏:")
for name, f in {"线性对称": linear, "原书非对称": asym, "平方根(永久)": sqrt_imp}.items():
    print(f"  {name:<10s} {max_profit(f):>14,.0f}")

输出:

非对称:4×1000 买 → 8×500 卖     盈亏 =    1,500,000   最终价格 = 12.00
非对称:4×1000 卖 → 8×500 买     盈亏 =    1,500,000   最终价格 = 8.00
线性:4×1000 买 → 8×500 卖      盈亏 =   -3,000,000   最终价格 = 10.00
线性:40×100 买 → 40×100 卖     盈亏 =     -400,000   最终价格 = 10.00

若平方根冲击全部是永久的:
  40×100 买 → 4×1000 卖    盈亏 =    4,637,722   最终价格 = 12.74
  4×1000 买 → 40×100 卖    盈亏 =   -6,302,633   最终价格 = 7.26

随机搜索 20000 个零净持仓序列的最大盈亏:
  线性对称              -12,705
  原书非对称             828,895
  平方根(永久)         5,621,861

前四行复现了原书的 150 万、150 万、−300 万、−40 万。平方根冲击的例子说明,单位冲击随规模递减时,操纵方向与原书相反:用小单买入(单位冲击大,把价格推得高),用大单卖出(单位冲击小)。最后的随机搜索是一个简单的"无操纵检验":线性对称规则下,两万个随机往返序列中最好的也是亏损的,与 \(\Pi=-\tfrac{\lambda}{2}\sum q_k^2\) 一致;另外两种规则都能找到盈利序列。实际做市系统可以用同样的方法,对自己的报价调整函数做压力测试,搜索空间换成更贴近真实的订单到达模式即可。


本章小结

虚张声势者通过影响他人决策所用的信息,诱骗他们不明智地提供流动性。散布谣言者传播关于价值的信息(假信息,或预期会被误解的真信息);价格操纵者以特定价格和数量交易,让人误以为自己是知情者。他们与知情投机者唯一的本质区别是有没有基于基本面的价值判断,所以操纵会降低价格信息含量并导致事后反转。动量交易者和流动性提供者最容易受害,因为他们对看到的交易做出反应,而操纵者能控制他们看到的交易。价值交易者是操纵者的天敌,操纵因此偏好流动性差、难估值、难借券的标的,多头操纵更常见。法律能可靠打击虚假信息和对敲,用真实交易去误导则只有在能证明意图时才可定罪。定量上,只要流动性提供者对买卖、大小单的单位冲击不对称,往返交易就可能获利;线性对称永久冲击下,任何零净持仓往返都亏损 \(\tfrac{\lambda}{2}\sum q_k^2\)。

概念 要点
散布谣言者 传播虚假信息(违法),或以误导方式呈现真实信息(存疑)
价格操纵者 安排真实交易改变他人看法(存疑),或对敲(违法)
与投机者的区别 有无基本面依据;操纵后价格倾向反转
叫牌 价值交易者反向交易,抢走或阻挡操纵所需流动性
易被操纵的标的 流动性差、难估值、难借券;多头操纵更常见
起诉要件 虚假信息、对敲,或能证明操纵意图的证据
冲击不对称可套利 买冲击大则先买后卖;卖冲击大则先卖后买
无操纵条件 永久冲击线性、对称、与规模/速度/时间无关
往返亏损公式 \(\Pi=-\tfrac{\lambda}{2}\sum_k q_k^2\)(线性对称永久冲击,按冲击后价格成交)

练习

基础题

  1. 列出 BNB 案例中 Bill 用到的全部操纵手段,并按表 12-3 分别判断其合法性。 提示:悄悄建仓(合法);多马甲发帖且含明知错误的信息(违法,若能证明作者);利用无关紧要的新闻拆单集中买入(存疑);卖给动量交易者(合法交易本身)。
  2. 复算表 12-1 和表 12-2 的合计现金流。
  3. 原书数值例中,若改为 2 笔 2,000 手买入(每 100 手调 10 美分)、8 笔 500 手卖出(每 100 手调 5 美分),操纵者盈亏是多少? 答案要点:买入成交于 12、14,均价 13;卖出每笔降 0.25,从 13.75 到 12.00,均价 12.875;亏损 \(4{,}000\times0.125\times1{,}000=500{,}000\)。可见冲击不对称本身不保证盈利,还要看买入拆成几笔(拆得越粗,自己承担的冲击越多),参见第 7 题的一般公式。
  4. 为什么操纵后价格倾向反转?这对收益率序列相关性有什么影响? 提示:原书思考题 2;操纵制造的偏离没有基本面支撑,会被价值交易者纠正,产生负自相关。
  5. 为什么操纵者更偏爱成长股而不是价值股? 提示:原书思考题 4;难估值,关注者多为不懂基本面的人。

进阶题

  1. 证明本章的往返亏损公式 \(\Pi=-\tfrac{\lambda}{2}\sum q_k^2\)。若改为"按冲击前的价格成交",公式会怎样变化? 提示:按冲击前价格成交时 \(p_k=p_0+\lambda S_{k-1}\),可得 \(\Pi=+\tfrac{\lambda}{2}\sum q_k^2\)。这说明此时流动性提供者每笔都亏,规则需要加上半价差才能可持续,与第 14 章联系起来。
  2. 设买入冲击系数为 \(\lambda_b\)、卖出为 \(\lambda_s\)(每手,线性),操纵者用 \(m\) 笔等量订单买入共 \(Q\) 手,再用 \(n\) 笔等量订单卖出平仓,均按冲击后价格成交。求每手盈亏,并说明盈利条件。 答案要点:买入均价 \(p_0+\lambda_bQ\frac{m+1}{2m}\),最高价 \(p_0+\lambda_bQ\),卖出均价 \(p_0+\lambda_bQ-\lambda_sQ\frac{n+1}{2n}\)。每手盈亏 \(=\frac{Q}{2}\big[\lambda_b\frac{m-1}{m}-\lambda_s\frac{n+1}{n}\big]\),盈利条件为 \(\lambda_b\frac{m-1}{m}>\lambda_s\frac{n+1}{n}\)。代入原书 \(\lambda_b=0.001,m=4,\lambda_s=0.0005,n=8,Q=4000\) 得每手 0.375 美元。注意 \(m=1\) 时永远亏损:一笔买完要承担全部冲击。
  3. 解释 Huberman–Stanzl 的结论:为什么永久冲击必须是线性的才能排除操纵?用本章代码的平方根例子说明。
  4. 如果交易所实行 24 小时交易,操纵会更容易还是更难? 提示:原书思考题 10;夜间流动性和价值交易者的注意力都下降。
  5. 一位基金经理在媒体上公开推荐某股票,随后几天卖出自己持有的该股票。按中国《证券法》第 55 条,这在什么情况下构成操纵?如何为自己的合规流程设计防范措施? 提示:对应"抢帽子"条款;防范措施如推荐前后的交易静默期、交易理由留痕。

原书推荐习题:第 12 章思考题 2(操纵对价格序列相关的影响)、4(为何目标常为成长股)、8(操纵者如何逼空卖空的价值交易者)、9 和 11(真实信息误导与民事赔偿的法律设计)。另建议自行验算 12.5 节的三个数值例。思考题共 11 题。

原书对照

本章小节 原书章节 PDF 页码 原书页码(约)
12.1 什么是虚张声势者 第 12 章章首 p.272 p.259
12.2 多头虚张声势案例 12.1 A Long-Side Bluff p.272–278 p.259–265
12.3 基本原理 12.2 The Fundamentals of Bluffing(12.2.1–12.2.2) p.278–282 p.265–269
12.4 法律边界 12.2.3 Prosecuting Market Manipulation;表 12-3 p.282–283,p.286–287 p.269–270,p.273–274
12.5 约束流动性提供者 12.3 Bluffers Discipline Liquidity Providers p.283–286 p.270–273
小结 12.4 Summary、12.5 Some Points to Remember p.286–287 p.273–274
练习 12.6 Questions to Think About p.287–288 p.274–275

原书页码按"PDF 页码 − 13"估算。