4、做市策略入门:被动做市与主动做市、价差捕获策略

做市策略听起来高大上,说白了就两种玩法:被动做市主动做市。我刚开始接触这个领域时,也以为做市就是挂单等成交。后来踩了不少坑才明白,这两种策略的底层逻辑完全不同,适用的市场环境也天差地别。

今天咱们就把这两套策略掰开揉碎了讲,顺便聊聊价差捕获这个核心赚钱逻辑。

4.1 被动做市:赚的是流动性溢价

被动做市,就是你在订单簿上挂限价单,等着别人来吃你的单子。你提供流动性,市场给你奖励——这个奖励就是买卖价差

举个例子,BTC当前市场价30000 USDT。你在29980挂买单,在30020挂卖单。如果有人卖给你,你赚了20 USDT的折扣;如果有人从你这里买,你赚了20 USDT的溢价。一来一回,一单赚40 USDT。

核心公式:被动做市利润 = (卖单价 - 买单价) × 成交量 × 成交比例

我在项目中遇到过一个问题:很多新手以为挂得越近越好。其实不是。挂得太近,成交频繁但单笔利润薄;挂得太远,利润厚但成交概率低。这里有个平衡点。

我个人习惯用订单簿深度分布来决定挂单位置。具体做法是:

  • 统计最近100笔交易的成交价分布
  • 找到价格密集区,把单子挂在密集区边缘
  • 根据波动率动态调整挂单距离

嗯,这里要注意一点:被动做市最怕的是单边行情。市场突然暴涨,你的卖单被吃掉,但买单没成交,你就踏空了。反过来暴跌也一样。

避坑指南:我曾经在ETH上挂被动单,市场突然拉升5%,我的卖单全被吃掉,买单一个没成交。结果手里全是空仓,眼睁睁看着行情继续涨。后来我学乖了——被动做市一定要配合对冲仓位,或者设置止损。

4.2 主动做市:吃的是信息差和速度

主动做市正好反过来。你不是等别人来吃你的单子,而是主动去吃别人的单子。说白了,就是吃单

主动做市的逻辑是什么?你发现订单簿上有不合理的挂单,比如某个价位挂了大买单,但价格明显低于市场公允价。你迅速吃掉它,然后立刻在更高价位挂出卖单,赚取差价。

这要求你有三个能力:

  1. 快速识别定价错误——需要实时计算公允价格
  2. 极低延迟的交易通道——慢了就被别人抢走了
  3. 精准的仓位管理——吃错了要能及时止损

你想想看,主动做市其实是在和市场上的其他做市商抢饭吃。谁的算法快、谁的延迟低、谁的定价准,谁就能吃到肉。

我的经验:主动做市更适合高波动市场。波动越大,定价错误的概率越高,套利机会越多。但反过来,波动大也意味着风险大。我一般只在波动率指数超过某个阈值时才启用主动策略。

4.3 价差捕获策略:做市的核心赚钱逻辑

不管是被动还是主动,做市赚钱的本质都是价差捕获。价差就是买卖价格之间的差额。

但价差不是固定的。它受很多因素影响:

影响因素 对价差的影响 应对策略
市场流动性 流动性越好,价差越小 流动性差时扩大挂单距离
波动率 波动率越高,价差越大 高波动时主动策略为主
交易时间 非交易时段价差扩大 降低仓位或暂停做市
订单簿深度 深度越浅,价差越不稳定 避免在薄订单簿上大额挂单

价差捕获策略的核心,就是动态调整。你不能用一个固定的价差去应对所有市场环境。我见过太多人写死一个价差参数,结果市场一变就亏钱。

下面是一个简单的价差动态调整代码示例:

def calculate_spread(mid_price, volatility, liquidity_score):
    """
    动态计算最优价差
    :param mid_price: 当前中间价
    :param volatility: 波动率(标准差)
    :param liquidity_score: 流动性评分(0-1)
    :return: 最优买卖价差
    """
    # 基础价差:波动率的倍数
    base_spread = volatility * 2.5
    
    # 流动性调整:流动性越差,价差越大
    liquidity_adjust = 1 + (1 - liquidity_score) * 0.5
    
    # 最终价差
    final_spread = base_spread * liquidity_adjust
    
    # 限制最小价差,防止过度竞争
    min_spread = mid_price * 0.0001  # 万分之一
    return max(final_spread, min_spread)

这个代码虽然简单,但核心思想是对的:价差不是拍脑袋定的,而是根据市场状态算出来的

4.4 被动 vs 主动:怎么选?

说实话,没有绝对的好坏。我自己的做法是混合策略

  • 大部分时间(约70%)跑被动策略,赚稳定的流动性溢价
  • 当检测到明显的定价错误时(约20%),切换到主动策略吃单
  • 剩余10%的时间,什么都不做,观望

为什么会这样分配?因为被动策略胜率高但单笔利润低,主动策略胜率低但单笔利润高。两者结合,能平滑收益曲线。

下面这张图展示了被动做市和主动做市的完整流程对比:

做市策略核心流程对比 被动做市流程 1. 分析订单簿深度分布 2. 计算动态价差和挂单位置 3. 挂限价单(买+卖) 4. 等待成交,赚取价差 ⚠ 风险:单边行情踏空 主动做市流程 1. 实时计算市场公允价格 2. 扫描订单簿定价错误 3. 快速吃单(市价/限价) 4. 立即反向挂单平仓 ⚠ 风险:定价错误判断失误 核心:被动赚稳定价差,主动抓错误定价,两者互补

4.5 实战中的几个坑

最后分享几个我踩过的坑,希望能帮你少走弯路:

  • 别在低流动性市场硬做——价差大是诱人,但成交不了等于白挂。我曾经在某个山寨币上挂了一天被动单,一个都没成交。
  • 主动做市别贪——吃到一个错误定价就赶紧平仓,别想着等更好的价格。市场会迅速修正,你等不起。
  • 价差不是越宽越好——太宽了成交概率低,资金利用率低。要根据历史数据找到最优值。
  • 别忘了手续费——有些交易所吃单手续费高,主动做市的利润可能全被手续费吃掉。

做市策略入门,说白了就是搞清楚你在赚谁的钱。被动做市赚的是提供流动性的钱,主动做市赚的是发现错误定价的钱。两者没有高低之分,关键看你的技术栈和市场环境适合哪种。

我的建议:刚开始做市,先从被动策略入手。把价差捕获的逻辑跑通,把风控体系搭好,再考虑加入主动策略。别一上来就想吃大肉,做市是个细水长流的活。


专注资料整理