市场微观结构:订单簿、买卖价差、市场深度、滑点、交易成本对套利的影响
做套利策略这么多年,我越来越觉得一个道理:策略逻辑再漂亮,过不了微观结构这一关,实盘就是送钱。说白了,你看到的价差和你能吃到的价差,中间隔着一道天堑。今天咱们就来聊聊这道天堑到底长什么样。
订单簿:市场的实时快照
订单簿是什么?就是交易所里所有挂单的集合。买一、买二、卖一、卖二……每一档都对应着价格和数量。
我个人习惯把订单簿想象成一个多层战场。买方在下面筑墙,卖方在上面压顶。你作为套利者,就是要在这些墙和顶之间找到缝隙钻过去。
关键点:订单簿不是静态的。它每毫秒都在变化。我见过太多人回测时用1秒快照,结果实盘发现订单簿早就变了好几轮了。
举个例子,假设你在回测中看到A交易所买一价100.00,B交易所卖一价100.05,价差5个tick。你兴冲冲地准备套利。但实盘时,当你下单的那一刻,买一可能已经被别人抢走了,你只能吃到买二甚至买三的价格。这就是订单簿的动态性带来的问题。
买卖价差:你绕不开的成本
买卖价差,就是买一和卖一之间的差距。这个差距,说白了就是市场的摩擦力。
我记得有一次做跨交易所套利,策略回测年化收益30%,我兴奋得不行。结果实盘跑了三天,亏了手续费。为什么?因为回测时我用的都是中间价,忽略了买卖价差。你想想看,每次交易你都要吃一个价差,一买一卖就是两个价差。高频交易下,这成本能吃掉你所有利润。
我的经验:回测时一定要用实际成交价,而不是中间价。如果数据不允许,至少也要把买卖价差的一半作为保守估计的成本加进去。
买卖价差的大小,反映了市场的流动性。流动性好的品种,价差可能只有1个tick;流动性差的,价差可能大到离谱。做套利时,我建议优先选择价差稳定的品种。价差忽大忽小的,你很难控制风险。
市场深度:你能吃下多少量
市场深度,就是订单簿上每一档的挂单量。它告诉你:在这个价格上,你能成交多少。
我曾经踩过一个坑。回测时看到价差机会,模拟成交了1000手,利润可观。实盘时我下了1000手,结果只成交了200手在目标价格上,剩下的800手全部滑到了更差的价格。为什么?因为市场深度不够,我的订单把价格打穿了。
避坑指南:回测时一定要考虑订单簿的深度限制。你的订单量不能超过目标价格档位的挂单量。否则,你实际成交的价格会远差于预期。
我一般会在回测中做一个深度模拟:假设我要买入N手,从卖一档开始吃,卖一不够就吃卖二,以此类推。这样算出来的成交价格才接近真实情况。
滑点:理想与现实的差距
滑点,就是你下单时的预期价格和实际成交价格之间的差值。它是套利策略的头号杀手。
为什么会发生滑点?原因很多:
- 订单簿变化:你下单的瞬间,价格已经变了
- 市场冲击:你的订单本身影响了价格
- 网络延迟:你的订单到达交易所时,市场已经不同了
我记得有一次做期货套利,策略逻辑完美,回测曲线漂亮得像教科书。实盘第一天,滑点直接干掉了50%的利润。我当时就懵了。后来仔细分析,发现是因为我的策略在回测中假设了零滑点,而实盘中每次交易都有1-2个tick的滑点。
核心观点:滑点不是可以忽略的噪声,而是套利策略的核心风险之一。我建议在回测中至少加入0.5个tick的保守滑点,流动性差的品种甚至要加到1-2个tick。
交易成本:利润的隐形收割机
交易成本包括手续费、印花税、过户费等。这些成本看似不起眼,但累积起来非常可观。
我给大家算一笔账:假设你每次交易的手续费是万分之一,每天交易100次,一年250个交易日。那么一年的手续费就是:0.01% × 100 × 250 = 250%。也就是说,你的本金一年要交2.5倍的手续费。如果你的策略年化收益只有50%,那实际上你是在亏钱。
| 交易频率 | 单次手续费 | 年交易次数 | 年手续费占比 |
|---|---|---|---|
| 低频(每天10次) | 万分之一 | 2500 | 25% |
| 中频(每天100次) | 万分之一 | 25000 | 250% |
| 高频(每天1000次) | 万分之一 | 250000 | 2500% |
看到这个表格,你应该明白为什么高频套利对交易成本如此敏感了。我见过一些团队,为了降低1个tick的成本,专门去交易所机房托管服务器,甚至自己开发FPGA硬件加速。
我的建议:回测时一定要把所有交易成本都算进去。不要只算手续费,还要考虑滑点、冲击成本、甚至资金占用成本。这些成本加起来,往往比你想象的要大得多。
综合影响:一个完整的例子
咱们来模拟一个完整的套利场景。假设你在两个交易所之间做价差套利:
- 交易所A:买一价100.00,深度100手
- 交易所B:卖一价100.05,深度80手
- 价差:5个tick
- 你的目标:买入A,卖出B,赚取5个tick的价差
看起来很美,对吧?但实际执行时:
- 滑点:你下单时,A的买一可能已经被别人抢了,你只能吃到买二价99.98,损失2个tick
- 深度不足:你想做100手,但B的卖一只有80手,剩下的20手只能吃卖二价100.07,又多损失2个tick
- 手续费:双边手续费合计2个tick
- 最终结果:预期收益5个tick,实际收益5 - 2 - 2 - 2 = -1个tick。你亏了。
这就是为什么我说,微观结构是套利策略的照妖镜。回测中再漂亮的策略,拿到实盘一照,原形毕露。
最后提醒:做套利策略,永远不要相信回测中的理想情况。把滑点、深度、成本都往大了估,留足安全边际。宁可错过,不要做错。这是我用真金白银换来的教训。