第一章:做市商基础
什么是做市商?
做市商,说白了就是「双边报价者」。
我刚开始接触这个领域时,觉得做市商就是交易所请来的「托儿」。后来自己上手做了一套策略,才明白这角色有多关键。
做市商的核心任务很简单:同时挂买单和卖单。比如某个币种现价100元,做市商可能挂99.8的买单和100.2的卖单。赚的就是这0.4元的差价。
你想想看,如果没有做市商,一个冷门币种可能半小时才成交一笔。那谁还敢交易?
核心定义:做市商是为市场提供流动性的专业机构或个人。他们通过持续报价,让买卖双方随时都能成交。
做市商的核心职能
我在项目中总结过,做市商有三大核心职能。嗯,一个都不能少。
- 提供流动性 — 这是最根本的。不管市场有没有人买,做市商都得挂单。我记得有一次做ETH的做市,半夜三点突然有大单砸盘,我的买单硬是扛了5分钟。虽然亏了点钱,但市场没崩。
- 缩小价差 — 买卖价差越小,交易成本越低。普通交易者可能觉得价差无所谓,但高频交易者会盯着那0.01的差距。我曾经优化过一套价差模型,把BTC的价差从0.05%压到了0.02%,交易量直接翻了一倍。
- 价格发现 — 做市商的报价其实反映了市场情绪。如果某个币种的买单突然变厚,说明有人在吸筹。我习惯用订单簿的斜率变化来判断短期方向,准确率还不错。
个人经验:做市商不是「无风险套利」。很多人以为挂个双边单就能躺赚,其实库存管理才是核心。我曾经因为没控制好库存,一天亏了3%的本金。从那以后,我每天都会跑一遍库存风险模型。
做市商与普通交易者的区别
这个问题我经常被问到。说白了,两者完全是两种生物。
| 维度 | 做市商 | 普通交易者 |
|---|---|---|
| 交易目的 | 赚取买卖价差 | 赚取价格波动收益 |
| 持仓时间 | 极短(秒级到分钟级) | 较长(分钟级到天级) |
| 风险偏好 | 中性(对冲库存风险) | 方向性(看涨或看跌) |
| 技术门槛 | 极高(低延迟、风控、算法) | 中等(K线、指标、基本面) |
| 资金要求 | 高(需要同时挂双边单) | 灵活(可大可小) |
为什么会这样?我举个例子你就明白了。
普通交易者小明,觉得BTC要涨,于是买入1个BTC,等涨到10%就卖掉。他赚的是方向判断的钱。
做市商小红,同时挂了100个BTC的买单和100个BTC的卖单。她不在乎BTC是涨是跌,只在乎买卖单能不能成交。每成交一笔,她赚0.1%的差价。一天下来,可能成交了1000笔,总利润就是1个BTC。
你想想看,哪个更稳定?
避坑指南:我曾经见过一个新手,用做市商的思路去做趋势交易。结果呢?市场大涨时他卖飞了,市场大跌时他接飞刀。做市商和普通交易者的思维模式完全不同,千万别混着用。
做市商的核心逻辑
这里我画了一张图,帮你理解做市商的核心逻辑。
这张图展示了做市商的三个核心职能和对应的关键工具。我个人习惯把「库存风险控制」放在最重要的位置。为什么?因为订单簿管理可以靠算法优化,低延迟可以靠硬件堆,但库存风险控制一旦出问题,就是真金白银的亏损。
做市商的盈利模式
做市商怎么赚钱?说白了就两种方式。
- 价差收益 — 买卖单之间的差价。比如你挂99.8买、100.2卖,每成交一对就赚0.4元。这是最稳定的收入来源。
- 返佣收益 — 很多交易所会给做市商交易返佣。我合作过的一家交易所,每百万交易量返佣50 USDT。如果你一天交易量1个亿,返佣就是5000 USDT。
重要提醒:做市商的盈利不是「无风险」的。市场剧烈波动时,你的库存可能瞬间贬值。我经历过一次「闪崩」,3秒内BTC跌了5%,我的库存直接亏了20万。所以,风控永远是第一位的。
做市商的技术栈
做市商对技术的要求很高。我简单列一下常用的技术栈。
# 一个简单的做市商报价逻辑(伪代码)
class MarketMaker:
def __init__(self, symbol, spread=0.001):
self.symbol = symbol # 交易对
self.spread = spread # 价差比例
self.inventory = 0 # 当前库存
self.max_inventory = 10 # 最大库存限制
def get_quote(self, mid_price):
"""根据中间价生成双边报价"""
bid_price = mid_price * (1 - self.spread / 2)
ask_price = mid_price * (1 + self.spread / 2)
# 库存控制:库存过多时,压低买单价格
if self.inventory > self.max_inventory * 0.8:
bid_price *= 0.999 # 降低买入意愿
return bid_price, ask_price
def on_trade(self, side, price, quantity):
"""成交回调:更新库存"""
if side == 'buy':
self.inventory += quantity
else:
self.inventory -= quantity
# 检查库存是否超限
if abs(self.inventory) > self.max_inventory:
self.hedge() # 触发对冲
这段代码虽然简单,但包含了做市商的核心逻辑:报价生成 + 库存控制。我在实际项目中,还会加入波动率调整、订单簿深度分析、多交易所价差套利等模块。
个人建议:刚开始做做市商策略时,别追求复杂。先跑通一个最简单的价差模型,把风控做好。等稳定盈利了,再逐步加入优化模块。我见过太多人一上来就想搞「高频+机器学习」,结果连基础的风控都没做好,亏得一塌糊涂。
本章小结
做市商的核心,就是通过双边报价赚取价差。它和普通交易者的最大区别在于:不赌方向,只赚流动性。
嗯,这一章的内容就到这里。记住三个关键词:流动性、价差、库存控制。后面我们会深入讲解每个环节的具体实现。
最后提醒:做市商不是印钞机。它需要扎实的技术功底、严格的风控纪律,以及持续优化的耐心。如果你只是想「快速赚钱」,那做市商可能不适合你。
公众号:蓝海资料掘金营,微信deep3321