第二章:做市盈利原理

做市商怎么赚钱?说白了就靠四个字:买卖价差

我刚开始做市的时候,觉得这玩意儿特简单——低价买,高价卖,差价就是利润。但真正上手才发现,这里面的门道比想象中深得多。你想想看,如果市场这么容易让你套利,那谁还亏钱?

2.1 买卖价差的构成

先搞清楚一个概念:Bid-Ask Spread,也就是买一价和卖一价之间的差值。

举个例子:

  • 当前买一价(Bid):100.00
  • 当前卖一价(Ask):100.05
  • 价差(Spread):0.05

这个0.05就是名义上的利润空间。但实际能赚多少?嗯,这里要注意,价差不是纯利润。

价差由三部分构成:

组成部分 说明 占比(典型)
交易成本 手续费、交易所费用、清算费 20%-30%
风险溢价 库存风险、逆向选择风险 40%-50%
纯利润 做市商实际赚到的部分 20%-40%

我在项目中遇到过不少新手,一上来就盯着价差算利润,结果发现实际收益远低于预期。为什么?因为忽略了交易成本和风险溢价。

核心公式:

实际盈利 = 名义价差 - 交易成本 - 风险溢价

2.2 做市商如何通过价差盈利

盈利模式其实就一句话:低买高卖,反复做

但具体怎么操作?我给你拆解一下:

  1. 挂单策略:同时在买一和卖一挂单,等待成交
  2. 价差锁定:确保买价低于卖价,锁定正价差
  3. 高频周转:通过大量交易,积少成多

举个例子,假设你在ETH/USDT上做市:

# 伪代码示例:简单做市策略
def market_making_strategy(current_price, spread=0.1):
    bid_price = current_price - spread/2
    ask_price = current_price + spread/2
    
    # 挂买单
    place_order(side='buy', price=bid_price, quantity=1)
    # 挂卖单
    place_order(side='sell', price=ask_price, quantity=1)
    
    # 如果买单成交,立即在卖一挂单
    if order_filled('buy'):
        place_order(side='sell', price=ask_price, quantity=1)
    
    # 如果卖单成交,立即在买一挂单
    if order_filled('sell'):
        place_order(side='buy', price=bid_price, quantity=1)

这个策略看起来简单,但实际跑起来问题很多。我曾经在回测时发现,如果市场波动大,这种策略会频繁被吃单,导致库存失衡。

个人经验:

我建议新手先跑模拟盘,别急着上实盘。价差盈利看着美,但实际执行中,滑点和延迟会吃掉大部分利润。

2.3 库存风险与盈利的平衡

做市商最大的敌人是谁?不是市场,是库存风险

你想想看,如果你手里囤了一堆某个币,价格突然暴跌,那之前赚的价差全赔进去都不够。这就是库存风险——你持有的资产价格波动带来的损失。

库存风险和盈利之间,存在一个跷跷板效应

  • 价差设得宽:单笔利润高,但成交概率低,库存风险小
  • 价差设得窄:单笔利润低,但成交概率高,库存风险大

怎么平衡?我个人的做法是引入库存管理指标

# 库存风险控制示例
class InventoryManager:
    def __init__(self, max_inventory=100):
        self.max_inventory = max_inventory
        self.current_inventory = 0
    
    def adjust_spread(self, base_spread):
        # 库存越多,价差越宽(降低买入意愿)
        inventory_ratio = self.current_inventory / self.max_inventory
        
        if inventory_ratio > 0.7:
            # 库存过高,只卖不买
            return base_spread * 2
        elif inventory_ratio < 0.3:
            # 库存过低,只买不卖
            return base_spread * 0.5
        else:
            return base_spread
    
    def update_inventory(self, trade):
        if trade.side == 'buy':
            self.current_inventory += trade.quantity
        else:
            self.current_inventory -= trade.quantity

这个逻辑说白了就是:库存多了就少买,库存少了就多买。听起来简单,但实际执行时,参数调优是个大坑。

避坑指南:

我曾经在BTC永续合约上做市,因为没控制好库存,一夜之间亏了半个月的利润。后来我加了一条铁律:单边库存不超过总资金的20%。这条规则救了我好几次。

2.4 核心逻辑框架

下面这张图,是我自己总结的做市盈利核心逻辑:

做市盈利核心逻辑框架 市场数据输入 价差计算引擎 Bid-Ask Spread 挂单执行 库存风险反馈 库存管理 风险控制 动态调整 核心逻辑:市场数据 → 价差计算 → 挂单执行 → 库存反馈 → 动态调整

这个框架的核心就三个环节:输入、计算、反馈。市场数据进来,价差引擎算出最优报价,挂单执行后,库存变化反馈回来,再调整下一轮的报价。

说白了,做市就是一个动态博弈的过程。你既要赚价差,又要防库存风险。这两者之间的平衡,决定了你能不能长期活下去。

记住一句话:

做市不是赌博,是概率游戏。你不需要每笔都赚,只需要在大量交易中,让期望值为正。

我个人习惯用夏普比率来评估做市策略的好坏。如果夏普比率低于2,说明风险调整后的收益不够,需要优化。如果高于3,嗯,那基本可以放心跑实盘了。

好了,这一章的内容就到这里。价差盈利的原理其实不复杂,难的是在实战中把每个细节都做到位。下一章我们会深入讲具体的做市策略设计,到时候再细聊。


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