把所有技术细节剥掉,一个做市商每时每刻只做三个决定,永远只有这三个:
1. 这东西现在到底值多少钱?(公允价)
2. 我在这个数的两边各挂多远?(价差)
3. 手里已经压着货的时候,整对报价往哪边偏?(倾斜)
五十年的做市理论,就是一次漫长的尝试,回答这三个数该是多少、凭什么。这篇把整条路走一遍:从 1968 年的一个提问,到今天交易台还在照着教的两个公式。结尾没有策略推销。不构成投资建议。
一、价差为什么存在:两条亏钱的路
先问一个天真的问题:两边都挂着单,凭什么能赚到钱?
第一个像样的回答来自 Demsetz,1968 年:价差是即时性的价格。一个现在就要成交的人,得向愿意等的人付一笔便利费。做市商是职业等待者,价差是他的租金。
如果故事到此为止,做市就是白捡钱。它不是。因为挂单的人有且只有两条系统性亏钱的路,而价差必须同时盖住这两条。
亏损通道一,信息税。来吃你单子的人分两种。一种是自己有事要办 —— 调仓、恐慌、手滑,他们的成交是你的利润。另一种知道你不知道的事,他们的成交是定向的亏损:他们吃掉你的卖单,是因为价格马上要涨。你事先分不出谁是谁,所以每一笔成交都自带一份"对手可能比我聪明"的期望亏损。这就是为什么挂得太窄是必然出血:窄价差把知情单流全招过来,收上来的租金却盖不住这笔税。
亏损通道二,库存税。就算每个对手都是无知的,买单被打中之后你就成了多头。价格接着乱走,你坐在那儿等反向的那一笔。有人得为你承担这段方差付钱。仓位越大、波动越大、预计要拿得越久,这张账单越大。
所以:价差 = 便利费 − 信息税 − 库存税。文献里的每一个模型,都是在选让哪一项当主角。
二、五十年,一段话
1968,Demsetz:价差给即时性定价,做市从此成为一门能被分析的生意。1976 到 1981,Garman、Stoll、Ho 与 Stoll:库存学派。做市商是一个厌恶风险的人,靠倾斜报价来管理仓位;Ho 和 Stoll 在 1981 年其实已经写出了现代形态的公式,只是那套数学重到当时没人用得动。1985 年,Kyle,以及 Glosten 与 Milgrom,同一年:信息学派。哪怕是一个风险中性、零成本的做市商,只要单流里混着知情交易者,他也必须挂出价差;价差为逆向选择定价,宽度随知情单流的占比放大。2008,Avellaneda 与 Stoikov:把库存学派用随机控制重写到电子挂单簿的年代,给出了能直接抄进代码的闭式解。2013,Gueant、Lehalle 与 Fernandez-Tapia 补上硬库存上限和更干净的渐近解。此后的一切 —— 排队位置、微观价、返佣博弈 —— 都是在这副骨架上的修补。
有一件事得单独拎出来:Avellaneda-Stoikov 是一个纯粹的库存学派模型,它假设信息税等于零。这是它最大的一句谎,也是判断它能在哪种挂单簿上活下来的那把钥匙。
三、两个公式
模型的世界有四条假设:公允价走随机游走,波动率 σ,且不受你的成交影响(等于说没有知情对手);你的报价被打中的概率随距离 δ 指数衰减,衰减速率 κ;你厌恶风险,厌恶系数 γ;存在一个终点时刻,到点清仓算账。
公式一,保留价格。先问一个问题:手里已经有 q 个单位,再多一个对你值多少?
r = s − q·γ·σ²·τ
s 是市场公允价,τ 是你剩下的持有期。念出声就是:每一个单位的多头库存,都把你的私人锚往市场锚的下方拖,拖的距离等于厌恶系数乘以你即将承受的方差。然后你把整对报价围着 r 摆,而不是围着 s 摆。多头库存把两边报价一起往下推:卖单靠向市场(出货变容易),买单后撤(继续接货变难)。倾斜不是事后贴上去的风控补丁,它是从效用函数里直接掉出来的。
公式二,最优半价差。先把风险搁一边,只最大化单位时间的期望收入 —— 距离乘以命中率,也就是 δ 乘以 e 的 −κδ 次方。求个导,会得到一个很漂亮的东西:
δ* = 1 / κ
最优价差是单流价格敏感度的倒数。吃单的人挑剔(κ 大),你就必须挂窄;吃单的人不比价(κ 小),你就能挂宽。做市商是一个卖即时性的垄断者,而 κ 就是他面对的那条需求曲线。完整解把风险项加回来:
δ* = γσ²τ / 2 + (1/γ)·ln(1 + γ/κ)
第一项是库存税,摊在报价的两边;第二项是垄断加价,当 γ 趋近于零时它退回 1/κ。整个价差就是一份保险费加一份垄断租,没有别的东西。
四、这些符号到底在说什么
σ 在每个公式里都是平方,从来不是一次方。方差随时间线性累积,所以带着仓位穿过混乱是二次方地疼:波动翻倍,模型把你的倾斜和风险加价一起翻四倍。交易员"行情一乱就往后撤"的直觉不是玄学,是一个二阶项。
τ,在原论文里是到收盘的时间。7×24 的市场没有收盘钟,正确的读法于是变成:按当前的成交速率,还要多久才会有一笔反向交易把这批库存从我手里接走。在一个薄的挂单簿上,这个答案以小时计而不是以秒计,库存税立刻变贵。这是"报一个主流品种"和"报一个冷门品种"之间最大的一处量化差别。
γ 是唯一一个你选出来、而不是测出来的参数,而且它带量纲:一除以钱。它是把方差换算成"多少钱的难受"的汇率。这意味着它没有标准值 —— 同样的心理承受力,账户大十倍,对应的 γ 就小十倍。实践中要反着定:先决定库存打满时报价该偏出多少个基点,再倒解 γ。它编码的是你的纪律,不是市场的结构。也正因如此,它该在开工之前写在纸上,而不是边跑边调。
κ 是模型里信息最丰富的那个参数。它的倒数有一个物理翻译:平均一笔市价单会犁进挂单簿多深。κ 同时是你对手方的画像。κ 大,说明单流挑剔而专业,紧贴着买一卖一;κ 小,说明来的单子根本不看价 —— 恐慌、强平、下错单。还有一条在所有人量过的挂单簿上都成立的经验事实:衰减在贴近盘口处是指数的,在尾部比指数更肥。深处的挂单被打中的频率高于公式的预测,而且几乎总是被那些不考虑价格的单流打中。
A,基础到达率,是这个场地的车流量。优雅的地方就在这儿:A 在最优化里被整个约掉了,最优距离跟它无关。车流量决定这门生意值不值得开,κ 决定这门生意该怎么开。有整整一批场地死在第一个问题上,而它们在第二个问题上的结构其实相当漂亮。
五、模型拒绝告诉你的事
五处沉默,每一处都终结过真实的职业生涯。
信息。整个 Glosten-Milgrom 的世界在这里是缺席的。如果你的成交能预测价格,模型的核心假设就破了,机器按设计出血。诊断工具是 markout:每笔成交之后,在固定的时间点上重新盯市。markout 为负,说明信息税是真的,而你的价差没盖住它。
排队位置。同一个价格上,排在你前面的单子先成交。模型看见的命中率是队列最前端的命中率。忽略这件事的回测,会给你记上一堆你根本拿不到的成交。
跳跃。模型里的价格路径是连续的。真实的挂单簿会在几秒之内连续击穿你同一侧的报价。库存上限不是可选的装饰,它是你和尾部之间唯一还站着的那个东西。
持有成本。在永续合约上,就算价格一动不动,库存也不是免费拿着的:资金费按钟点结算。看方向,它要么是补贴你一侧账簿的顺风,要么是一道慢慢吃掉价差的漏。
延迟与手续费。公式假设报价瞬间移动而且不要钱。每一个真实场地都会用毫秒和挂单费向你收账,而这两项修正指向同一个方向:往下。
六、老实的总结
Avellaneda-Stoikov 不会递给你一个 edge。它假设掉的恰恰是杀死大多数报价策略的那样东西 —— 知情单流。它给你的是一副正确的骨架:一个锚,一个宽度,一个倾斜,一个上限,每一样都有推导,而不是迷信。经验参数(σ、κ)可以从数据里测出来;纪律参数(γ、库存上限)测不出来,只能选,而它们属于第一笔单子之前的那张纸 —— 在小样本上边跑边调,有另一个名字,叫拟合噪声。
这套数学五十年了,而且是公开的。它到今天还能分开专业选手和游客,原因不是保密,而是这个模型准确地告诉了你:教科书结束之后,还剩哪几个问题没答 —— 我的单流是谁,我的队列在哪,尾部会发生什么。用测量回答这三个问题的人活了下来;用希望回答的人,是他们的对手方。
参考文献:Demsetz 1968 (QJE);Ho and Stoll 1981 (JFE);Kyle 1985 (Econometrica);Glosten and Milgrom 1985 (JFE);Avellaneda and Stoikov 2008 (Quantitative Finance);Gueant, Lehalle, Fernandez-Tapia 2013;Cartea, Jaimungal and Penalva 2015 第 10 章有完整推导。
#做市 #永续合约