第四章:做市策略核心:报价策略、对冲策略、库存风险控制

做市策略听起来高大上,拆开来看其实就三件事:怎么报价、怎么对冲、怎么管库存。这三件事做好了,策略就稳了。我做了这么多年,见过太多人只盯着报价,结果库存爆仓,一夜回到解放前。

今天我们就来聊聊这三个核心模块。我会结合我踩过的坑,给你讲透。

4.1 报价策略:不只是挂单那么简单

报价策略,说白了就是决定你在什么价格挂买单、什么价格挂卖单。很多人以为就是“买一卖一”来回吃价差,其实远不止这些。

4.1.1 固定价差 vs 动态价差

最简单的做法是固定价差。比如你设定买卖价差为0.1%,然后一直挂着。这在波动小的时候还行,但遇到大行情,你可能会被瞬间吃掉。

我个人习惯用动态价差。怎么动态?看波动率。波动率大的时候,价差拉宽;波动率小的时候,价差收窄。这样能有效避免被套。

核心公式:

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

其中α是调整因子,我一般取0.5到1.5之间。

4.1.2 报价深度与层数

你想想看,如果你只在盘口挂一层,对手一个大单就能把你打穿。所以我们需要多层报价。

我在项目中遇到过这样的情况:只挂两层,结果被一个机构的大单连续吃掉,库存瞬间变成负数。从那以后,我至少挂5层。

层数 挂单比例 说明
第1层 20% 最激进,快速成交
第2层 30% 中等深度
第3层 25% 防御性挂单
第4层 15% 较远价格
第5层 10% 极端保护

4.1.3 报价更新频率

报价不是挂上去就不管了。市场在动,你的报价也得跟着动。但更新太频繁也不行,会被交易所限流。

我建议的节奏是:每100毫秒更新一次。太快了容易被封,太慢了跟不上行情。

小技巧:可以用“价格偏移”的方式更新。比如基准价格变了,你的所有挂单整体平移,而不是逐个撤单重挂。这样能省不少手续费。

4.2 对冲策略:别让风险裸奔

做市商最怕什么?怕库存方向暴露。你手里囤了一堆币,价格跌了,你就亏了。所以必须对冲。

4.2.1 对冲工具的选择

常用的对冲工具有三种:

  • 期货合约:最常用,流动性好
  • 永续合约:没有到期日,适合长期对冲
  • 期权:成本高,但灵活

我个人偏好用永续合约。为什么?因为不用考虑移仓换月,省心。但要注意资金费率,有时候资金费率会吃掉你的利润。

4.2.2 对冲比例怎么定

不是所有库存都要对冲。你想想看,如果你100%对冲,那你还赚什么钱?做市商的利润来自价差,不是方向性投机。

我一般用动态对冲比例

  • 库存小于阈值(比如总资金的20%):不对冲
  • 库存超过阈值:按比例对冲,比如50%
  • 库存接近上限:100%对冲

注意:对冲不是一锤子买卖。市场在变,你的库存也在变。我建议每5分钟重新计算一次对冲比例。

4.2.3 对冲的时机

什么时候对冲?这个问题我纠结了很久。后来我发现,不要等库存大了再对冲,要提前布局。

我曾经吃过一次亏:库存已经很大了,想着再等等,结果行情突然反转,直接亏了5%。从那以后,我设了一个硬性规则:库存达到阈值,立即对冲,不犹豫。

4.3 库存风险控制:做市商的命门

库存风险控制,说白了就是管好你手里的货。货多了怕跌,货少了怕涨。怎么平衡?

4.3.1 库存上限与下限

每个做市商都应该有明确的库存上下限。我习惯这样设置:

  • 上限:总资金的30%
  • 下限:总资金的-10%(允许做空)

超过上限,强制平掉一部分库存。低于下限,强制回补。

4.3.2 库存偏离度监控

库存偏离度,就是当前库存与目标库存的差值。目标库存一般是0,但也可以根据市场情况调整。

我写了一个简单的监控脚本:

def check_inventory(current_inv, target_inv=0, threshold=0.1):
    deviation = abs(current_inv - target_inv) / max(abs(target_inv), 1)
    if deviation > threshold:
        print(f"库存偏离度 {deviation:.2%},需要调整")
        return True
    return False

4.3.3 库存调整策略

发现库存偏离了,怎么调?有两种方式:

  1. 激进调整:直接市价单平仓,速度快但成本高
  2. 温和调整:通过报价策略慢慢消化,成本低但慢

我一般用温和调整。除非偏离度超过50%,才会用激进方式。

我的经验:温和调整时,可以把报价往库存方向偏移。比如你手里货多了,就把卖单价格压低一点,吸引买家。这样既能去库存,又能赚价差。

4.4 三者的协同关系

报价、对冲、库存控制,不是孤立的。它们是一个闭环。

我画了一张图,帮你理解这个关系:

报价策略 动态价差 对冲策略 永续合约 库存控制 上下限管理 影响库存 触发对冲 调整报价 闭环反馈系统 每100ms循环一次,持续优化

你看,报价策略影响库存,库存状态决定对冲比例,对冲结果又反过来影响报价。这是一个持续循环的过程。

我刚开始做的时候,把这三个模块分开开发,结果上线后各种问题。后来我把它们整合成一个系统,用同一个状态机管理,效果好了很多。

避坑指南:我曾经把报价和对冲放在两个不同的进程里,结果报价更新了,对冲没跟上,库存直接爆了。后来我改用同一个事件循环,才解决这个问题。

4.5 实战中的常见问题

最后,分享几个我踩过的坑:

  • 报价太激进:价差设得太小,结果被高频交易者反复收割。建议至少留0.05%的缓冲。
  • 对冲不及时:库存已经偏离了,还在等更好的价格。结果越等越糟。设好阈值,到了就执行。
  • 忽略手续费:频繁撤单重挂,手续费吃掉大部分利润。建议用价格偏移更新,减少撤单次数。

做市策略的核心,说白了就是平衡。平衡报价的激进与保守,平衡对冲的成本与收益,平衡库存的风险与机会。没有完美的策略,只有不断优化的系统。

嗯,这一章就到这里。记住,报价是手段,对冲是保障,库存控制是底线。三者缺一不可。

专注资料整理