4、流动性风险限额:买卖价差限额、持仓集中度限额、日内流动性覆盖率

流动性风险,说白了就是「想跑的时候跑不掉」。做市商最怕的不是价格波动,而是市场突然干涸,你手里一堆货,但没人接盘。我见过不少团队,策略回测收益漂亮,一上线就被流动性风险教做人。今天咱们聊聊三个最核心的限额指标。

4.1 买卖价差限额:你的报价到底有没有诚意?

买卖价差(Bid-Ask Spread)是做市商的核心利润来源,也是流动性最直接的体现。价差越小,说明市场越活跃;价差越大,说明流动性越差。但作为做市商,你不能无限扩大价差来保护自己——那样你就失去做市的意义了。

我个人习惯,把买卖价差限额分成两档:

  • 硬性限额:绝对最大价差,比如不超过中间价的 0.5%。超过这个值,系统自动撤单。
  • 软性限额:相对市场平均价差的倍数,比如不超过市场平均价差的 3 倍。这个用来防止你在流动性差的时候报出离谱的价格。

核心公式:

价差率 = (卖一价 - 买一价) / 中间价 × 100%

硬性限额:价差率 ≤ 0.5%
软性限额:价差率 ≤ 市场平均价差率 × 3

我在项目中遇到过一件事。有一次某个小币种突然拉盘,市场价差从 0.1% 瞬间扩大到 2%。我们的硬性限额设的是 1%,结果系统疯狂撤单再挂单,产生了大量无效报价。后来我加了一个「价差变化率」监控——如果价差在 1 秒内扩大超过 5 倍,直接暂停该币种的所有报价,等市场稳定再说。

避坑指南:我曾经把硬性限额设得太死,结果市场波动时频繁触发,导致系统一直在做无用功。后来改成「动态硬性限额」——根据历史波动率自动调整,效果好了很多。

4.2 持仓集中度限额:别把鸡蛋放在一个篮子里

持仓集中度,就是你的仓位里,某个资产占比不能太高。做市商最怕什么?怕你重仓一个币,结果那个币的做市商集体跑路,价格瞬间崩盘。你想想看,如果你持有 80% 的 ETH,ETH 跌 10%,你的总资产就缩水 8%。

我一般用两个维度来控制:

  1. 单一资产集中度:单个币种市值占总持仓的比例,上限通常设在 20%-30%。
  2. 相关性集中度:同板块或同赛道的资产合计占比,比如所有 DeFi 币加起来不能超过 50%。

实际配置示例:

// 伪代码示例
class ConcentrationLimit:
    def check(self, portfolio):
        for asset in portfolio:
            if asset.ratio > 0.25:  # 单一资产不超过25%
                return False
        
        # 检查板块集中度
        sector_ratios = {}
        for asset in portfolio:
            sector_ratios[asset.sector] += asset.ratio
        for sector, ratio in sector_ratios.items():
            if ratio > 0.5:  # 同板块不超过50%
                return False
        return True

嗯,这里要注意。相关性集中度比单一集中度更难控制。我记得有一次,我们持仓里 BTC 和 ETH 各自只占 15%,看起来没问题。但那天整个大盘暴跌,两个币一起跌,相关性接近 1。后来我加了一个「压力测试集中度」——模拟极端行情下,所有高相关性资产同时下跌 30%,看总亏损是否超过阈值。

警告:别只看名义集中度。如果你做的是杠杆交易,实际风险敞口可能是名义持仓的 3-5 倍。一定要用「风险敞口集中度」来算,而不是「名义持仓集中度」。

4.3 日内流动性覆盖率:你今天能扛住吗?

日内流动性覆盖率(Intraday Liquidity Coverage Ratio, ILCR),说白了就是「你今天如果被疯狂提款,手里的现金够不够撑到收盘?」这个指标是从银行的 LCR 指标借鉴过来的,但做市商更关注日内尺度。

公式其实很简单:

日内流动性覆盖率 = 高流动性资产 / 预计日内最大净流出

其中:
- 高流动性资产:现金、稳定币、主流币(BTC/ETH)
- 预计日内最大净流出:基于历史 VaR 或压力情景估算

我个人习惯,把 ILCR 分成三个等级:

等级 ILCR 值 操作
安全 ≥ 2.0 正常做市
预警 1.0 - 2.0 降低仓位,减少报价深度
危险 < 1.0 暂停做市,紧急补充流动性

你可能会问,为什么安全线是 2.0 而不是 1.0?因为日内净流出估算永远不准。我曾经遇到过,模型算出来最大净流出是 1000 万,结果实际来了 1800 万。如果 ILCR 只设 1.0,那就直接爆仓了。所以安全边际一定要留够。

实战技巧:我建议把 ILCR 做成实时监控面板,每 5 分钟刷新一次。一旦触发预警,系统自动做两件事:一是减少所有非主流币的报价深度,二是把部分仓位换成稳定币。别等人来手动操作,等你反应过来,流动性已经枯竭了。

4.4 三者如何联动?

这三个限额不是孤立的。我画了一张图,展示它们之间的关系:

买卖价差限额 控制报价质量 持仓集中度限额 控制资产分布 日内流动性覆盖率 控制现金储备 三者联动逻辑 1. 价差扩大 → 流动性变差 → ILCR 下降 → 触发预警 → 降低集中度 2. 集中度过高 → 单一资产风险大 → 压力测试 ILCR → 强制减仓 3. ILCR 过低 → 减少报价深度 → 价差可能扩大 → 形成负反馈循环 核心:任何一个指标触发,都要检查另外两个是否正常

你看,这三个指标其实是互相影响的。价差扩大说明市场流动性变差,这时候你的 ILCR 会下降,因为高流动性资产可能被消耗。同时,如果持仓集中度过高,你在流动性差的时候更难平仓,ILCR 会进一步恶化。所以我的做法是:任何一个指标触发预警,系统自动检查另外两个指标,如果两个以上同时预警,直接进入「紧急模式」——暂停所有非核心做市活动。

最后提醒一句:流动性风险是「慢刀子割肉」。价格风险你一眼就能看到亏损,但流动性风险往往在市场正常的时候被忽视。等到你真正需要流动性的时候,它已经没了。所以,平时就要把这三个限额设好,别等到暴风雨来了才想起修屋顶。


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