盘前盘后交易的执行陷阱:流动性稀薄与隔夜跳空如何让止损单形同虚设
很多交易者第一次发现自己的券商支持盘前盘后交易的时候,第一反应是兴奋:交易时间变长了,机会变多了,别人还在睡觉我已经能下单了。但延长时段不是常规时段的简单延伸,它是另一套执行机制。订单的去向不一样,对手方的数量不一样,买卖价差的量级不一样,同样一笔订单对价格的冲击也完全不在一个级别。更麻烦的是,如果你的持仓要过夜,那么重大消息在盘后公布、次日开盘直接跳空的场景里,你设好的止损单不会按你设定的价格保护你。这篇文章把延长时段的执行机制和隔夜跳空对止损单的破坏讲清楚,然后给出三条可以直接落地的做法。
引子:同一个代码,两个市场

先说一个大部分人没意识到的事实:你在常规时段买某只股票,和你在盘后时段买同一只股票,本质上是在两个不同的市场里下单。
代码一样,公司一样,报价看起来也是同一个数字格式。但撮合你这笔订单的地方、和你对手交易的人、以及你最终成交的价格,来自完全不同的机制。
常规时段的运作逻辑是集中。绝大部分订单流最终汇入主交易所的集中撮合体系,做市商在报价,机构在调仓,程序化交易在做价差,散户在买卖。参与者的数量级足够大,订单簿的每一个价格档位上都堆着足够多的挂单,你的一笔订单进去,能在很接近当前报价的位置找到对手方。
延长时段的运作逻辑是分散。盘前盘后没有那个集中的深水池,订单往往流向另类交易场所,或者干脆在券商自己的内部系统里撮合。愿意在这个时段挂单的参与者本来就少,这些少数参与者又被分散在几个互不连通的场所里。结果是每一个撮合池里的挂单都很薄,档位之间存在大片空白。
这不是理论推演,而是延长时段所有执行风险的源头。理解了这一点,后面几节讲的价差、滑点、价格冲击,就都是这个结构性差异的必然结果。
1
买卖价差的量级差异:从几个基点到几个百分点

买卖价差是最直观的执行成本,也是延长时段和常规时段差别最大的地方。
一只流动性充足的大盘股,在常规时段的中段,买价和卖价之间的差距可能只有一分钱,占价格的比例是几个基点的量级。你买入的瞬间就承担了这半个价差的成本,但这个成本小到可以忽略。
同一只股票到了盘后时段,价差可能从一分钱变成十几分钱甚至几毛钱。倍数关系通常在5倍到20倍之间,具体多少取决于标的的活跃程度、时段的深浅、以及当时有没有消息刺激。流动性差一些的中小盘股,这个倍数还会更夸张,因为它们在常规时段的参与者本来就不多,到了延长时段几乎就剩下零星几个挂单。
价差扩大的直接后果是:你的每一笔往返交易,光在价差上就要多付出好几倍的成本。如果你的策略本身预期收益只有百分之一二,那么在延长时段执行会直接把这个预期收益吃掉一大半。
这里有一个容易被忽略的连带效应。价差变宽的时候,报价的中间价本身也变得不可靠。常规时段你看到的中间价基本能代表市场共识,因为两边都有大量挂单在竞争。延长时段的中间价可能只是两个孤立挂单的算术平均,它既不代表共识,也不保证你能在附近成交。关于交易成本如何在长期侵蚀账户,可以参考隐性交易成本对账户的实际影响这篇里的算法,把价差的倍数关系代进去,结果会比你直觉估计的更难看。
2
同一笔订单,两个时段的价格冲击完全不是一个量级

