第四章:冰山订单原理
冰山订单的定义
冰山订单,这个名字挺形象的。就像冰山一样,水面上的只是一小部分,水面下藏着巨大的体积。
在交易领域,冰山订单是一种特殊的限价订单。它允许你指定一个总数量,但只向市场暴露其中一部分。暴露的部分叫「显示数量」,隐藏的部分叫「隐藏数量」。
我刚开始接触这个工具时,觉得它就是个「遮遮掩掩」的订单类型。后来在实盘中吃过亏才明白——这不是遮遮掩掩,这是生存智慧。
核心定义:冰山订单 = 显示数量 + 隐藏数量。市场只能看到显示数量,当显示数量成交后,系统自动从隐藏部分补充新的显示数量,直到全部成交或撤销。
隐藏数量与显示数量
这两个参数是冰山订单的灵魂。我习惯把它们比作「诱饵」和「弹药」。
显示数量——你愿意让市场看到的量。它像钓鱼时的浮漂,告诉别人「这里有鱼」,但鱼有多大,没人知道。
隐藏数量——你真正想成交的量。它藏在水面下,市场看不到。
举个例子:
总数量:100,000 股
显示数量:10,000 股
隐藏数量:90,000 股
系统会先挂出10,000股。成交后,再补10,000股。如此反复,直到100,000股全部成交。
嗯,这里要注意一个细节:每次补充的量,等于你设定的显示数量。不是随机补,也不是一次补完。
| 参数 | 含义 | 我常用的设置 |
|---|---|---|
| 显示数量 | 向市场暴露的量 | 总订单量的5%-15% |
| 隐藏数量 | 实际想成交的量 | 总订单量的85%-95% |
| 补充规则 | 成交后自动补充 | 每次补充=显示数量 |
我的经验:显示数量设得太小,比如1%,会导致频繁撤单和重新挂单,增加交易成本。我一般设在10%左右,既能隐藏意图,又不会太折腾系统。
冰山订单的应用场景
说白了,冰山订单就解决一个问题:大单不想被市场发现。
你想想看,如果你要买100万股,直接挂个买单,盘口瞬间就暴露了。做市商和算法交易机器人会立刻抬价,你的成本直接飙升。
冰山订单怎么破这个局?
- 场景一:大额建仓
我做过一个案例,需要买入50万股的某只股票。如果用普通限价单,盘口会被吃掉好几档。用冰山订单,每次只露5000股,市场以为只是散户在买,价格波动小了很多。
- 场景二:做市商护盘
做市商需要在买卖两侧都挂单。如果挂得太厚,会被其他算法盯上。冰山订单可以让你在买一侧挂大单,但只显示一小部分,避免被「狙击」。
- 场景三:减少市场冲击
我曾经在流动性差的品种上吃过亏。一次挂了2万手,结果价格直接跳了3个档位。后来改用冰山订单,每次只露2000手,价格稳定多了。
避坑指南:我曾经在盘口深度很薄的市场用冰山订单,显示数量设得太小,结果每次补充时都被高频交易者「抢跑」。后来我调整了策略——在流动性好的市场,显示数量可以设小一点;流动性差的市场,显示数量要适当放大。
冰山订单的核心逻辑
我画了一张图,帮你理解冰山订单的运作流程:
这张图展示了冰山订单的核心逻辑:总订单池分配显示部分到市场盘口,成交后从隐藏部分补充,直到全部完成。
我个人习惯在实盘前先用模拟盘跑一遍冰山订单的参数。不同市场、不同品种,最优的显示比例都不一样。别偷懒,多测试几次。
小技巧:如果你用的是Python做算法交易,可以这样实现冰山订单的补充逻辑:
def iceberg_order(total_qty, display_qty, price):
remaining = total_qty
while remaining > 0:
current_qty = min(display_qty, remaining)
place_order(price, current_qty)
remaining -= current_qty
wait_for_fill() # 等待成交
# 全部成交
嗯,冰山订单的原理其实不复杂。但真正用好它,需要你对市场微观结构有感觉。什么时候该露,什么时候该藏,这功夫在诗外。