第1章:被动做市策略

各位同学好,我是老张。在量化做市这个行当摸爬滚打了十几年,今天咱们来聊聊被动做市策略。说实话,这是做市商最基础也最核心的功夫。你想想看,一个交易员如果连被动报价都做不好,那主动策略更是无从谈起。

被动做市策略,说白了就是「挂单等成交」。我们不主动去吃对手盘,而是把自己的买卖单挂在盘口上,等着别人来成交。这种方式的好处很明显——你能赚到买卖价差,而且交易成本低。但坏处也显而易见——容易被「狙击」。

我记得刚入行那会儿,带我的师傅说过一句话:「被动做市就像钓鱼,你得知道鱼在哪儿,还得知道用什么饵。」这句话我一直记到现在。

核心要点:被动做市策略的核心在于「报价的合理性」和「调整的及时性」。你挂的价格既要能成交,又要能赚钱,还要能控制风险。

4.1 对称报价策略

对称报价,这是最基础的玩法。买卖价差对称分布在中间价两侧。比如中间价是100,你挂99.5买,100.5卖,价差1个点,两边对称。

这种策略适合什么场景?流动性好的市场。比如主流币种、大盘股,买卖盘都很厚,你对称挂单基本不会被吃掉一边。我在做ETH/USDT时,就经常用对称报价,效果还不错。

但对称报价有个坑——你想想看,如果市场突然朝一个方向猛冲,你的单子被吃掉一边,另一边还挂着呢。这时候你就暴露在单边风险下了。我曾经吃过这个亏,一次BTC闪崩,我的买单全成交了,卖单还挂着,结果价格继续往下砸,账面亏损惨不忍睹。

避坑指南:对称报价策略一定要配合止损和仓位管理。不要以为对称就安全,市场不跟你讲道理。

4.2 非对称报价策略

非对称报价,说白了就是「偏袒」某一侧。比如我觉得价格要涨,我就把买单挂得离中间价近一点,卖单挂得远一点。这样买单更容易成交,卖单不容易被吃掉。

非对称报价的核心在于「方向判断」。你不需要判断得特别准,但至少要知道当前市场是偏多还是偏空。我个人习惯用订单簿的深度来判断——如果买单厚度明显大于卖单,我就偏向非对称做多。

举个例子:

# 非对称报价示例
mid_price = 100.0
bid_offset = 0.3  # 买单偏移
ask_offset = 0.7  # 卖单偏移

bid_price = mid_price - bid_offset
ask_price = mid_price + ask_offset

print(f"买单报价: {bid_price}")
print(f"卖单报价: {ask_price}")

你看,买单离中间价只有0.3,卖单却远了0.7。这样市场稍微一波动,买单就先成交,卖单则要等价格涨更多才能成交。这就是非对称的精髓——用偏移量来控制成交概率。

小技巧:非对称的偏移量不是固定的。我一般会根据波动率动态调整,波动大的时候偏移量放大,波动小的时候缩小。

4.3 基于波动率的动态调整

这是被动做市策略里最「高级」的部分。波动率,说白了就是市场跳动的幅度。波动率大的时候,你挂单的风险就大,因为价格可能瞬间穿过你的报价。

我常用的方法是:用历史波动率作为基准,实时波动率作为调整因子。具体来说:

  1. 计算过去N根K线的波动率(比如用标准差)
  2. 计算当前实时波动率(比如用最近10笔交易的价差)
  3. 如果实时波动率高于历史波动率,就扩大价差
  4. 如果实时波动率低于历史波动率,就缩小价差

嗯,这里要注意一点——波动率的计算周期不能太短,否则会被噪音干扰。我一般用5分钟K线算历史波动率,用30秒窗口算实时波动率。

下面是我在实际项目中用过的代码片段:

import numpy as np

def calculate_volatility(prices, window=20):
    returns = np.diff(prices) / prices[:-1]
    return np.std(returns[-window:])

def adjust_spread(base_spread, hist_vol, realtime_vol):
    # 如果实时波动率比历史波动率大20%,价差扩大30%
    if realtime_vol > hist_vol * 1.2:
        return base_spread * 1.3
    # 如果实时波动率比历史波动率小20%,价差缩小20%
    elif realtime_vol < hist_vol * 0.8:
        return base_spread * 0.8
    else:
        return base_spread

你看,逻辑其实很简单。但实际跑起来,你会发现参数调优是个无底洞。我建议你先用模拟盘跑一个月,把参数调稳了再上实盘。

三种策略的对比

策略类型 适用场景 风险点 收益特征
对称报价 流动性好、波动小 单边行情被吃 稳定但低
非对称报价 有方向判断 判断错误亏损 中等偏高
波动率动态调整 波动率变化大 参数过拟合 稳健但复杂

知识体系结构图

下面这张图是我自己画的,把三种策略的关系和调整逻辑串起来了:

被动做市策略知识体系 被动做市策略 对称报价策略 非对称报价策略 波动率动态调整 特点 买卖价差对称分布 适合流动性好的市场 特点 偏移量控制成交概率 需要方向判断 特点 根据波动率调整价差 参数调优是关键 核心逻辑:报价合理性 + 调整及时性 三种策略可组合使用,根据市场环境切换

说实话,这三种策略没有绝对的好坏。我在实际项目中,经常是三种策略混着用。比如上午波动小,我用对称报价;下午波动大了,我切换到波动率动态调整。关键是要灵活,别死板。

最后说一句:被动做市策略看着简单,但真正做好不容易。我见过太多人上来就搞复杂策略,结果亏得一塌糊涂。我的建议是——先把对称报价跑稳了,再慢慢加非对称和波动率调整。稳扎稳打,比什么都强。


公众号:蓝海资料掘金营,微信deep3321