第19章:做市策略进阶:网格做市、趋势跟随做市、波动率做市、组合策略

做市策略做到一定程度,你会发现一个尴尬的事实——单一策略总有失效的时候。我见过太多团队,一套网格跑了大半年,突然某天行情突变,直接穿仓。所以今天咱们聊聊进阶玩法:网格、趋势跟随、波动率,以及怎么把它们组合起来。

一、网格做市:最朴素的赚钱机器

网格做市,说白了就是在价格区间内挂一堆买单和卖单。价格跌了买,涨了卖,赚的就是这个差价。我最早接触做市时,用的就是网格策略,简单到令人发指,但坑也多到令人发指。

核心逻辑:在价格区间 [L, H] 内,等间距或不等间距地挂出 N 层买单和 N 层卖单。每层挂单数量可以固定,也可以根据波动率动态调整。

# 一个简单的等距网格示例
def build_grid(price, low, high, layers, volume_per_layer):
    step = (high - low) / layers
    grid = []
    for i in range(layers):
        buy_price = low + i * step
        sell_price = low + (i + 1) * step
        grid.append({
            'buy': {'price': buy_price, 'volume': volume_per_layer},
            'sell': {'price': sell_price, 'volume': volume_per_layer}
        })
    return grid

嗯,这里要注意一个关键点——网格的上下边界怎么定?我个人习惯用ATR(平均真实波幅)来动态调整。比如以当前价格为中心,上下各3倍ATR作为边界。这样网格能自适应市场波动。

避坑指南:我曾经在2018年大熊市里用固定网格做BTC,结果价格直接跌破下边界,所有买单全部成交,然后一路跌到地板上。后来我学乖了——网格必须带止损,或者用期权对冲尾部风险。

二、趋势跟随做市:顺势而为

网格做市有个致命弱点——单边行情里会亏得很惨。你想啊,价格一直涨,你不断卖出,结果卖飞了。这时候就需要趋势跟随做市来补位。

趋势跟随做市的核心思路是:当检测到趋势时,调整挂单方向,让做市行为与趋势同向。说白了,就是涨的时候多买点,跌的时候多卖点。

趋势方向 挂单策略 库存管理
上涨趋势 加大买单深度,减少卖单 积累正库存
下跌趋势 加大卖单深度,减少买单 积累负库存
震荡趋势 均衡挂单 维持中性

怎么判断趋势?我常用的方法是用EMA均线组合。比如快线(5周期)上穿慢线(20周期)视为上涨趋势,反之亦然。但别太依赖单一指标,我见过有人用MACD+RSI组合,效果也不错。

个人经验:趋势跟随做市最怕的是假突破。我踩过这个坑——价格刚突破均线,我立马调整挂单,结果价格又回来了,两边打脸。后来我加了一个确认机制:突破后必须站稳3根K线才行动。

三、波动率做市:赚波动的钱

波动率做市,本质上是在赌波动率会回归均值。当波动率过高时,你提供流动性赚取高额价差;当波动率过低时,你减少挂单甚至反向操作。

具体怎么做?我一般用历史波动率(HV)和隐含波动率(IV)的差值来决策:

  • HV > IV:实际波动比市场预期的低,适合做市,赚价差
  • HV < IV:实际波动比市场预期的高,减少做市,甚至做方向性交易
# 波动率做市的核心逻辑
def volatility_market_making(current_price, hv, iv, spread_base):
    if hv > iv * 1.2:  # 实际波动远低于预期
        spread = spread_base * 0.8  # 收窄价差,积极做市
        volume_multiplier = 1.5
    elif hv < iv * 0.8:  # 实际波动远高于预期
        spread = spread_base * 1.5  # 扩大价差,减少风险
        volume_multiplier = 0.5
    else:
        spread = spread_base
        volume_multiplier = 1.0
    return spread, volume_multiplier

关键点:波动率做市需要实时计算HV和IV。HV可以用过去20天的日收益率标准差,IV则需要从期权市场获取。如果没有期权数据,可以用ATR替代IV作为参考。

四、组合策略:1+1 > 2

单一策略都有短板,组合起来才能稳健。我目前在生产环境跑的组合策略是这样的:

  1. 基础层:网格做市(60%权重)——提供稳定收益
  2. 趋势层:趋势跟随做市(25%权重)——捕捉单边行情
  3. 波动率层:波动率做市(15%权重)——对冲极端行情

三层策略通过一个风险预算分配器来协调。比如当波动率飙升时,波动率层的权重自动提升,网格层的权重降低。这样整个系统就有了自适应能力。

我的做法:组合策略最怕的是策略之间互相冲突。比如网格在卖,趋势在买,那就乱套了。我加了一个冲突检测模块——如果两个策略的信号方向相反,就暂停其中一个,直到信号一致再恢复。

五、知识体系总览

下面这张图是我自己梳理的做市策略进阶路线,你可以对照着看看自己处在哪个阶段:

做市策略进阶知识体系 第一层:基础做市 价差做市 | 库存管理 | 订单簿平衡 | 风险控制 第二层:进阶策略 网格做市 等距/不等距 | 动态边界 趋势跟随做市 EMA信号 | 库存方向调整 波动率做市 HV vs IV | 价差动态调整 第三层:组合策略 风险预算分配 | 冲突检测 | 自适应权重调整 从基础到进阶,再到组合,每一步都需要扎实的工程实践 建议先跑通单一策略,再逐步叠加组合

你看,从基础到进阶再到组合,每一步都有明确的路径。我个人建议不要一上来就搞组合策略,先把单一策略跑通、跑稳,再慢慢叠加。我见过太多人一上来就搞大而全的系统,结果出了问题都不知道是哪个策略的锅。

最后提醒一句:任何策略都有失效的时候。组合策略不是万能药,它只是降低了单一策略失效时的冲击。真正的护城河在于——你能否在策略失效时快速识别并切换。我自己的系统里有一个「策略健康度仪表盘」,实时监控每个策略的夏普比率、最大回撤、胜率等指标,一旦某个指标恶化到阈值,自动降低该策略的权重。

好了,这一章的内容就到这里。网格、趋势、波动率,这三板斧你掌握了,再配合组合策略的思路,基本上就能应对大部分市场环境了。记住,做市不是预测市场,而是管理风险。把风险管好了,收益自然就来了。


交易系统化学习资料 微信Strategy888888