4、多策略协同框架:策略分类、协同逻辑与风险预算分配

做市这行干久了,你会发现一个道理:没有哪个单一策略能永远赚钱。我见过太多团队,手里攥着一个好策略就死磕到底,结果市场风格一变,回撤直接把人打懵。说白了,做市不是赌方向,而是靠组合拳吃饭。

今天咱们聊聊多策略协同。这不是什么花架子,而是实打实的生存技能。我个人习惯把策略分成几大类,然后像调鸡尾酒一样,按比例搭配。嗯,这里面的门道,我踩过的坑不少,今天一并倒给你。

4.1 策略分类:三大核心类型

做市策略千千万,但万变不离其宗。我一般把它们归为三类:

  • 方向性策略:赌价格涨跌。比如趋势跟踪、均值回归。这类策略收益高,但风险也大。
  • 套利策略:吃价差。比如跨期套利、期现套利。收益稳,但容量有限。
  • 做市策略:赚买卖价差和返佣。比如订单簿做市、被动挂单。这是我们的基本功,胜率高,但单笔利润薄。

你想想看,如果只靠做市策略,遇到单边行情,库存风险能把你压垮。反过来,如果只做方向性策略,震荡市里来回打脸。所以,协同才是王道

核心观点:多策略协同不是简单叠加,而是让不同策略在时间、空间、风险上互补。一个策略亏钱时,另一个策略能顶上。

4.2 协同逻辑:它们怎么配合?

我在项目中遇到过最典型的场景:ETF上市首日,波动巨大。做市策略的挂单被频繁吃掉,库存方向完全被动。这时候,如果有一个均值回归策略在反向开仓,就能把库存成本拉回来。

协同逻辑其实就三条:

  1. 时间错配:短线策略(如做市)负责高频交易,长线策略(如趋势)负责捕捉大波段。两者互不干扰。
  2. 风险对冲:方向性策略和套利策略天然对冲。比如你持有多头ETF,同时做空股指期货,市场跌了也不怕。
  3. 资金效率:做市策略占用资金少,但周转快;套利策略占用资金多,但收益稳。两者搭配,资金利用率最高。

举个例子。我记得有一次做沪深300ETF做市,盘中突然出现大单砸盘。做市策略的库存瞬间变成净多头,浮亏很大。但我的套利策略监测到期货贴水扩大,立刻开了反向套利仓。结果呢?做市亏的钱,被套利赚回来了。这就是协同的力量。

避坑指南:我曾经犯过一个错——让两个策略在同一时间、同一方向上加仓。结果市场反转,双重亏损。后来我定了个规矩:任何两个策略的相关性不能超过0.3。超过就砍掉一个。

4.3 风险预算分配:钱怎么分?

这是最核心的部分。很多新手上来就问:「哪个策略最赚钱?」我一般会反问:「你能承受多大回撤?」

风险预算分配,说白了就是给每个策略定一个亏损上限。我个人习惯用「风险平价」的思路:

  • 做市策略:分配40%的风险预算。因为它胜率高,回撤小。
  • 套利策略:分配35%的风险预算。收益稳,但偶尔有滑点风险。
  • 方向性策略:分配25%的风险预算。波动大,但收益弹性高。

当然,这不是死数字。市场波动率变化时,我会动态调整。比如VIX飙升时,我会降低方向性策略的预算,把钱挪给做市策略。

下面这张图,是我自己常用的多策略协同框架。你看一眼就明白了:

多策略协同框架 方向性策略 套利策略 做市策略 协同逻辑 时间错配:短线高频 + 长线波段 风险对冲:方向性 + 套利 天然互补 资金效率:低占用高周转 + 高占用稳收益 风险预算分配(风险平价模型) 方向性 25% 套利 35% 做市 40% 动态调整依据: • 市场波动率(VIX) • 策略历史回撤 • 资金利用率

你看,这个框架的核心就是分类、协同、分配三步走。每一步都有讲究。

4.4 实战中的动态调整

理论说完了,聊聊实战。我一般每天开盘前做三件事:

  1. 检查策略相关性:如果两个策略最近一周的收益相关性超过0.5,我会手动降低其中一个的权重。
  2. 调整风险预算:根据隔夜波动率,重新分配各策略的亏损上限。波动率高了,方向性策略的预算砍一半。
  3. 设置止损线:每个策略单独设止损,总账户也设止损。哪个先到,哪个先停。

举个例子。有一次市场突然降准,ETF瞬间暴涨2%。我的做市策略库存全是空的,浮亏很大。但方向性策略监测到突破,立刻开了多头。结果呢?做市亏了5万,方向性赚了8万,整体还是赚的。这就是协同的价值。

注意:多策略协同不是万能药。如果市场出现极端行情(比如熔断),所有策略可能同时失效。这时候,唯一的办法就是减仓、减仓、再减仓。别指望策略能救你,仓位管理才是最后的防线。

4.5 代码示例:风险预算分配器

下面是我自己用的一个简化版风险预算分配器。你拿去改改就能用:

class RiskBudgetAllocator:
    def __init__(self, total_risk=1000000):
        self.total_risk = total_risk
        self.budgets = {
            'market_making': 0.40,
            'arbitrage': 0.35,
            'directional': 0.25
        }
    
    def adjust_by_volatility(self, vix_level):
        """根据VIX调整预算"""
        if vix_level > 30:
            self.budgets['directional'] *= 0.5
            self.budgets['market_making'] += 0.125
            self.budgets['arbitrage'] += 0.125
        elif vix_level < 15:
            self.budgets['directional'] *= 1.2
            self.budgets['market_making'] *= 0.9
            self.budgets['arbitrage'] *= 0.9
    
    def get_allocations(self):
        """返回各策略的风险预算"""
        return {k: v * self.total_risk for k, v in self.budgets.items()}

# 使用示例
allocator = RiskBudgetAllocator(total_risk=1000000)
allocator.adjust_by_volatility(vix_level=35)
print(allocator.get_allocations())
# 输出:{'market_making': 525000, 'arbitrage': 475000, 'directional': 125000}

这段代码很简单,但核心逻辑都在里面了。你想想看,如果VIX到了35,方向性策略的预算从25万砍到12.5万,是不是安全多了?

个人经验:我建议你把风险预算分配做成自动化脚本,每天开盘前跑一遍。别手动调,人容易受情绪影响。机器不会恐慌,也不会贪婪。

好了,多策略协同框架就聊到这儿。记住一句话:做市不是单打独斗,而是团队作战。把策略分类、协同逻辑、风险预算分配这三件事做好,你的账户曲线会平滑很多。


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