4. 价差策略基础:固定价差策略、动态价差策略、价差与波动率的关系
做市商的核心利润来源是什么?说白了,就是「吃价差」。你挂买单,再挂卖单,中间那点差价就是你的利润。但怎么挂?挂多宽?什么时候调?这就是价差策略要解决的问题。
我个人习惯把价差策略分成两大类:固定价差和动态价差。前者简单粗暴,后者灵活多变。今天我们就从最基础的开始,一步步拆解。
4.1 固定价差策略:最朴素的做市方式
固定价差策略,顾名思义——你的买卖价差是固定的。比如比特币当前价格 30000 USDT,你设定价差 10 个点,那么买单挂 29995,卖单挂 30005。不管市场怎么波动,价差始终是 10。
听起来很简单对吧?但我在项目中遇到过一个问题:固定价差到底设多少才合适?
设太窄,利润薄如纸,一次交易赚不到几个钱。设太宽,订单成交不了,挂在那干瞪眼。这里有个经验值可以参考:
| 市场类型 | 建议固定价差(相对于中间价) | 典型场景 |
|---|---|---|
| 高流动性市场(BTC/USDT) | 0.01% - 0.05% | 币安、OKX 主流币 |
| 中等流动性市场 | 0.05% - 0.2% | 二线交易所、小币种 |
| 低流动性市场 | 0.2% - 1% | 新上线币种、冷门交易对 |
嗯,这里要注意:固定价差策略最大的坑在于——市场剧烈波动时,你会被两头吃。价格突然拉升,你的卖单被吃掉,但买单没跟上,你就变成了单向持仓。我曾经因为这个吃过亏,所以后来我加了一个保护机制:当价格波动超过某个阈值时,自动撤单。
4.2 动态价差策略:让策略学会「呼吸」
固定价差的问题在于——它不会变。市场安静的时候,你希望价差窄一点多成交;市场疯狂的时候,你希望价差宽一点保护自己。动态价差策略就是干这个的。
动态价差的核心逻辑很简单:价差 = 基础价差 × 某个调整因子。这个调整因子通常跟市场状态挂钩。我常用的几种调整方式:
- 基于订单簿深度调整:买单深度大,说明买方力量强,可以适当收窄价差。反之亦然。
- 基于历史成交频率调整:过去 N 笔订单成交速度快,说明市场活跃,可以收窄价差抢单。
- 基于波动率调整:这个我们下一节重点讲。
举个例子,我做过一个简单的动态价差策略:
def dynamic_spread(base_spread, order_book, volatility):
"""
动态价差计算
base_spread: 基础价差(百分比)
order_book: 订单簿数据
volatility: 当前波动率
"""
# 订单簿不平衡度
bid_volume = sum([level['size'] for level in order_book['bids'][:5]])
ask_volume = sum([level['size'] for level in order_book['asks'][:5]])
imbalance = (bid_volume - ask_volume) / (bid_volume + ask_volume)
# 波动率调整因子
vol_factor = 1 + volatility * 10 # 波动率越高,价差越宽
# 最终价差
spread = base_spread * vol_factor * (1 - 0.3 * imbalance)
return spread
你看,这里我用了两个因子:波动率和订单簿不平衡度。波动率高了,价差自动变宽;买单深度大,价差自动收窄。这样策略就有了「自适应」的能力。
4.3 价差与波动率的关系:核心公式
为什么波动率会影响价差?你想想看,波动率越高,意味着价格在短时间内可能大幅跳动。如果你挂了一个窄价差,价格一跳,你的订单可能瞬间变成「地板价」或「天花板价」,被套利者吃掉。
所以,价差和波动率之间有一个正相关关系。我习惯用这个公式来量化:
最优价差 = 基础价差 + k × σ
其中 σ 是波动率(通常用标准差衡量),k 是一个风险偏好系数。k 越大,你对风险的容忍度越低,价差就越宽。
这里我画了一张图,帮你理解价差、波动率和成交概率之间的关系:
从图上你能看到:固定价差是一条水平线,不管波动率怎么变,价差不变。这在低波动区没问题,但到了高波动区,风险急剧上升。动态价差则是一条上升曲线,波动率越高,价差越宽,自动帮你控制风险。
4.4 实战中的选择:固定还是动态?
到底用固定价差还是动态价差?我的建议是:
- 如果你刚开始做市,或者资金量不大:先用固定价差。简单、可控、不容易出幺蛾子。把基础逻辑跑通再说。
- 如果你已经有一定经验,或者市场波动剧烈:上动态价差。它能帮你自动适应市场,减少人工干预。
- 如果你做的是高频做市:动态价差是必须的。固定价差在高频场景下基本没法用,因为市场变化太快了。
我个人习惯是「固定打底,动态微调」。先设定一个基础价差,然后根据市场状态做 ±30% 的调整。这样既保留了固定价差的稳定性,又有了动态价差的灵活性。
好了,这一章的内容就到这里。记住,策略再花哨,最终都要落到实盘上。建议你先用历史数据回测一下,看看不同波动率下你的策略表现如何。嗯,下一章我们会聊到「库存管理」——做市商另一个头疼的问题。