第十四章:高频做市策略:做市商角色、库存管理、报价更新、盈亏分析
做市策略,说白了就是「低买高卖」的极致版本。但高频做市跟散户做T+0完全是两码事。我刚开始接触这个领域时,以为就是挂个买单卖单等着吃差价,结果第一天就把库存做爆了——嗯,那教训相当深刻。
做市商的核心角色
做市商不是投机者,而是「流动性提供者」。你的任务不是判断涨跌,而是赚取买卖价差。我个人习惯把做市商比作「赌场老板」——不跟玩家对赌,只抽水。
具体来说,做市商承担三个角色:
- 流动性提供者:在买一和卖一位置持续挂单,让交易者能快速成交
- 价格发现者:通过报价更新反映市场供需变化
- 风险承担者:持有库存,承担价格波动风险
关键认知:做市商的利润来源是「买卖价差 × 成交量」,而不是「方向性收益」。如果你开始预测方向,那就不是做市了,是投机。
库存管理:做市商的命门
库存管理是我踩过最多坑的地方。曾经有一次,我在ETH上做市,因为库存管理不当,持有了大量多头仓位,结果市场突然暴跌,一天亏掉了三周的做市利润。
库存管理的核心目标只有一个:让库存接近零。你想想看,如果库存不为零,你就暴露在价格风险中。做市商最怕的就是「方向性暴露」。
常用的库存管理手段:
- 偏移报价:库存为正(持有多头)时,把买价和卖价都往下调,鼓励卖出,抑制买入
- 对冲交易:在期货或永续合约上开反向仓位,对冲现货库存风险
- 库存上限控制:设定最大库存阈值,超过后强制平仓或停止做市
| 库存状态 | 报价策略 | 风险等级 |
|---|---|---|
| 库存为正(多头) | 降低买价,降低卖价 | 中 |
| 库存为负(空头) | 提高买价,提高卖价 | 中 |
| 库存接近零 | 对称报价,赚取价差 | 低 |
| 库存超限 | 立即平仓或停止做市 | 高 |
我的经验:库存管理不要等到超限了再处理。我习惯每秒钟检查一次库存,如果偏离零超过阈值,立即调整报价偏移量。反应速度比什么都重要。
报价更新:与市场赛跑
高频做市的报价更新频率通常在毫秒级别。为什么这么快?因为市场在变,你的报价必须跟上。
报价更新的核心逻辑:
- 价格更新:当市场最新成交价变化时,你的买一卖一价格也要跟着移动
- 深度更新:当对手方挂单量变化时,调整你的挂单数量
- 库存驱动更新:根据当前库存状态,调整报价偏移
下面是一个简化的报价更新逻辑:
def update_quotes(mid_price, inventory, max_inventory):
# 计算库存偏移量
inventory_ratio = inventory / max_inventory
# 偏移系数,库存为正时降低报价
offset = -inventory_ratio * spread_half
bid_price = mid_price - spread_half + offset
ask_price = mid_price + spread_half + offset
return bid_price, ask_price
这段代码看着简单,但实际生产环境要考虑的东西多得多。比如,你还要考虑手续费、滑点、网络延迟。我曾经因为没算手续费,做了半年才发现实际是亏钱的——嗯,那感觉就像白干了一场。
盈亏分析:你到底赚不赚钱?
做市商的盈亏分析比普通交易复杂。你不能只看「赚了多少差价」,还要考虑:
- 价差收益:买卖价差 × 成交笔数
- 库存损益:库存价格波动带来的浮盈浮亏
- 手续费成本:每笔交易都要交手续费,高频交易下这笔钱不小
- 滑点损失:报价被吃掉后,重新报价的成本
避坑指南:我曾经只统计价差收益,忽略了库存损益,结果看起来每天赚钱,实际上库存亏损把利润全吃掉了。记住:做市商的真实盈亏 = 价差收益 + 库存损益 - 手续费 - 滑点损失。
我习惯用「夏普比率」来衡量做市策略的好坏。一个好的做市策略,夏普比率应该在3以上。如果低于1,说明风险调整后收益不理想,需要重新审视策略。
知识体系总览
下面这张图概括了高频做市策略的核心要素:
做市策略看起来简单,但真正跑起来全是细节。我建议新手先从模拟盘开始,把库存管理、报价更新、盈亏分析这三个环节跑通,再上实盘。别像我当年那样,一上来就真金白银往里冲——学费交得有点贵。
最后说一句:高频做市不是「躺赚」的生意。它需要你持续监控、不断优化。市场环境变了,你的策略也得跟着变。保持敬畏心,比什么都重要。