25、流动性提供策略:被动做市与主动做市、流动性挖矿、做市商联盟、跨交易所流动性聚合

流动性,说白了就是市场的血液。没有流动性,你的订单挂在那里半天没人理,买卖价差大得吓人。我做量化这些年,见过太多因为流动性不足而爆仓的案例。今天咱们就聊聊,怎么系统地提供流动性,以及背后的策略逻辑。

一、被动做市 vs 主动做市

先分清楚两个概念。被动做市,就是你在订单簿上挂单,等着别人来吃。主动做市,是你主动去市场上扫单,或者用算法吃掉对手的流动性。两者思路完全不同。

1. 被动做市:赚的是价差和返佣

被动做市的核心逻辑很简单:你在买一价挂买单,在卖一价挂卖单。如果市场波动不大,两边都成交,你就赚到了价差。很多交易所还会给挂单方返佣,这又是一笔收入。

我个人的习惯是,被动做市一定要控制好库存风险。你想想看,如果市场突然暴跌,你手里的买单全成交了,卖单却没人理,那你就变成了一堆现货的多头。嗯,这很危险。

核心公式: 被动做市收益 = 价差收益 + 返佣收益 - 库存风险成本 - 逆向选择成本

我在项目中遇到过一种情况:某个小币种,价差很大,返佣也很高。团队一算,觉得稳赚。结果市场突然出现一个巨量卖单,直接把买一价砸穿了。我们的买单全成交,卖单一个没动。那一波亏了十几个点。所以啊,被动做市不是无脑挂单,你得有止损机制。

2. 主动做市:赚的是信息优势和速度优势

主动做市,说白了就是你去吃别人的单子。什么时候会这么做?当你判断市场即将出现方向性波动时,或者你发现了套利机会时。

举个例子。我在做跨交易所套利时,经常需要主动吃掉一个交易所的卖单,同时在另一个交易所挂出卖单。这种操作,本质上就是主动做市。你承担了瞬时库存风险,但换来了确定性收益。

我的经验: 主动做市更适合高频场景。如果你的延迟超过1毫秒,就别跟那些FPGA选手抢了。老老实实做被动,或者做统计套利。

二、流动性挖矿:DeFi时代的创新

流动性挖矿,这个词在2020年夏天火得一塌糊涂。说白了,就是你把资产质押到去中心化交易所的流动性池里,然后获得治理代币作为奖励。

但这里有个坑,我必须要说。流动性挖矿的收益,看起来年化几百甚至几千,但你要考虑两个问题:

  • 无常损失: 币价波动越大,你的损失越大。我在Uniswap上挖过一段时间,ETH从300涨到400,我池子里的ETH数量少了,USDT多了。虽然赚了手续费和代币,但算上无常损失,其实没赚多少。
  • 代币价格下跌: 很多项目方发的治理代币,挖矿结束后就暴跌。你辛辛苦苦挖了三个月,最后代币归零。嗯,这种事我见过不止一次。
避坑指南: 我曾经参与过一个号称“稳定币挖矿”的项目,池子里是USDT和DAI。我以为没有无常损失,结果项目方突然改了参数,池子里的比例失衡,我被迫承担了损失。所以,挖矿前一定要看合约代码,别只看APY。

三、做市商联盟:抱团取暖

做市商联盟,就是几个做市商联合起来,共同为某个交易对提供流动性。好处很明显:

  1. 资金规模更大: 单个做市商可能只有几百万,联盟可以凑到几千万甚至上亿。深度更好,价差更小。
  2. 风险共担: 遇到极端行情,大家一起扛。不会因为一个做市商撤单而导致流动性枯竭。
  3. 信息共享: 联盟内部可以共享一些市场数据,比如订单流、大单预警等。当然,这需要信任基础。

我参与过一个联盟,专门做某个新兴交易所的BTC/USDT交易对。我们约定好,每个人负责不同的价格区间。比如我负责买一到买五,另一个团队负责卖一到卖五。这样就不会互相抢单,还能保证整个订单簿的深度。

但联盟也有问题。你想想看,如果有人作弊怎么办?比如他偷偷在联盟之外挂单,或者利用联盟的信息提前下单。所以,联盟的治理机制很重要。我们当时用的是智能合约,所有挂单和撤单都上链,公开透明。

四、跨交易所流动性聚合

这个就更有意思了。不同交易所的流动性是割裂的,同一个币种,在A交易所可能深度很好,在B交易所可能深度很差。跨交易所流动性聚合,就是把这些流动性整合起来,让用户能以一个更好的价格成交。

实现方式主要有两种:

方式 原理 优点 缺点
智能路由 根据各交易所的实时深度,自动选择最优路径 成交价格最优,用户体验好 延迟较高,需要实时计算
原子交换 通过跨链技术,实现不同链上的资产交换 去中心化,安全性高 速度慢,成本高

我个人更倾向于智能路由的方式。为什么呢?因为速度快。我在做套利时,每一毫秒都很关键。原子交换虽然安全,但等它确认完,黄花菜都凉了。

这里给一个简单的智能路由伪代码,帮你理解核心逻辑:

def smart_route(order, exchanges):
    # 获取各交易所的实时深度
    depths = [get_depth(ex, order.symbol) for ex in exchanges]
    
    # 计算每个交易所的最优可成交价格
    best_price = None
    best_exchange = None
    for depth in depths:
        if order.side == 'buy':
            price = depth.asks[0].price
        else:
            price = depth.bids[0].price
        
        if best_price is None or price < best_price:
            best_price = price
            best_exchange = depth.exchange
    
    # 如果最优价格优于当前市场价,则执行
    if best_price < order.market_price * 1.001:
        execute_order(order, best_exchange)
    else:
        # 否则拆单,分批执行
        split_and_execute(order, depths)

这段代码很简单,但实际生产中要考虑的东西多得多。比如滑点、网络延迟、交易所的限频等等。我建议你从模拟盘开始,跑通了再上实盘。

五、知识体系总览

下面这张图,是我梳理的本章知识体系。你可以把它当作一个思维导图,快速回顾核心内容。

流动性提供策略 被动做市 挂单赚价差 交易所返佣 库存风险控制 主动做市 扫单吃流动性 套利机会捕捉 高频执行 流动性挖矿 DeFi质押 无常损失 治理代币奖励 做市商联盟 资金规模大 风险共担 信息共享 跨交易所聚合 智能路由 原子交换 最优价格执行 核心目标:降低价差,提高深度,控制风险

这张图把五个核心策略串起来了。你仔细看,其实它们之间是有联系的。比如做市商联盟可以更好地实现跨交易所聚合,流动性挖矿也可以看作是一种被动做市的变体。理解这些关联,你才能真正用好这些策略。

最后说一句: 流动性提供不是一锤子买卖。你得持续监控市场,调整参数。我见过太多人,策略上线后就不管了,结果市场结构一变,策略就失效了。记住,做市是动态的,不是静态的。

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