价差是静态成本,价格冲击是动态成本,后者对新手的杀伤力更大。
想象一笔中等规模的订单。在常规时段,这笔订单进入订单簿之后,最上面一两个价格档位就能把它全部吃掉,成交均价和你下单那一刻看到的报价基本一致。这笔订单在当天的成交量里占比小到肉眼看不见,价格图上留不下任何痕迹。
同一笔订单放到盘后时段。第一个档位只有很少的挂单,吃完了。第二个档位在往上几分钱的地方,也吃完了。第三档、第四档、第五档,一路往上吃。等到订单全部成交,你的成交均价可能已经比下单那一刻的报价高出好几个百分点。
而且这个价格冲击是留痕的。因为整个时段成交量本来就小,你这一笔订单可能就是这一分钟内唯一的成交,价格图上会留下一根突兀的跳动。第二天有人复盘这个时段的走势,看到的就是「盘后突然拉升几个百分点」,实际上背后只是一笔正常规模的订单撞进了空荡荡的订单簿。
这个机制有两层含义值得单独说。
第一层:延长时段的价格波动,可信度远低于常规时段。一个在盘后涨了百分之五的报价,可能只反映了一两个参与者的行为,它不代表市场对这个标的的重新定价。很多人看到盘后的异动就急着追进去,结果次日开盘价格回到原位,白白承担了追高的成本。
第二层:如果你自己就是那个撞进空订单簿的人,你的成本是实实在在付出去的。价格第二天回落不会退你钱。
3
市价单在延长时段等于交出一张空白支票

把前两节合起来看,就能得出延长时段最重要的那条操作纪律:任何时候都不要在延长时段用市价单。
市价单的含义是「不管什么价格,立刻给我成交」。在常规时段,这个指令的风险是可控的,因为订单簿足够厚,「不管什么价格」实际上被限制在一个很窄的范围里。你放弃的只是几个基点的精度。
在延长时段,「不管什么价格」是字面意思。你的订单会沿着稀疏的订单簿一路往上或者往下吃,直到成交完毕。这个最终价格在你下单的那一刻是不可知的,它取决于当时那几个孤立挂单挂在哪里。
我见过最典型的翻车场景是这样的:交易者在盘后看到某只股票因为财报出现异动,急着建仓,用市价单下了一笔,成交回报显示的价格比他看到的报价高出百分之七。他的第一反应是券商出了问题。但券商没有问题,这就是稀薄订单簿的正常运作结果。他真正的问题是用了错误的订单类型。
正确的做法只有一个:延长时段只用限价单,而且限价要设在你真正愿意接受的价格上,不要为了「确保成交」而把限价挂得离报价很远。限价单的代价是可能不成交,这个代价在延长时段是完全可以接受的。没成交意味着你没有以离谱的价格进场,这在绝大多数情况下都是好结果。
如果你对订单类型的机制还不太熟,建议先把三种必须掌握的订单类型搞明白,再考虑要不要碰延长时段。另外券商的执行方式本身也会影响你的成交质量,券商订单执行:做市商模式与ECN模式的差别这篇讲的就是订单最终去了哪里的问题,延长时段这个差别会被放大。
4
重大消息为什么总在盘后公布

现在把视角从执行转到信息。
上市公司的财报、重大交易公告、监管处罚,绝大多数选择在常规交易时段结束之后或者开盘之前公布。这不是巧合,而是刻意安排。
原因在于常规时段公布重大消息会造成剧烈的即时反应。价格在几秒钟内剧烈跳动,可能触发波动性熔断,也可能让大量止损单在混乱中被扫掉。把消息放在盘后或者盘前,市场有几个小时的时间慢慢消化,分析师能写出报告,机构能开完会,各方能在下一个交易日开盘前把定价想清楚。从信息有序传播的角度,这个安排是合理的。
但对持仓过夜的交易者来说,这个安排制造了一个非常尴尬的组合:信息冲击最大的时候,恰好是流动性最薄的时候。
你可以对照上面这张流动性分布图看。一天之内流动性最充足的是开盘后的一段和收盘前的一段,中间午盘有一个明显的低谷,而盘前和盘后是全天的最低区间。财报和重大公告的发布窗口,几乎精准地落在这个最低区间里。
这意味着两件事。第一,消息出来的那一刻,如果你想在延长时段调整仓位,你要在最差的流动性条件下做最紧急的决策,执行成本必然很高。第二,如果你选择不动、等到第二天开盘再处理,那么你面对的就是下一节要讲的问题:跳空。
5
跳空的时候,止损单不会按你设定的价格保护你

