4、做市策略核心:报价策略、库存风险对冲、订单簿动态平衡

做市策略听起来高大上,说白了就是三件事:怎么报价、怎么管库存、怎么让订单簿保持平衡。我做了这么多年,发现很多人把做市想得太复杂了。其实核心就这三个点,搞懂了,你就入门了。

核心三要素:报价策略决定你赚不赚钱,库存风险对冲决定你活不活得久,订单簿动态平衡决定你稳不稳。

做市策略核心 报价策略 库存风险对冲 订单簿动态平衡 • 买卖价差设定 • 报价深度调整 • 价格发现机制 • 库存上限控制 • 对冲工具选择 • Delta中性管理 • 订单簿重建 • 流动性监测 • 撤单与重报

4.1 报价策略:你的利润来源

报价策略,说白了就是决定你挂买单和卖单的价格。我个人习惯把报价策略分成两层:基础价差和动态调整。

基础价差怎么定? 我刚开始做的时候,以为价差越大越好。后来亏了一次才明白——价差太大,没人跟你成交;价差太小,赚的钱不够覆盖手续费。这里有个经验公式:

基础价差 = 手续费 × 2 + 预期利润 + 风险溢价

举个例子,如果交易所手续费是0.01%,你预期每笔赚0.005%,再留0.005%作为风险缓冲,那你的基础价差就是0.03%。

我的经验: 实际项目中,我一般会把价差设为基础值的1.2倍起步,然后根据成交情况慢慢调。别一上来就想着最优价差,先活着比什么都重要。

动态调整怎么做? 市场不是静止的。波动大的时候,价差要拉宽;波动小的时候,价差可以收窄。我常用的一个简单模型:

动态价差 = 基础价差 × (1 + 波动率系数 × 近期波动率)

波动率系数我一般取0.5到2之间,具体看你对风险的容忍度。

4.2 库存风险对冲:别让自己被套牢

做市商最怕什么?不是亏手续费,是库存砸手里。你想想看,如果市场突然暴跌,你手里全是多单,那画面太美我不敢看。

库存上限控制: 我给自己定了个规矩——任何单一资产的库存不超过总资金的5%。超过这个数,必须强制对冲。我曾经有一次没遵守这个规则,结果遇到黑天鹅,一天亏了半个月的利润。嗯,从那以后我再也不敢了。

对冲工具选择: 常用的对冲工具有三种:

  • 期货对冲: 适合大资金,流动性好,成本低
  • 期权对冲: 适合非线性风险,但成本高,操作复杂
  • 现货反向交易: 简单粗暴,但会占用资金

我个人偏好期货对冲,尤其是永续合约。原因很简单——流动性好,而且可以精确控制对冲比例。

核心原则: 库存风险对冲不是要完全消除风险,而是把风险控制在你能承受的范围内。完全对冲意味着你赚不到钱,不做对冲意味着你可能一夜归零。

Delta中性管理: 这是高频做市里常用的方法。简单说,就是让你的持仓对价格变动不敏感。比如你持有100个BTC的多单,那就做空100个BTC的期货,这样无论BTC涨跌,你的净值都不变。

但这里有个坑——Delta中性不是一劳永逸的。随着价格变动,你的Delta会偏移,需要不断调整。我一般每5分钟检查一次Delta,如果偏离超过0.5%,就重新平衡。

避坑指南: 我曾经在流动性差的品种上做Delta中性,结果调整的时候滑点太大,反而亏了更多。记住,对冲也要考虑流动性,别为了对冲而对冲。

4.3 订单簿动态平衡:保持你的存在感

订单簿动态平衡,说白了就是让你的订单始终保持在最优价格附近。市场在动,你的订单也得跟着动。

订单簿重建: 当你的订单被成交或者被市场甩在后面时,需要快速重建。我一般用以下策略:

  1. 监测当前最优买价和卖价
  2. 计算你的目标报价位置(基于价差策略)
  3. 撤销旧订单,提交新订单
  4. 检查是否成交,重复以上步骤

这个过程要在毫秒级完成。你想想看,如果市场每秒变动100次,你还在用秒级的速度更新订单,那基本就是在送钱。

// 伪代码示例:订单簿动态平衡
while (true) {
    bestBid = getBestBid()
    bestAsk = getBestAsk()
    myBid = bestBid - spread / 2
    myAsk = bestAsk + spread / 2
    cancelAllOrders()
    placeBid(myBid, volume)
    placeAsk(myAsk, volume)
    sleep(50ms)  // 50毫秒更新一次
}

我的习惯: 更新频率不是越快越好。太快了容易被交易所限流,太慢了又跟不上市场。我一般设在20-100毫秒之间,具体看交易所的API限制和网络延迟。

流动性监测: 做市商的核心价值就是提供流动性。如果订单簿上你的订单太少,市场会把你吃掉;如果太多,你又承担了不必要的风险。我一般会监测以下几个指标:

指标 正常范围 预警值
订单簿深度占比 5%-15% <3% 或 >25%
成交率 30%-60% <20% 或 >80%
平均持仓时间 30秒-5分钟 >15分钟

撤单与重报: 这是高频做市里最频繁的操作。市场每变动一个tick,你的订单可能就需要调整。我见过一些新手,撤单重报太慢,结果订单全挂在老价格上,被市场来回打脸。

这里有个技巧——不要全部撤单重报,而是只调整偏离最大的那几档。比如你有5档订单,只有第1档偏离了,那就只撤第1档,其他保持不动。这样可以减少API调用次数,也降低被交易所限流的风险。

总结一下: 报价策略决定你赚多少,库存对冲决定你亏多少,订单簿平衡决定你活多久。三者缺一不可。我见过太多人只关注报价策略,结果库存爆仓;也有人只做对冲,结果报价太保守赚不到钱。记住,做市是个系统工程,三个轮子都得转起来。

嗯,这一章的内容就到这里。做市策略的核心其实不复杂,难的是在实战中把这三者结合起来。下一章我们会深入讲具体的代码实现,到时候我会分享一些我踩过的坑和优化技巧。

专注资料整理