滑点从来不是意外,它是订单结构与盘口流动性之间谈判失败后留下的账单。
对小额订单来说,这张账单可能被手续费和盈亏波动掩盖;对大额订单来说,滑点却会直接改变一笔交易的盈亏比。策略判断正确,不代表交易结果一定正确。入场方向对了,但成交均价差了一截,止损距离、盈亏比和最终净值曲线都会随之改变。
所以,复盘大额订单时,不能只看“信号出现后价格涨了多少”,还要看订单是如何穿过盘口的。预期价格是什么,实际成交价格是什么,中间经过了多少档位,成交量在每一档如何分布,这些细节才是日内交易成本的真实来源。
滑点的量化定义:三个最小变动价位究竟意味着什么
滑点的定义并不复杂:实际成交价格与预期成交价格之间的偏差,就是滑点。
买入开仓时,实际成交均价高于预期价格,通常称为负向滑点;卖出平仓时,实际成交均价低于预期价格,同样会形成不利滑点。对于卖出开仓和买入平仓,则反过来判断。关键不在于使用哪个术语,而在于先固定一个合理的成交基准,再计算实际成交偏离了多少。
最常见的基准有三种:
- 下单瞬间的卖一价或买一价,适合评估市价单的即时执行成本;
- 信号触发时的中间价,适合把买卖价差与真正的冲击成本分开观察;
- 某一时间窗口内的时间加权平均价或成交量加权平均价,适合评估拆单算法的执行质量。
如果用不同基准计算同一笔订单,结果可能完全不同。比如一笔买入单相对于卖一价只差一个最小变动价位,但相对于信号触发时的中间价,可能已经包含了半个价差;如果订单执行持续了几分钟,那么拿下单瞬间的卖一价去评价整笔订单,也未必公平。
以中证1000股指期货为例,合约乘数为每点200元,最小变动价位为0.2点。假设一笔10手订单相对预期均价产生3个最小变动价位的偏差,那么价格偏差就是0.6点,对应的单边隐性成本约为:
0.6点 × 200元/点 × 10手 = 1200元。
这还只是单边成本。如果开仓和平仓都在流动性较差的时刻执行,往返滑点就可能进一步累积。日内策略的毛收益看起来不低,扣除手续费、买卖价差和两次执行滑点后,净收益可能已经被压缩到完全不同的水平。
下面把几种常见订单结构的滑点暴露面摊开来看:
| 订单类型 | 主要成交基准 | 实际成交逻辑 | 主要成本风险 |
|---|---|---|---|
| 市价单 | 下单瞬间的对手价 | 立即从最优价开始逐档匹配 | 盘口薄时容易穿透多档 |
| 限价单 | 指定挂单价 | 等待对手盘主动成交 | 可能不成交,产生机会成本 |
| 立即成交剩余撤销 | 下单瞬间的对手价 | 先成交可成交部分,剩余撤单 | 成交量不确定,可能只完成部分仓位 |
| 时间加权拆单 | 执行窗口内的时间基准 | 按时间分批下单 | 单笔冲击较小,但承担窗口风险 |
| 成交量加权拆单 | 执行窗口内的成交量基准 | 随市场成交量动态调整 | 行情突然变化时可能跟不上原计划 |
这里有一个容易被忽略的区别:市价单的评价重点是“即时成交得有多差”,而时间加权或成交量加权算法的评价重点是“整个执行窗口内的平均成交是否优于基准”。不能拿市价单的标准去评价算法订单,也不能因为算法最后成交均价接近一段时间的平均价,就简单得出“没有滑点”的结论。
算法只是换了一个基准,并没有让交易成本凭空消失。
滑点的本质,是流动性索取权的价格。你要求成交更快,盘口就会要求你支付更高的即时成本。
不要把所有偏差都叫作滑点
复盘时还需要把几类成本拆开,否则最后得到的数字会失真。
第一类是买卖价差。你在买一卖一之间主动成交,哪怕没有引发任何额外的盘口变化,也已经支付了价差成本。
第二类是市场冲击。你的订单改变了盘口可见深度,连续吃掉多档报价,导致平均成交价进一步偏离。
第三类是价格漂移。订单尚未完全成交时,市场本身已经向不利方向移动。此时偏差未必全部由订单造成,但从执行结果看,交易者确实承担了它。
第四类是延迟成本。信号生成、订单发送、柜台处理和交易所撮合之间存在时间差。你看到的价格可能已经不是订单抵达时的价格。
这几类成本在成交回报里常常混在一起。真正严谨的复盘,不是只记录“这笔滑了几个点”,而是尝试回答:其中多少来自价差,多少来自穿透盘口,多少来自行情本身移动,多少来自系统延迟。
如果买入订单的预期基准是信号触发时的中间价,那么最终偏差通常还包含一部分正常的买卖价差;如果基准是发单瞬间的卖一价,则更接近对订单冲击和延迟的观察。两种口径都可以使用,但不能在不同订单之间随意切换,否则数据表上的滑点会失去可比性。
大额订单的“穿透效应”:盘口是怎样被一层层吃掉的
股指期货的流动性不能只用全天成交额来判断。真正决定一笔订单能否顺利成交的,是订单抵达那一刻、对应价位附近到底有多少真实可成交的挂单。
屏幕上显示的买一、卖一只是盘口最外层。对于小单来说,最优报价可能就是全部成交价格;对于大单来说,最优报价只是入口。订单从第一档开始匹配,如果该档位的挂单量不足,系统就会继续向下一档寻找对手盘,直到订单完成、剩余部分撤单,或者市场状态发生变化。
这就是通常所说的“穿透订单簿”。
假设某个交易时刻,某股指期货合约的卖方盘口如下:
| 卖方价位 | 可成交手数 | 累计可成交手数 |
|---|---|---|
| 5800.2 | 6手 | 6手 |
| 5800.4 | 8手 | 14手 |
| 5800.6 | 12手 | 26手 |
| 5800.8 | 18手 | 44手 |
此时交易者看到价格突破5800点,提交30手买入市价单。订单可能按照下面的方式成交:
- 5800.2成交6手;
- 5800.4成交8手;
- 5800.6成交12手;
- 5800.8成交4手。
这笔订单的加权平均成交价应为:
(5800.2×6 + 5800.4×8 + 5800.6×12 + 5800.8×4)÷30 = 5800.493点左右。
如果交易者下单时把5800.2视为预期成交价,那么平均成交偏差约为:
5800.493 − 5800.2 = 0.293点。
按每点200元、30手计算,单边隐性成本约为:
0.293点 × 200元/点 × 30手 = 1758元,实际可按约1760元估算。
换算成最小变动价位,这个偏差约为1.47个最小变动价位,接近1.5个最小变动价位,而不是此前容易被粗略估成的0.35点或2100元。
这里最重要的并不是1760元这个结果,而是成交结构本身:订单并不是“在5800附近成交了30手”,而是分别在四个价位完成。只看最终平均价,会错过订单如何穿透盘口这一层信息;而只有看到逐档成交,才能判断下一次是否应该拆单、降低订单规模,或者放弃用市价单追入。
盘口深度不是静态库存
很多交易者会把盘口挂单量当成固定库存,认为只要当前卖方有足够多的挂单,订单就能顺利完成。实际情况并非如此。
挂单会撤销,也会新增;同一价位的显示数量可能在极短时间内发生变化。尤其是在快速行情中,屏幕上的盘口不是一堵稳定的墙,更像是一组不断移动的报价。你看到卖一有10手,并不意味着你的订单抵达后仍然有10手等着成交。
因此,大额订单的执行结果受到两个比例影响:
- 订单规模相对于最优价位挂单量的比例;
- 订单规模相对于执行窗口总成交量的比例。
前者决定即时穿透深度,后者决定订单是否足以对市场形成持续冲击。订单规模越大,越不能只盯着卖一和卖二,而应观察更深层的累计深度,以及盘口在过去一段时间内的补单和撤单速度。
盘口显示数量还存在一个实际问题:可见挂单不等于稳定挂单。有些数量会在价格接近前撤走,有些数量则可能在成交后迅速补回。如果只在发单前截取一张盘口快照,就很难知道自己面对的是持续流动性,还是短暂出现的报价。
同一手数,在不同时间可能是不同的订单
开盘、午后恢复交易、临近收盘以及重要数据发布前后,盘口结构往往不同。某个时段的报价看起来很密集,并不代表真正的可执行流动性同样充足;有些挂单在价格接近时会迅速撤掉,留下的只是表面深度。
跨合约切换时也会出现类似问题。当交易活跃度从近月合约逐渐转向次月合约时,旧合约和新合约都可能经历短暂的流动性重新分配。此时一笔在主力时段看起来并不大的订单,到了切换阶段,可能已经足以穿透多档。
远月合约则更明显。它的盘口深度、成交连续性和报价稳定性通常不如近月主力合约。同样是20手市价单,在近月合约里可能只影响最优价附近,在远月合约里却可能直接跨越数档。不能因为两个合约的指数价格相近,就认为它们的执行成本也相近。
触发滑点的三大核心变量:流动性、波动率与延迟
把大额订单的执行过程拆开,滑点通常由三个变量共同推动:流动性深度、价格波动速度和订单传输延迟。它们不是完全独立的因素,极端行情中往往会同时恶化。
流动性深度:盘口越薄,订单越容易失去价格控制
流动性不只是全天成交量,也不只是持仓量。对日内执行而言,更有用的观察包括:
- 最优买卖价上的实际挂单量;
- 前几档的累计深度;
- 各档位之间的价格间隔;
- 报价更新、撤单和补单的速度;
- 一笔订单成交后,盘口恢复原状的时间。
如果最优卖价只有少量挂单,而第二档和第三档之间存在明显空档,那么大单一旦进入,平均成交价就可能迅速恶化。更麻烦的是,盘口深度有时会在订单刚刚发出后突然变薄,导致回测中看似可行的订单,在实盘里出现截然不同的结果。
判断流动性不能只看“成交量大不大”,还要看“成交量是否分布在足够连续的价格层级上”。成交量很大,但报价集中在少数几个价位,仍然可能不适合直接发送大额市价单。
对交易系统而言,盘口深度最好按订单方向分别观察。买入订单关心卖方深度,卖出订单关心买方深度;不能用买卖两侧的平均挂单量替代真正的可成交数量。某一侧看起来很厚,不代表另一侧同样有承接能力。
波动率:你看到的报价可能已经过期
行情越快,盘口报价的有效时间越短。交易者在终端上看到一个价格,不代表订单抵达撮合系统时还能以这个价格成交。价格变动越频繁,报价从显示到失效的时间就越短。
波动率本身不一定产生滑点。真正容易产生不利滑点的,是波动率与主动成交订单同时出现:
- 市价单需要立即成交,主动跨越价差;
- 价格快速移动,原有报价迅速被撤掉或成交;
- 大量同方向订单同时出现,盘口补单速度跟不上消耗速度。
限价单在剧烈行情中可能不成交,这是一种机会成本;市价单则可能成交,但价格明显变差,这是一种执行成本。两者最后都可能导致策略收益下降,但风险性质并不一样。
如果策略依赖“必须在信号出现后立即进场”,那么限价单不成交的风险可能比少量滑点更严重;如果策略本身对进场价格极其敏感,市价单造成的穿透成本则可能使信号失去意义。订单方式必须服从策略,而不是反过来。
传输延迟:普通网络下的最后一段距离
从信号生成到订单完成,通常要经历多个环节:策略程序发出指令,交易终端接收,订单经过券商柜台和交易前置,再进入撮合系统排队。任何一个环节出现排队、拥塞或处理延迟,订单就可能错过原本的盘口。
机构交易者会通过更稳定的线路、服务器托管和更接近撮合系统的部署方式减少延迟。普通交易者未必需要复制这种基础设施,但必须理解延迟带来的实际影响:你提交的订单不是瞬间到达,看到的盘口也不是为你保留的报价。
在慢速行情里,几十毫秒的差异可能不明显;在快速突破或集中止损时,延迟会直接转化为价格差。尤其是多个策略同时触发时,柜台排队和本地程序处理速度都可能成为瓶颈。
因此,执行复盘时应当保留至少几类时间戳:
- 信号产生时间;
- 程序发单时间;
- 交易柜台确认时间;
- 交易所回报时间;
- 每一笔成交的实际时间。
没有这些时间信息,只根据最终成交价猜测滑点来源,往往只能得到一个模糊结论。比如,信号出现后价格先移动,再发出订单,和订单发出后穿透盘口,表面上都表现为买得更贵,但解决方法完全不同:前者需要缩短策略链路,后者则需要调整订单规模或执行方式。
在滑点的战场上,交易者输掉的未必是判断力,很多时候是输给了盘口的物理厚度、行情的移动速度和订单抵达市场的时间。
算法交易中的滑点模拟:回测里的参数不能照搬实盘
很多量化策略会在回测中设置一个固定滑点参数,例如每次成交加减若干个最小变动价位。这样做并非完全错误,但它只适合非常初步的策略筛选。对于依赖成交速度、订单规模和盘口结构的策略,固定滑点通常过于乐观,或者在另一些行情中又过于悲观。
常见的滑点模型大致可以分为三类:
| 模型 | 计算方式 | 适合用途 | 主要局限 |
|---|---|---|---|
| 固定点数模型 | 每笔成交统一增加固定偏差 | 策略初筛、低频交易 | 忽略时段、盘口和订单规模 |
| 成交占比模型 | 根据订单量占同期成交量的比例估算冲击 | 中高频策略、批量订单 | 假设冲击关系过于简单 |
| 价格冲击模型 | 根据波动率、成交量和订单规模估算价格影响 | 拆单策略、执行优化 | 参数依赖历史样本,跨品种不一定有效 |
固定点数模型最大的问题,是把所有交易时刻看成一样。开盘后、午后平稳时段和突发行情中的盘口深度并不相同,订单规模相同,执行成本也不会相同。
成交占比模型比固定点数更接近现实,因为订单规模相对于市场成交量确实会影响冲击成本。但它仍然需要注意两个问题。第一,分钟成交量并不等于你能够获得的可执行流动性;第二,成交量在快速行情中可能是结果,而不是事先可知的条件。等到成交量明显放大时,最差的价格移动可能已经发生。
有些量化平台会提供成交量限制和价格冲击系数等参数。例如,某些默认设置会把单笔交易量限制在同期成交量的一小部分,并通过一个经验系数估算价格冲击。这类参数可以作为起点,但不能被当作真实市场规则。它们的作用是让回测不要完全脱离现实,而不是保证回测成交结果与实盘一致。
回测至少要做三层压力测试
第一层是固定滑点测试。它的作用是快速判断策略是否对执行成本极其敏感。如果只增加少量滑点,收益就明显恶化,说明策略本身可能依赖过于理想的成交价格。
第二层是分时段滑点测试。将开盘、午后、临近收盘和高波动时段分别设置不同的成本假设,比全天使用同一个参数更接近实盘。
第三层是按订单规模进行压力测试。将原始订单拆成多个规模档位,观察订单规模扩大后,收益和成交质量如何变化。很多策略在小规模资金下表现良好,一旦订单扩大,就会因为冲击成本快速失效。
如果条件允许,还可以把历史逐笔成交和盘口快照纳入模拟。即使无法完整复现交易所撮合,也比单纯使用收盘价或分钟线价格更有参考价值。特别是大额订单,逐笔数据能够帮助判断订单究竟是一次性成交,还是跨越了多个价格层级。
回测中还要避免一个常见错误:只给成交价格加一个固定偏移,却默认订单数量可以完整成交。现实中,价格变差和成交不完整经常同时出现。大单在某个价位没有足够对手盘时,可能一部分成交、一部分继续追价,或者剩余部分直接撤销。如果模型只处理价格,不处理可成交数量,得到的净值曲线仍然会比实盘整齐很多。
用成交质量而不是单一滑点参数评价算法
算法订单不能只看最后的平均成交价。至少还要观察:
- 相对于到达价格的偏离;
- 相对于执行窗口中间价的偏离;
- 相对于时间加权平均价的偏离;
- 相对于成交量加权平均价的偏离;
- 未完成订单占比;
- 执行过程中最大不利偏移;
- 订单完成所用时间。
如果订单执行窗口很长,最终平均价可能看起来不错,但中途曾经出现过明显的不利偏移;如果订单没有完全成交,剩余仓位带来的方向风险也必须计入成本。
这也是为什么时间加权平均价格和成交量加权平均价格不是“消除滑点的工具”,而是“重新分配滑点的工具”。它们把一笔大单拆成多笔小单,降低单次冲击,却让交易者暴露在更长的执行窗口里。
时间加权与成交量加权:降低冲击,还是把风险推迟
时间加权拆单的思路很直接:在预定时间内,把大单均匀分散到多个时点执行。成交量加权拆单则根据市场成交量变化调整订单大小,在活跃时段多成交,在清淡时段少成交。
两种方法的核心目标都是降低单笔订单对盘口的冲击,但适用场景并不相同。
时间加权更适合市场节奏相对稳定、交易量分布没有明显断层的情况。它简单、容易控制,也便于预估完成时间。但如果市场在执行窗口内突然放量或快速变向,均匀下单可能会显得机械。
成交量加权会更关注市场实际成交量。理论上,市场越活跃,算法越容易找到对手盘;市场越清淡,算法就会放慢执行速度。不过,成交量放大往往也意味着波动加剧。算法追着成交量增加订单,可能恰好在最不利的时刻加快执行。
一笔订单是否适合拆单,可以从三个问题开始:
1. 策略能否承受几分钟甚至更长的未完成仓位?
2. 订单完成后,平均价格的改善能否覆盖执行窗口内的方向风险?
3. 如果行情突然反向,算法是否允许加速、暂停或直接结束执行?
如果答案都是否定的,拆单并不一定比一次性成交更好。对于突破策略,信号的有效时间可能很短,拆单导致的迟到进场会使订单虽然成交得更平滑,却失去原本的策略优势。
反过来,对于盘整区间、均值回归或者对成交时点不太敏感的策略,拆单通常更有价值。因为这类策略追求的不是抢在第一时间完成全部仓位,而是控制平均成本,避免一笔订单把自己的成交价格推向不利方向。
拆单参数也不能只设置一个固定的时间间隔。真正需要观察的是每一小笔订单发出后,盘口有没有恢复,价格是否仍然处在策略允许的范围内,以及累计成交量是否达到计划。若市场已经明显转向,继续按照原计划机械执行,可能只是把一次可控的冲击,变成持续暴露在不利行情中的等待。
一次大额订单应该怎样复盘
复盘大额订单,最忌讳只截一张成交回报截图,然后用一个“滑了几个点”结束分析。更有用的方法,是把订单拆成时间、价格和数量三个维度。
先固定预期价格
预期价格不能事后选择。买入订单可以使用发单时的卖一、信号触发时的中间价,或者策略允许的理论成交价;卖出订单则使用对应的买方价格。只要基准确定,就要在同一类订单之间保持一致。
如果策略在信号触发后经过了明显延迟才发单,那么还应分别记录信号价格和实际发单价格。否则,程序延迟和市场自然移动就会全部被混算成“滑点”。
实践中可以同时保留两个基准:一个是信号基准,用来评价策略从信号到执行的整体损耗;另一个是到达基准,用来评价订单真正抵达市场后的成交质量。前者反映策略链路,后者反映执行系统。只保留其中一个,往往无法说明问题究竟出在策略、网络还是订单本身。
再还原逐档成交
对每笔成交记录价格、数量和时间,计算:
- 成交总手数;
- 加权平均成交价;
- 最优价成交比例;
- 第二档及更深档位成交比例;
- 最大成交价偏离;
- 从发单到最后一笔成交的持续时间。
这些指标可以直接说明订单是在哪一层开始失去价格控制的。如果大部分数量在最优价成交,只有尾部少量订单穿透,问题可能是订单规模略大;如果从第一档开始就没有足够深度,问题则可能是时段选择或合约选择。
以刚才的30手订单为例,不能只记录“平均成交价为5800.493点”。还应记录6手在5800.2成交、8手在5800.4成交、12手在5800.6成交、4手在5800.8成交。只有这样,下一次才有可能比较:如果改成两笔或三笔发送,是否可以减少最深档位的成交量;如果避开盘口快速变薄的时段,结果是否会明显改善。
最后区分方向风险与执行风险
假设一笔订单执行了两分钟,期间价格向不利方向移动了几个点。这里面可能有两种情况:
- 订单本身穿透盘口,直接造成成交价变差;
- 订单没有快速完成,行情在执行窗口内自然移动。
前者是市场冲击,后者是等待成本。拆单策略通常降低前者,但提高后者。只有区分两者,才能判断下一次应该减少订单规模、缩短执行时间,还是改变执行时段。
还要把未成交部分计算进去。如果计划买入30手,最后只成交20手,行情随后上涨,剩余10手带来的踏空损失不能简单称为“没有滑点”。它属于不成交风险,但对策略净值同样有影响。
复盘时还可以把订单分成三种状态:完整成交、部分成交和未成交。完整成交重点看平均价格与逐档穿透;部分成交要同时看剩余仓位的后续处理;未成交则要评估策略是否因为等待限价成交而错过了有效窗口。三者不能用同一个滑点数字概括。
实盘成本控制的边界:限价单也不是万能解
讲到这里,必须承认一个不太讨喜的事实:没有任何一种下单方式可以彻底消除滑点。
市价单优先解决成交确定性,但要承担穿透盘口的成本;限价单控制了最差成交价格,却可能无法成交;时间加权和成交量加权算法降低了瞬时冲击,却引入了执行窗口风险;止损单和止盈单则把未来的订单行为预先设定好,触发之后仍然要面对当时的盘口和波动。
所以,订单方式不是一个永远正确的技术选项,而是策略目标、盘口结构和行情速度之间的取舍。
可以把几种方式简单理解为:
| 执行方式 | 优先解决的问题 | 付出的代价 |
|---|---|---|
| 市价单 | 尽快完成成交 | 价格不可控,容易穿透盘口 |
| 限价单 | 控制最差成交价格 | 可能不成交或只成交一部分 |
| 时间加权拆单 | 降低单笔订单冲击 | 执行时间延长 |
| 成交量加权拆单 | 跟随市场流动性变化 | 活跃时段可能伴随更高波动 |
| 分层限价单 | 在价格控制和成交率之间折中 | 需要持续管理和撤改单 |
假设日内做多某股指期货主力合约20手,正常盘口下直接发送市价单可能产生约1.5个最小变动价位的偏差。由于每个最小变动价位是0.2点,因此价格偏差约为:
1.5 × 0.2点 = 0.3点。
按每点200元、20手计算,单边成本约为:
0.3点 × 200元/点 × 20手 = 1200元。
这个数字是沿用示例中的估算条件得出的,并不是所有时段、所有合约的固定结果。它至少说明一件事:对于20手订单,1.5个最小变动价位并不是一个可以忽略的误差,单边执行成本已经足以改变一笔短线交易的盈亏结构。
如果把订单拆成5笔,每笔4手,间隔一段时间执行,单笔冲击可能降低到约0.3个最小变动价位,但整个执行窗口会被拉长。此时,交易者减少了即时冲击,却承担了行情在窗口内反向移动的风险。
这两个方案没有固定答案:
- 快速突破、止损平仓和必须立即完成的风险事件,更看重成交确定性;
- 盘整区间、均值回归和不急于抢第一价格的策略,更适合控制平均成本;
- 远月合约或盘口明显变薄时,应优先减少单次订单规模;
- 波动突然放大时,应重新评估原有拆单节奏,而不是机械执行既定计划。
真正有用的成本控制,不是追求“零滑点”,而是知道自己正在用哪一种成本交换另一种成本。
在实盘中,缩小单次订单规模通常是最直接的办法,但它并不意味着简单地把订单平均切成若干份。拆分后的每一笔订单仍然可能在同一方向上连续追价。如果市场深度正在快速减少,过于密集的拆单只是把一次穿透变成多次穿透。
另一个容易被忽视的控制手段是设置可接受的执行边界。例如,策略可以规定当累计成交偏离超过某个范围时暂停新增订单,或者当行情离开信号有效区间时取消剩余计划。这样做不能保证价格更好,却可以避免执行程序在市场已经变化后仍然不加判断地完成原始订单。
最后,别把滑点归咎于“主力意图”
日内交易者很容易把一次糟糕成交解释成主力砸盘、市场针对或者盘口诱多。这样的解释通常无法帮助下一次执行。市场不会因为你下了30手订单,就专门为你改变规则;你的订单只是进入了一个按照价格优先、时间优先运行的撮合系统。
订单簿没有情绪,也不会承诺给你想要的价格。你能控制的,是订单规模、订单类型、执行时段、拆单节奏和策略对成交不确定性的容忍度。
复盘滑点时,至少要把以下问题问清楚:
- 预期成交价格是否定义明确;
- 订单是否大到足以穿透多档盘口;
- 当时看到的挂单是否持续存在;
- 行情移动造成的偏差与订单冲击是否已经分开;
- 订单从发出到完成经历了多长时间;
- 采用限价、拆单或缩小规模后,结果是否可能更好;
- 这笔订单的成交方式是否符合策略本身的时间要求;
- 订单没有完全成交时,剩余仓位的机会成本如何计算;
- 同一执行方式在不同时间段、不同合约上是否仍然有效。
如果这些问题没有答案,所谓“策略收益”可能只是回测价格与实盘成交之间的错觉。
任何“日内无滑点”“算法零成本”的承诺,都是话术,不是技术。算法能做的是把冲击成本、等待成本和不成交风险放在不同位置,不能让它们从市场里消失。交易者也不可能靠某一个下单按钮,绕过盘口深度、波动率和传输延迟这三道约束。
承认这个边界之后,复盘才真正开始。把每一笔大额订单还原成预期价格、逐档成交、执行时间和最终成本,再将这些结果反馈给仓位规模与订单逻辑,交易系统才会逐步接近实盘,而不是停留在回测里那个过于整齐的成交价上。
下一次准备发送大额订单时,先别急着问行情会不会继续上涨。先问一个更实际的问题:当前盘口,是否真的有能力接住你想成交的数量?
相关阅读: 交易员决策疲劳应对策略:减少日内无效交易的系统化方案 、 全职交易员的社交孤立:享受孤独还是走向心理失衡?.
