第四章 高频交易策略:做市商策略的微观基础、闪电订单与延迟套利、订单流预测与动量捕捉
做高频交易的人,其实都在跟一个东西较劲——时间。你比别人快1毫秒,你就能赚钱。慢1毫秒,你就成了别人的流动性。这一章,我打算把高频交易里最核心的三个模块拆开来讲:做市商策略到底怎么运作的、闪电订单和延迟套利是怎么回事、以及订单流预测到底靠不靠谱。
4.1 做市商策略的微观基础
做市商,说白了就是「两边报价,赚差价」。但真实市场里,没这么简单。
我刚开始做市商策略的时候,以为只要挂买单和卖单,等着成交就行了。结果呢?第一天就被高频的逆向选择打爆了。你挂的买单,永远是被聪明钱吃掉的;你挂的卖单,永远是被恐慌盘砸中的。嗯,这里要注意——做市商的核心不是报价,而是管理库存风险。
4.1.1 报价宽度与库存平衡
做市商策略的微观基础,其实就两个变量:报价宽度(spread)和库存偏移(inventory skew)。
- 报价宽度:你愿意承担的风险溢价。宽度越窄,成交概率越大,但每笔赚得越少。
- 库存偏移:当你手里持有很多多头仓位时,你会把卖单价格压低一点,把买单价格也压低一点——说白了就是不想再买入了,想出货。
我习惯用一个简单的公式来动态调整报价:
# 动态报价调整示例(Python伪代码)
def quote_price(mid_price, inventory, target_inventory, spread_base):
# inventory > 0 表示持有多头
skew = (inventory - target_inventory) * 0.01
bid = mid_price - spread_base/2 + skew
ask = mid_price + spread_base/2 + skew
return bid, ask
你看,当库存为正时,skew为正,意味着买卖价格都往上移——你更愿意卖出,不愿意买入。这个逻辑,我在实盘里跑了两年,效果还不错。
4.1.2 订单簿的「薄」与「厚」
做市商最怕什么?怕订单簿太薄。你挂100手买单,结果一个大单砸下来,直接把你的单子吃掉,价格瞬间跌了2个tick。你还没反应过来,库存就亏了。
我建议你在做市商策略里加入一个流动性感知模块:
- 当订单簿前5档的总深度低于某个阈值时,主动收窄报价宽度,减少暴露。
- 当深度充足时,可以适当放宽宽度,赚取更多价差。
核心原则:做市商不是赌方向,而是赚流动性溢价。你永远不要和市场对赌,你只是给市场提供「方便」。
4.2 闪电订单与延迟套利
闪电订单(Flash Order)这个东西,在国内市场可能不太常见,但在美股和某些衍生品市场里,它是高频套利者的「秘密武器」。
什么是闪电订单?就是交易所允许某些参与者,在正式广播订单之前,先「瞥一眼」即将到来的订单流。这几十微秒的时间差,足够做很多事情了。
4.2.1 延迟套利的本质
延迟套利,说白了就是利用信息传播的速度差。举个例子:
- 你在A交易所看到一个大买单出现。
- 这个信息传到B交易所需要2毫秒。
- 你在A交易所看到后,立刻在B交易所下单,抢在价格更新前成交。
听起来很简单对吧?但实际做起来,坑很多。
我曾经踩过的坑:有一次,我写了一个延迟套利策略,在模拟环境里跑得飞起。结果一上实盘,发现网络延迟根本不是固定的。有时候A到B的延迟是1.2ms,有时候是3.8ms。你按固定延迟去套利,大概率被反向收割。后来我加了一个动态延迟估计器,才稳住。
4.2.2 闪电订单的微观结构
闪电订单的流程大致是这样的:
1. 大机构提交一个市价买单(1000手)
2. 交易所先不广播,而是「闪现」给特定做市商
3. 做市商在几十微秒内决定是否接单
4. 如果做市商不接,订单才进入公开订单簿
你想想看,这几十微秒里,做市商能看到什么?能看到订单的方向、大小、甚至能推测出是谁下的单。这就是信息优势。
我个人习惯在闪电订单策略里,配合订单类型识别:
- 如果是冰山订单(大单拆成小单),我会选择接一部分,然后立刻在另一个交易所对冲。
- 如果是真正的市价单,我会评估自己的库存,再决定是否接。
4.3 订单流预测与动量捕捉
订单流预测,听起来很高大上,其实核心就一句话:通过过去的订单数据,预测未来几秒的订单方向。
我见过很多人把订单流预测搞得很复杂,什么LSTM、Transformer全上。但说实话,在高频领域,简单的模型往往更有效。为什么?因为市场微观结构的变化速度太快,复杂模型还没收敛,市场风格已经变了。
4.3.1 订单流的不平衡指标
我最常用的一个指标叫订单流不平衡(Order Flow Imbalance, OFI)。计算方式很简单:
OFI = (主动买单量 - 主动卖单量) / (主动买单量 + 主动卖单量)
当OFI > 0.6时,说明买方力量极强,短期动量向上。当OFI < -0.6时,同理。
但这里有个坑——OFI在低流动性时段会失真。比如夜盘,总共就几笔交易,OFI可能瞬间冲到0.9,但实际没什么意义。
我的经验:在使用OFI之前,先过滤掉成交量低于某个阈值的时段。我一般设置成过去5分钟平均成交量的20%。低于这个值,直接跳过,不交易。
4.3.2 动量捕捉的微观触发
动量捕捉策略,说白了就是「追涨杀跌」。但高频领域的追涨杀跌,和散户不一样。我们追的是微秒级别的动量。
我常用的触发条件:
- 连续3笔主动买单,且每笔成交量都大于平均单笔成交量
- 卖一价被吃掉后,新的卖一价没有立即恢复
- 订单簿的深度在买侧快速增加(说明有聪明钱在吸筹)
这三个条件同时满足时,我会在10微秒内发出买入指令。止损设在最近一个tick的低点下方。
你可能会问:这么短的持仓时间,手续费不会吃掉利润吗?嗯,这个问题问得好。高频交易的手续费通常是按「maker-taker」模式计算的。你做市商提供流动性(maker)时,交易所会给你返佣。所以很多时候,你的利润不是来自价差,而是来自返佣。
4.3.3 订单流预测的局限性
说实话,订单流预测不是万能的。我见过太多人把订单流预测当成「水晶球」,结果亏得很惨。
为什么?因为订单流数据本身是滞后指标。你看到的每一笔成交,都是已经发生的事。你能预测的,只是「基于当前状态,未来最可能发生的事」。但市场里总有黑天鹅——比如某个机构突然撤单、某个新闻突发。
我的建议:订单流预测只适合作为辅助信号,不要单独依赖它。把它和价格动量、波动率、时间因子结合起来,效果会好很多。
知识体系总览
下面这张图,是我自己整理的高频交易策略核心逻辑。你可以把它当作本章的「地图」:
这张图里,三个模块不是孤立的。做市商策略需要订单流预测来调整报价,闪电订单策略需要做市商的流动性来执行对冲。说白了,高频交易是一个系统工程,任何一个环节出问题,整个策略都可能崩掉。
好了,这一章的内容就到这里。记住,高频交易不是比谁跑得快,而是比谁更懂市场的「脾气」。你越了解微观结构,就越能在别人看不到的地方找到机会。
公众号:蓝海资料掘金营,微信deep3321