4、做市算法核心参数:报价宽度、报价深度、更新频率、最大持仓限制
做市策略的四个核心参数,说白了就是你的「交易机器人」的四个旋钮。调好了,机器帮你赚钱;调不好,机器帮你亏钱。我做了这么多年做市,见过太多人在这四个参数上翻车。
今天咱们一个一个拆开讲。每个参数我都会告诉你:它是什么、怎么调、坑在哪里。
4.1 报价宽度(Spread Width)
报价宽度,就是你的买一价和卖一价之间的差价。比如你买价是100,卖价是101,那宽度就是1。
宽度决定了你的利润空间和成交概率。
宽度设得窄,成交快,但每笔赚得少。宽度设得宽,每笔赚得多,但可能半天成交不了一单。
我个人习惯的做法是:用市场平均宽度的0.5到0.8倍作为基准。为什么?因为太宽了你根本排不上队,太窄了你就是在给交易所打工。
核心公式:
报价宽度 = 市场平均宽度 × 宽度系数
宽度系数 = 0.5 ~ 0.8(激进)
宽度系数 = 0.8 ~ 1.2(保守)
我在项目中遇到过一种情况:某个冷门币种,市场宽度经常突然拉大到10倍。如果你用固定宽度,瞬间就会被吃掉。所以我建议宽度一定要动态调整,跟着波动率走。
小技巧:波动率上升时,宽度自动放大;波动率下降时,宽度自动收窄。用过去N笔成交的价差标准差来算,效果不错。
4.2 报价深度(Quote Depth)
报价深度,就是你在每个价位上挂多少量。比如你在买一挂了100个币,那深度就是100。
深度太小,容易被大单吃掉然后你来不及撤单。深度太大,万一方向错了,亏损也大。
深度的核心逻辑是:你的风险敞口控制。
我一般这样算:
单档深度 = 总资金 × 深度比例 / 档位数
深度比例 = 1% ~ 5%(保守)
深度比例 = 5% ~ 15%(激进)
举个例子,你有100万U的资金,深度比例设3%,分5档挂单。那每档就是:
100万 × 3% / 5 = 6000 U
嗯,这里要注意:深度不是越大越好。你想想看,如果你在买一挂了50%的资金,一个大户砸盘,你直接变成接盘侠。
避坑指南:我曾经在ETH上吃过这个亏。当时觉得流动性好,深度设了10%。结果遇到一次闪崩,瞬间被吃了8%的仓位,亏了十几万U。从那以后,我的深度比例再也没超过5%。
4.3 更新频率(Update Frequency)
更新频率,就是你的报价多久刷新一次。比如每秒更新10次,那就是10Hz。
频率越高,你的报价越能跟上市场变化。但频率太高,会给交易所服务器造成压力,也可能被判定为「滥用API」。
这里有个平衡点。
我个人习惯:
- 高频做市(毫秒级): 50Hz ~ 100Hz,适合主流币种,比如BTC、ETH
- 中频做市(秒级): 1Hz ~ 10Hz,适合二三线币种
- 低频做市(分钟级): 0.01Hz ~ 0.1Hz,适合流动性极差的币种
为什么会有这个区别?说白了,主流币种竞争激烈,你不高频更新,别人就把你的单子挤掉了。冷门币种你更新太快也没用,因为本来就没几个人在交易。
小技巧:更新频率最好和你的网络延迟匹配。如果你的服务器离交易所近(延迟<1ms),可以跑高频。如果用的是云服务器,延迟5ms以上,跑高频就是白费力气。
4.4 最大持仓限制(Max Position Limit)
这个参数最重要,也最容易被忽视。
最大持仓限制,就是你的策略最多能持有多少多头或空头仓位。比如你设了最大多头100个ETH,那策略最多只能买100个ETH,超过就不再买入了。
为什么要有这个限制?
做市策略本质上是在赚「买卖差价」,不是在赌方向。如果没有持仓限制,遇到单边行情,你的策略会一直加仓,最后变成「死多头」或「死空头」。
我见过最惨的案例:有人做市BTC,没设持仓限制。结果BTC从3万涨到6万,他的策略一路追多,最后仓位占了总资金的80%。然后BTC回调到5万,直接爆仓。
我的经验公式:
最大持仓 = 总资金 × 杠杆倍数 × 持仓比例
持仓比例 = 10% ~ 30%(保守)
持仓比例 = 30% ~ 50%(激进)
举个例子,你有100万U,杠杆3倍,持仓比例设20%:
最大持仓 = 100万 × 3 × 20% = 60万U
也就是说,你的多头和空头仓位,各自不能超过60万U的价值。
避坑指南:我曾经在某个山寨币上吃过亏。当时觉得这个币波动小,持仓比例设了40%。结果项目方发了个利空公告,币价直接腰斩。我的仓位从40%变成了80%的亏损。嗯,从那以后,我对任何币种的持仓比例都不超过25%。
4.5 四个参数的联动关系
这四个参数不是孤立的。它们之间互相影响,你得一起调。
我画了一张图,帮你理清关系:
从图上你能看到:
- 报价宽度影响你的成交概率和利润,进而影响持仓积累速度
- 报价深度决定了你的风险敞口大小,直接影响最大持仓
- 更新频率决定了你的报价能否及时反映市场变化,影响持仓的稳定性
- 最大持仓限制是最后的「安全阀」,防止其他三个参数失控
我个人习惯的调参顺序是:先定最大持仓限制,再调报价宽度和深度,最后优化更新频率。为什么?因为持仓限制是你的底线,底线不设好,其他调得再好也没用。
4.6 实战调参建议
说了这么多理论,给点实际的:
| 参数 | 保守设置 | 激进设置 | 适用场景 |
|---|---|---|---|
| 报价宽度 | 市场宽度的0.8~1.2倍 | 市场宽度的0.3~0.5倍 | 保守:波动大时;激进:波动小时 |
| 报价深度 | 总资金的1%~3% | 总资金的5%~10% | 保守:冷门币种;激进:主流币种 |
| 更新频率 | 1Hz~5Hz | 50Hz~100Hz | 保守:延迟高时;激进:延迟低时 |
| 最大持仓限制 | 总资金的10%~20% | 总资金的30%~50% | 保守:新手/风控严;激进:老手/高杠杆 |
最后说一句:这四个参数没有「最优解」,只有「最适合你当前市场状态」的解。我建议你每次只调一个参数,观察至少1000笔成交后再调下一个。别想着一步到位,做市是个慢工出细活的领域。
公众号:蓝海资料掘金营,微信deep3321