订单类型详解:限价单、市价单、止损单、冰山订单、TWAP/VWAP算法单

做市商的核心工作,说白了就是跟订单打交道。你每天面对的不是K线,而是一堆堆的订单流。我做了这么多年,发现很多新手对订单类型的理解停留在「限价单就是挂单,市价单就是直接干」这种层面。其实这里面的门道深着呢。

今天咱们就把五种核心订单类型掰开揉碎了讲。每种订单我都见过被用错的场景,也踩过不少坑。你想想看,如果连订单的底层逻辑都没吃透,怎么跟那些量化巨头抢流动性?

一、限价单:做市商的命根子

限价单(Limit Order)是啥?就是你指定一个价格,到了这个价才成交。没到就挂着。做市商靠这个吃饭——我们在买一卖一挂单,赚的就是买卖价差。

我个人习惯把限价单分成两类:

  • 被动限价单:挂在盘口上等别人来吃。提供流动性,交易所通常给返佣。
  • 主动限价单:虽然挂了限价,但价格设得很激进,比如买一价挂卖单,这其实是在吃单。

这里有个坑。我曾经在某个波动剧烈的币对上挂限价单,结果市场瞬间跳水,我的买单全成交了,但价格还在往下砸。嗯,这就是所谓的「接飞刀」。所以我现在挂限价单一定会配合止损。

核心要点:限价单的成交概率取决于你出的价格。价格越接近对手盘,成交越快,但滑点风险也越大。做市商要在这两者之间找平衡。

二、市价单:流动性杀手

市价单(Market Order)就是「不管什么价,给我干进去」。你想想看,这玩意儿对做市商来说意味着什么?意味着我们挂的单子被瞬间吃掉。

市价单有几个特点:

  • 成交确定性高:只要盘口有单,必成交
  • 价格不确定性高:滑点可能很大,尤其在流动性差的时候
  • 吃单方:消耗流动性,通常要付手续费

我记得有一次,某个小币种突然拉盘,一个市价买单直接把我挂在卖五的单子全吃了。那笔单子我本来挂在那当钓鱼单的,结果真被钓走了。所以我现在做市,一定会在每个价位只挂有限的数量,防止被一口吞。

注意:市价单在极端行情下可能产生巨额滑点。2010年美股闪崩时,很多市价单成交在了离谱的价格。做市商要时刻警惕对手盘用市价单来「扫货」。

三、止损单:你的安全带

止损单(Stop Order)很多人理解成「亏钱就跑」。其实不止这么简单。止损单触发后变成市价单或限价单,这个细节很关键。

止损单有两种变体:

类型触发后行为适用场景
止损市价单变成市价单,保证成交快速离场,不在乎滑点
止损限价单变成限价单,保证价格控制最大亏损,但可能不成交

我曾经犯过一个低级错误。在某个交易所设了止损限价单,结果行情暴跌,价格直接穿过了我的止损价,单子根本没成交。那笔亏损让我记住了:止损限价单在快速行情下可能失效

所以我现在做市,止损单一律用止损市价单。虽然可能多亏一点滑点,但至少能跑掉。你想想看,如果仓位被套住,那损失可就不是滑点能比的了。

小技巧:止损单的触发价和委托价之间留点缓冲。比如你想在100元止损,触发价设100,委托价设99.8。这样即使有短暂的价格毛刺,也不容易被误触发。

四、冰山订单:藏住你的底牌

冰山订单(Iceberg Order)说白了就是「大单拆小单」。你挂一个1000BTC的卖单,但盘口只显示100BTC。成交完100,再露100出来。像冰山一样,只露一角。

为什么要用冰山订单?

  • 隐藏真实意图:不让市场知道你要大量买入或卖出
  • 减少市场冲击:大单直接砸盘,价格会剧烈波动
  • 防止被狙击:如果对手知道你挂了巨量买单,会故意拉高价格等你接盘

