做市商风控体系:最大持仓限制、止损与熔断机制、波动率自适应调整、多交易所对冲策略
做市商这行,说白了就是在刀尖上跳舞。你赚的是流动性溢价,但一个不小心,黑天鹅就能把你账户清零。我见过太多团队,策略回测漂亮得不行,一上实盘就爆仓——为什么?风控没跟上。
今天咱们就聊聊做市商的风控体系。这不是什么花哨的东西,而是保命的底线。我个人习惯把风控分成四个维度:持仓限制、止损熔断、波动率自适应、多交易所对冲。一个一个来。
一、最大持仓限制:别把鸡蛋放在一个篮子里
最大持仓限制,听起来简单吧?就是规定每个币种最多能持有多少。但实际执行起来,坑特别多。
我记得有一次,团队在ETH上开了个大仓位,想着流动性好没事。结果某交易所突然宕机,ETH价格瞬间暴跌3%。我们想平仓,但交易所API连不上。那几分钟,账户浮亏直接吃掉了一个月的利润。
所以,我建议的持仓限制要分三层:
- 单币种绝对上限:比如ETH最多持有500个,或者总价值不超过100万U。这是硬性红线,谁都不能超。
- 单交易所上限:同一个币种,在不同交易所的持仓总和不能超过某个值。防止交易所单点故障。
- 动态调整:根据市场波动率,自动降低持仓上限。波动大的时候,仓位要缩。
代码实现上,我一般会在风控模块里写个定时器,每秒检查一次当前持仓。一旦超限,立刻触发减仓指令。
// 伪代码示例:持仓检查逻辑
function checkPositionLimit(symbol, currentQty, maxQty) {
if (currentQty > maxQty) {
// 触发减仓
reducePosition(symbol, currentQty - maxQty);
logWarning("持仓超限,已自动减仓");
}
}
二、止损与熔断机制:该认输时就认输
止损,每个做市商都会设。但怎么设、设多少,差别很大。
我曾经见过一个团队,止损设得太紧,结果被市场来回扫,手续费亏了一大堆。止损设得太松呢?又起不到保护作用。这里有个经验值:止损幅度 = 日均波动率的2倍。比如ETH日均波动2%,那止损设在4%左右比较合理。
熔断机制呢?说白了就是「暂停交易」。当市场出现极端行情时,比如5分钟内价格波动超过10%,系统自动停止所有做市策略,只保留撤单功能。
为什么要熔断?因为极端行情下,做市商的报价模型会失效。你报的买价,可能瞬间变成卖价。我有个朋友,在312暴跌那天没设熔断,结果系统还在不断吃单,几分钟亏了200万U。
三、波动率自适应调整:让策略跟着市场走
做市商的核心是报价。但报价的价差(spread)不能一成不变。市场波动小的时候,价差可以收窄,赚点薄利。波动大的时候,价差必须拉宽,不然你就是在给市场送钱。
我常用的方法是:根据最近N分钟的波动率,动态调整报价价差。
具体来说:
- 计算过去5分钟的收益率标准差,作为当前波动率
- 设定一个基准波动率,比如0.5%
- 如果当前波动率是基准的2倍,价差就扩大2倍
- 如果当前波动率是基准的0.5倍,价差就缩小一半
嗯,这里要注意:波动率计算窗口不能太短,否则会被噪音干扰。我一般用5分钟窗口,配合指数加权移动平均(EWMA),让波动率变化更平滑。
// 波动率自适应价差计算
function calculateSpread(price, volatility, baseVolatility, baseSpread) {
let ratio = volatility / baseVolatility;
// 限制ratio范围,防止价差过大或过小
ratio = Math.max(0.5, Math.min(5, ratio));
return baseSpread * ratio;
}
四、多交易所对冲策略:别把命拴在一棵树上
做市商通常会在多个交易所同时挂单。但不同交易所之间,价格会有差异。这个差异,就是套利空间,也是风险来源。
我建议的做法是:在A交易所做市,同时在B交易所对冲。比如你在币安做ETH的市,那就在OKX或者Bybit上开一个反向仓位。这样,无论ETH涨跌,你的净敞口都接近零。
但这里有个坑:对冲延迟。你在币安吃了一个大单,需要立刻在另一个交易所开对冲。如果延迟超过1秒,价格可能已经变了,对冲就变成了投机。
我曾经踩过这个坑。有一次,币安上突然出现一个大买单,我的系统花了2秒才在OKX上开好对冲。结果这2秒里,ETH涨了0.5%,对冲成本直接增加了不少。
解决方案呢?我后来改成了预对冲:在挂单的同时,就预先在另一个交易所挂好对冲单。虽然会占用一些保证金,但安全性高了很多。
下面这张图,是我个人常用的多交易所对冲流程:
五、总结一下
做市商的风控,不是一套代码就能搞定的。它需要你理解市场、理解交易所、理解自己的策略极限。
我个人习惯,每天开盘前先检查一遍风控参数:持仓限制有没有被改过?止损阈值是不是合理?波动率自适应有没有开启?多交易所对冲的延迟是否正常?
这些检查,花不了5分钟。但关键时刻,能救你一命。
公众号:蓝海资料掘金营,微信deep3321