3、订单类型与滑点:市价单、限价单、冰山订单、TWAP订单、VWAP订单
做套利交易,订单类型就是你的武器库。选错了武器,再好的策略也得吃瘪。
我见过太多人,策略回测跑得漂亮,一上实盘就亏钱。为什么?滑点吃掉了所有利润。说白了,就是订单类型没选对。
今天咱们把这五种订单类型掰开揉碎了讲。你想想看,每种订单在滑点控制上扮演什么角色?
3.1 市价单:快,但贵
市价单,就是「我不管价格,马上成交」。流动性好的市场,滑点可控。流动性差?那你就等着被吃吧。
我记得有一次做跨交易所套利,用了市价单。盘口只有几百手的深度,我一下去,直接打穿了三个价位。那一单亏了我半个月的利润。
什么时候用?
- 套利窗口极短,比如几毫秒内必须成交
- 交易的是主流币种或大盘股,盘口深度足够
- 你不在乎那点滑点,只在乎能不能成交
3.2 限价单:控制滑点,但可能不成交
限价单,就是「我只愿意在这个价格买/卖」。它能帮你精确控制滑点,但代价是可能成交不了。
做套利时,我习惯用限价单来「挂单等成交」。尤其是做统计套利,价差回归需要时间,限价单正好派上用场。
# 伪代码示例:限价单挂单
def place_limit_order(symbol, side, price, quantity):
order = {
'type': 'limit',
'side': side, # 'buy' or 'sell'
'price': price, # 你的目标价格
'quantity': quantity
}
return exchange.send_order(order)
这里有个坑:限价单可能只成交一部分。你挂100手,结果只成交了30手。剩下的70手怎么办?
3.3 冰山订单:隐藏你的真实意图
冰山订单,说白了就是「我只露出一点点,剩下的藏在水下」。你挂一个大单,市场一看就知道你要干嘛。冰山订单能帮你隐藏真实意图。
为什么做套利要用冰山订单?
- 防止被市场「狙击」——别人看到你的大单,会故意推高价格
- 减少对盘口的冲击——大单拆成小单,滑点自然小
- 适合大资金套利——你总不能拿市价单砸盘吧?
我记得有个项目,需要同时买入和卖出两个品种。单边量很大,我用了冰山订单,每次只露出总量的10%。结果呢?市场根本没察觉,滑点控制得非常好。
3.4 TWAP订单:时间加权平均价格
TWAP,全称 Time-Weighted Average Price。说白了,就是把一个大单拆成很多小单,在固定时间内均匀执行。
做套利时,TWAP适合什么场景?
- 你需要在半小时内完成建仓或平仓
- 不想因为大单冲击市场
- 对成交时间有要求,但对价格没那么敏感
# TWAP 简单实现思路
def twap_execute(total_quantity, duration_minutes, slices=10):
slice_qty = total_quantity / slices
interval = duration_minutes * 60 / slices
for i in range(slices):
place_market_order(slice_qty)
sleep(interval) # 等固定时间间隔
嗯,这里要注意。TWAP有个天然缺陷:它不考虑市场波动。如果市场突然剧烈波动,TWAP还在傻傻地按时间下单,那你就惨了。
3.5 VWAP订单:成交量加权平均价格
VWAP,Volume-Weighted Average Price。它比TWAP聪明一点——不是按时间均匀下单,而是按市场成交量来分配。
你想想看,市场成交量大的时候,你的单子更容易被消化,滑点也小。VWAP就是利用这个原理。
| 对比项 | TWAP | VWAP |
|---|---|---|
| 下单依据 | 时间均匀 | 成交量分布 |
| 滑点控制 | 一般 | 较好 |
| 适合场景 | 流动性稳定 | 流动性波动大 |
| 实现复杂度 | 低 | 中 |
做套利时,我更喜欢VWAP。尤其是做期现套利,需要同时操作期货和现货。VWAP能帮我更好地匹配两边的成交量,减少滑点。
3.6 实战选择:套利交易该用哪种?
说了这么多,到底怎么选?我总结了一个简单的决策树:
- 套利窗口极短(毫秒级) → 市价单。别犹豫,犹豫就没了。
- 套利窗口中等(秒级到分钟级) → 限价单 + 冰山订单。控制滑点,同时隐藏意图。
- 套利窗口较长(分钟级以上) → TWAP 或 VWAP。慢慢来,别着急。
- 大资金套利 → 优先考虑冰山订单和VWAP。别让市场知道你在干什么。
我记得有一次做跨期套利,价差在几分钟内从5块缩小到2块。我用了限价单+冰山订单,每次只挂总量的20%。结果呢?价差继续缩小,我的单子全部成交,滑点几乎为零。
反过来,如果当时我用市价单,估计滑点就要吃掉一半利润。
下一章,咱们聊聊「滑点预测模型」。嗯,那个更有意思。