我见过最夸张的一次,某个大户用冰山订单在三天内吃掉了交易所5%的流通量。盘口上永远只有几百个币挂着,但实际成交了几万个。这种手法,说白了就是「闷声发大财」。

做市商自己也会用冰山订单。比如我要在某个价位积累大量仓位,肯定不会一次性挂出来。我会拆成几十个小单,分散在不同时间点挂出去。嗯,这里要注意,冰山订单的参数设置很讲究——每次露多少、间隔多久、价格偏移多少,都需要根据市场流动性来调。

实战经验:冰山订单的「露出量」一般设为总订单量的5%-10%。太小了成交太慢,太大了又暴露意图。我习惯根据该币种的平均单笔成交量来定。

五、TWAP/VWAP算法单:时间换空间

这两种算法单,是做市商和机构投资者的标配。它们解决的是同一个问题:如何在不影响市场的情况下完成大额交易

TWAP(时间加权平均价格)

TWAP的逻辑很简单:把订单拆成N份,每隔固定时间执行一份。比如你要在1小时内买入1000BTC,那就每36秒买入10BTC。

TWAP的优点是执行简单,缺点是它不管市场行情。如果市场在下跌,你还在傻傻地买,那就亏大了。

VWAP(成交量加权平均价格)

VWAP比TWAP聪明一点。它根据历史成交量分布来分配订单。比如某个时间段成交量占全天的20%,那就在这个时间段执行20%的订单。

VWAP的目标是让自己的成交价接近市场均价。做市商经常用VWAP来评估自己的执行质量——如果你的成交价比VWAP好,说明你执行得不错。

我参与过的一个项目,需要每天执行价值500万美元的订单。我们用的是VWAP算法,配合冰山订单。具体做法是:

// 伪代码示例
class VWAPExecutor:
    def __init__(self, total_qty, start_time, end_time):
        self.remaining = total_qty
        self.volume_profile = load_historical_volume()  // 加载历史成交量分布
        
    def on_tick(self, current_time):
        expected_volume = self.volume_profile.get_expected(current_time)
        total_expected = self.volume_profile.get_total_expected()
        
        // 根据成交量比例分配订单
        slice_qty = self.remaining * (expected_volume / total_expected)
        
        // 用冰山订单执行
        iceberg_order(slice_qty, price_offset=0.01)
        
        self.remaining -= slice_qty

这个逻辑看着简单,但实际跑起来坑很多。比如历史成交量分布跟当天实际分布不一致怎么办?市场突然出现大单怎么办?

避坑指南:我曾经在某个流动性极差的币对上跑VWAP,结果因为实际成交量远低于历史数据,算法一直在等「该有的成交量」,导致订单执行严重滞后。后来我加了一个超时机制——如果某个时间段成交量达不到预期,就提前执行剩余订单。

六、五种订单的对比与选择

说了这么多,到底什么时候用哪种订单?我整理了一张表:

订单类型适用场景风险点
限价单做市、挂单赚价差不成交风险、被扫货
市价单快速建仓/平仓滑点大、流动性不足时吃大亏
止损单风控、止盈止损止损限价单可能不成交
冰山订单大额交易、隐藏意图参数设置不当导致暴露
TWAP/VWAP大额订单分批执行模型失效、市场突变

我个人习惯是:做市用限价单+冰山订单,风控用止损市价单,大额交易用VWAP+冰山组合。市价单我基本不用,除非是紧急情况需要立刻离场。

你想想看,这些订单类型就像工具箱里的不同工具。螺丝刀不能当锤子用,市价单也不能当限价单用。理解每种订单的底层逻辑,才能在合适的场景用合适的工具。

最后说一句:订单类型的选择没有绝对的对错,关键看你的交易策略和风险承受能力。我见过有人用限价单做高频,也有人用市价单做套利。多测试、多复盘,慢慢就会形成自己的风格。


公众号:蓝海资料掘金营,微信deep3321