这一节是整篇文章最重要的部分。
先把止损单的机制说清楚。一张常规的止损单不是一个「价格保护承诺」,它是一个条件指令。它的逻辑是:当市场价格触及或者穿过你设定的止损价位时,这张单子被激活,然后以市价单的形式送进市场执行。
注意最后半句。激活之后它变成市价单,而市价单的成交价取决于当时市场上有什么价格可以成交。
在连续行情里,这两者的差距很小。价格一档一档地跌到你的止损位,单子被激活,在附近成交,滑点有限,你的实际亏损和计划亏损基本一致。
跳空破坏的正是这个「连续」的前提。
假设一只股票前一日收盘在某个价位,你的止损设在这个价位下方一段距离。当晚财报公布,业绩大幅低于预期。次日开盘,第一笔成交直接落在你止损位下方很远的地方。
这个过程里,价格从来没有在你的止损位上成交过。它是从上方直接跳到了下方。你的止损单在开盘的那一刻被激活,然后以开盘附近的价格成交。这个成交价和你设定的止损价之间的差距,就是你计划外多承担的损失。
用具体数字走一遍会更清楚。假设你在100元买入,止损设在95元,也就是计划承担5%的单笔亏损。当晚财报公布,业绩大幅低于预期。次日开盘价直接落在82元,中间的95元这个价位一次成交都没有发生过。你的止损单在开盘那一刻被激活,以82元附近的价格成交。你实际承担的亏损是18%,是计划值的三倍多。
再换一个角度看这个数字。如果你按5%的止损距离去反推仓位,并且用了「单笔最多亏损账户2%」这条规则,那么你的仓位会被算成账户的40%左右。18%的实际亏损作用在40%的仓位上,就是账户权益的7%以上。你以为自己在做2%的风险敞口,实际上做了7%。这个差距不是执行不到位造成的,而是算法里那个隐含假设本身就不成立。
关键点在这里:**这个额外损失的大小,不由你的止损设置决定,而完全由跳空的幅度决定。**跳空两个百分点,你多亏两个百分点。跳空十五个百分点,你多亏十五个百分点。你把止损设得再精确都不会改变这个结果。止损位设得更近甚至会让情况更荒谬:止损越近,反推出来的仓位就越大,跳空发生时的实际亏损反而被放大得更厉害。
很多交易者对止损单的信任建立在一个隐含假设上:我设了止损,所以我单笔的最大亏损是确定的。这个假设在连续行情里成立,在跳空行情里不成立。而跳空恰好最容易发生在财报、监管事件、重大宏观数据这些时点上,也就是你最需要保护的时候。
这一点和没有止损等于等着爆仓讲的内容并不矛盾。止损单依然是必须的,它在绝大多数常规行情里都有效。这里要纠正的只是那个过度自信:不要把止损单当成一个绝对的损失上限,尤其不要在这个假设上叠加杠杆和重仓。真正的极端跳空属于尾部事件,如何管理黑天鹅风险里讲的仓位思路,在这里同样适用。
止损单保护的是「价格连续下跌」这一种场景。它不保护跳空。当你的风控体系把单笔最大亏损完全押在止损单上,你实际上是在假设市场永远不会跳空,而市场恰好最喜欢在你最脆弱的时候跳空。
6
什么时候延长时段交易是合理的,什么时候必须避开

把前面几节的机制翻译成操作标准。
延长时段交易在少数情况下是有必要的。
一种是对重大消息的必要反应。财报出来之后基本面判断发生了根本性变化,你必须减仓或者了结,而等到次日开盘的跳空风险高于延长时段的执行成本。这种情况下用限价单在延长时段处理是合理的取舍,但你要清楚自己在为「立刻处理」付出溢价。
另一种是仓位必须在特定时点调整。比如你有对冲需求、有资金安排、或者有交割和结算上的时间约束,非要在这个时段完成。这是操作必要性,不是交易机会。
除此之外的绝大多数情况都应该避开。
最常见的一种是「想早点交易」。看到市场开着,手就痒。这个动机的本质是交易冲动,不是交易机会。你在流动性最差的时段用最高的成本满足了一次下单欲望,仅此而已。
第二种是追盘后异动。前面第二节已经解释过,延长时段的价格跳动可能只反映一两笔订单,它的信息含量很低。你追的那个百分之五,第二天开盘可能直接消失。
第三种是「试试盘感」。用真金白银在最差的执行环境里试探,性价比很低。想练手用模拟盘,或者在常规时段用小仓位。
最后一条不分情况,任何时候都成立:延长时段绝对不要用市价单。这一条不需要判断,直接当规则执行。
7
把跳空风险明确算进仓位管理

