第三章 做市策略设计:对称做市策略、非对称做市策略、库存管理基础
做市策略,说白了就是怎么在买卖两边同时挂单,赚那个差价。很多人以为做市就是无脑挂单,其实不然。我做了这么多年高频做市,踩过的坑比走过的路还多。今天咱们就聊聊三种最核心的东西:对称做市、非对称做市,还有库存管理。
3.1 对称做市策略
对称做市,是最基础也是最容易理解的策略。它的核心思想很简单:在买一价和卖一价两边,各挂一个对称的订单。比如当前中间价是100元,我就在99.5元挂买单,在100.5元挂卖单。两边价差固定,订单数量也差不多。
我个人习惯把这种策略叫做“躺平策略”。为什么?因为市场波动不大的时候,它确实能稳定赚钱。你想想看,每次成交一单,你就赚了1元的价差。如果市场来回震荡,你两边都能吃到。
核心公式:
对称做市价差 = 2 × 基础偏移量
基础偏移量 = 预期收益 / (成交概率 × 每笔收益)
我在项目中遇到过一个问题:对称策略在趋势行情里特别容易亏钱。比如价格一直往上走,你的卖单被吃掉,但买单却一直挂在那里,结果就是库存越来越少,最后变成空仓。嗯,这里要注意,对称策略只适合震荡市。
3.2 非对称做市策略
非对称做市,说白了就是“偏袒”某一方。比如我觉得价格要涨,我就把卖单挂得高一点,买单挂得低一点,或者调整两边的数量。这样即使市场波动,我也能控制风险。
我曾经在一次做市比赛中用过非对称策略。当时市场波动剧烈,对称策略的选手亏得一塌糊涂,而我通过调整偏移量,硬是稳住了收益。怎么调整的呢?看下面这个例子:
# 非对称做市偏移量计算
def asymmetric_spread(mid_price, inventory, target_inventory, risk_aversion):
"""
mid_price: 当前中间价
inventory: 当前库存
target_inventory: 目标库存
risk_aversion: 风险厌恶系数
"""
# 库存偏移量
inventory_skew = (inventory - target_inventory) * risk_aversion
# 非对称报价
bid_price = mid_price - base_spread + inventory_skew
ask_price = mid_price + base_spread + inventory_skew
return bid_price, ask_price
你看,这里的关键是 inventory_skew。如果库存太多,我就把卖价降低一点,吸引买家;如果库存太少,我就把买价提高一点,吸引卖家。说白了就是通过价格来调节库存。
个人经验:非对称策略的调整幅度不要太大。我一般控制在0.1%以内,否则容易变成“追涨杀跌”,反而亏钱。
3.3 库存管理基础
库存管理,是做市策略的命门。你想想看,如果库存管理不好,再好的策略也是白搭。我见过太多人,策略赚了100万,结果库存管理失误,一次亏了200万。
库存管理的核心目标就一个:把库存控制在安全范围内。怎么控制?主要有三种方法:
| 方法 | 描述 | 适用场景 |
|---|---|---|
| 价格调整法 | 通过调整报价偏移量来吸引对手方 | 市场流动性好时 |
| 订单数量法 | 调整买卖两边的挂单数量 | 市场波动剧烈时 |
| 对冲法 | 在期货或期权市场做反向交易 | 库存风险过大时 |
我个人最常用的是价格调整法。为什么呢?因为它简单直接。比如我现在库存太多,我就把卖价降低0.2%,同时把买价提高0.1%。这样既能卖出库存,又不会让新库存进来。
避坑指南:我曾经在一次做市项目中,因为库存管理不当,导致单边持仓过大。结果市场突然反转,一天亏了30万。从那以后,我给自己定了个规矩:任何单边库存不能超过总资金的5%。
3.4 三种策略的对比
说了这么多,咱们来总结一下。对称策略、非对称策略、库存管理,这三者其实是相辅相成的。对称策略是基础,非对称策略是进阶,库存管理是保障。
我画了一张图,帮你理清它们的关系:
你看这张图,从左到右,策略越来越复杂,但风险控制也越来越重要。对称策略是入门,非对称策略是进阶,库存管理则是贯穿始终的保障。
我的建议:刚开始做市的时候,先用对称策略跑一段时间,把基础打牢。等熟悉了市场节奏,再慢慢引入非对称调整。至于库存管理,从一开始就要建立严格的规则,别等到亏钱了才想起来。
好了,这一章的内容就到这里。记住,做市不是赌博,是概率游戏。对称策略、非对称策略、库存管理,这三样东西缺一不可。下次咱们聊聊更高级的东西——如何用机器学习优化做市参数。
公众号:蓝海资料掘金营,微信deep3321