前面讲的都是机制。这一节讲怎么改自己的算法。
大部分人计算仓位的方式是:用账户能承受的单笔风险金额,除以入场价到止损价的距离,得出可以买多少。这个算法本身没错,问题在于它隐含了一个假设,就是止损单会在止损价附近成交。
如果你的持仓要过夜,这个假设需要打折。具体做法是在止损距离之外,额外留出一段跳空缓冲。
缓冲留多宽,取决于三个东西。
第一是标的自身的跳空习性。有些标的历史上隔夜跳空幅度经常在百分之一以内,有些标的动辄跳空百分之五以上。翻一下这个标的过去一两年里所有隔夜缺口的分布,取一个偏保守的分位数作为参考。
第二是有没有临近已知的事件。财报日、重大监管节点、关键宏观数据发布,这些日子的跳空概率和幅度都要显著上调。最简单也最有效的做法是:财报前不持有隔夜仓,或者只持有你愿意承受完整跳空幅度的那么小的仓位。
第三是有没有杠杆。杠杆会把跳空幅度按倍数放大到你的权益上。跳空百分之八在无杠杆的情况下是一次难受的亏损,在三倍杠杆下就是权益的四分之一。这也是为什么高杠杆加隔夜持仓的组合特别危险,你的风险不再由止损位决定,而由一个你完全无法控制的开盘价决定。
把这三点合起来,操作上就是一个很朴素的结论:**打算过夜的仓位,规模要比只做日内的仓位小。**小多少不需要精确到小数点,但方向必须是这个方向。仓位管理的具体计算方法可以参考如何计算自己的仓位规模,把跳空缓冲当成止损距离之外的一个附加项加进去。
写在最后
延长时段交易被很多人理解成一项福利:交易时间更长,机会更多。从执行机制的角度看,它更像是一个被放大了所有摩擦成本的市场副本。价差更宽、深度更薄、价格冲击更大、报价可信度更低。
这些摩擦成本不会因为你交易水平高就消失,它们是市场结构决定的。一个成熟的做法不是想办法在这个环境里更聪明地交易,而是承认这个环境不适合你的大部分交易,然后不参与。
三条可以直接落地的做法:
第一,非必要不参与延长时段交易。除了对重大消息做必要反应、或者有明确的时点约束,其他时候都留在常规时段。
第二,必须参与时只用限价单,限价设在你真正愿意成交的位置。不成交是可以接受的结果,以离谱的价格成交不是。
第三,把隔夜跳空风险明确写进仓位计算,不要假设止损单能保住你设定的止损位。过夜仓位比日内仓位小,临近财报的仓位比平时更小。
这三条都不需要预测能力,也不需要额外的技术工具,只需要你在下单之前多想一步:现在是哪个时段,我用的是什么订单类型,如果明天开盘直接跳空到我止损位下方一大截,我能不能接受那个结果。
能接受,就下。不能接受,就把仓位改小,或者干脆不做。
以上内容仅代表个人观察与思考,不构成任何投资建议。交易有风险,入市需谨慎。
更多交易干货,关注公众号「XtradingTime交易内训」。如果觉得有收获,别忘了点赞、在看、转发,你的支持是我持续输出的动力。
推荐课程
合约陪跑实战训练营
不只教方法,更带你实盘执行。从仓位管理到止损止盈,手把手纠正你的交易习惯,建立可复制的盈利系统。
觉得有用?关注公众号获取更多干货
每周更新交易教学文章和视频,帮你建立系统化交易体系