
滑点不是手续费 它比手续费狠多了
很多刚进程序化交易论坛的朋友,第一件事就是问手续费最低能开到多少。手续费确实重要,但它是一个确定性成本,你开仓之前就知道要交多少。滑点不一样,它是不确定性的,行情剧烈的时候,一笔单子滑掉的钱可能是手续费的几十倍。
滑点的本质是什么?就是你看到的盘口价格和你实际成交的价格之间的差额。你程序里写的是价格到5000就买,结果成交在5003,那3个点就是滑点。看着不多,一天交易五十笔,每笔滑3个点,一个月下来光滑点就能吃掉本金的百分之好几。程序化交易论坛里那些晒曲线晒得漂亮的帖子,一旦把滑点算进去,很多曲线就塌了。
为什么你的程序总在滑点最大的时候冲进去
滑点喜欢出现在两个场景。一个是流动性瞬间枯竭,挂单薄得像纸一样,你一笔稍大的单子打进去,价格直接穿好几档。另一个是波动率突然放大,止损单、突破单在同一时间涌进来,大家抢着成交,谁出价高谁先走。

程序化交易最容易犯的错,是用收盘价或者当前最新价去触发信号。最新价是上一个成交价,它不代表你下一笔能拿到的价格。突破策略在行情快速拉升时触发,程序的买单冲进去,吃掉的却是上方几档的卖单,成交价离信号价差出一大截。论坛里有人统计过,趋势策略的滑点成本在震荡市里占比小,在单边急拉的时候能占到单笔盈利的百分之三十以上。
还有一个隐蔽的坑,是程序对流动性的判断太粗糙。很多策略只看成交量,不看盘口挂单厚度。成交量是已经发生的,盘口挂单才是你马上要面对的。成交量大的品种,盘口不一定厚,尤其在某些时段,比如中午临近收盘、夜盘刚开盘,挂单量会突然缩水。程序不知道这些,照样按信号发单,滑点自然就找上门。
订单类型选对了 滑点能砍掉一半
程序化交易论坛里讨论滑点,绕不开订单类型。市价单最痛快,保证成交,但不保证价格,滑点完全交给市场。限价单保证价格,但不保证成交,可能错过行情。这两者不是二选一,而是要看策略逻辑。
趋势跟踪策略怕的是踏空,错过一波大行情比多滑几个点更伤。这类策略可以用市价单,但要在程序里加一个保护机制,设定一个最大可接受滑点,超过这个值就撤单重发或者放弃这笔交易。这个阈值怎么定,要看品种的日内波动率和盘口厚度,不是拍脑袋想出来的。
均值回归策略怕的是成交价不好,多滑一个点可能就把利润吃光了。这类策略适合用限价单,挂在盘口排队。限价单的风险是排队排不上,行情走了。解决办法是把大单拆小,分批次挂,或者用冰山订单,只露出一部分。程序化交易论坛里有老手分享过,把一笔大单拆成五到十笔小单,间隔几百毫秒发出去,滑点能降下来不少。
还有一种订单类型叫即时成交或取消,英文缩写IOC。它要求立刻成交一部分,剩下的自动撤销。这种单子适合用在流动性不确定的时候,先试探一下盘口,能成交多少算多少,剩下的再想办法。程序里把这个逻辑写好,比盲目市价冲进去要稳得多。
回测里不模拟滑点 实盘就是给市场上交学费
程序化交易论坛里最扎心的一句话是,回测一条龙,实盘一条虫。原因很多,滑点模拟不到位是头号杀手。
很多人回测的时候直接用收盘价成交,或者用下一根K线的开盘价成交,这等于假设市场永远有无限流动性,你的单子永远能以那个价格成交。现实完全不是这样。回测里必须把滑点加进去,而且要分场景加。波动小的时段设一个基础滑点,波动大的时段设一个更高的滑点。品种流动性不同,滑点参数也要分开设。
更精细的做法,是用盘口数据做回测。如果你能拿到历史Tick数据里的买卖盘挂单量,就可以模拟你的单子打进去之后,会吃掉哪几档挂单,成交均价是多少。这种回测做出来的曲线,和实盘的差距会小很多。程序化交易论坛里有些付费的数据源提供这种盘口历史,价格不便宜,但比实盘亏掉的钱划算。
回测里还要模拟一个东西,叫部分成交。限价单挂在盘口,行情扫过来的时候可能只成交了一部分。程序如果默认全部成交,回测的仓位和实盘就对不上,后面的盈亏全是错的。把部分成交的逻辑写进回测框架,曲线会难看一些,但那才是真实的样子。
流动性识别是程序化交易的基本功
滑点控制到拼的是对流动性的理解。程序化交易论坛里那些长期稳定盈利的人,没有一个不重视流动性。
流动性怎么看?看盘口买卖价差,价差越小流动性越好。看盘口挂单厚度,买一卖一挂单量越大,你的单子越不容易打穿。看成交的连续性,一笔一笔成交很密集,说明有人在不断撮合。这三个指标放在程序里,作为过滤条件,流动性不达标的时候不开仓或者减仓,滑点自然就控住了。
品种选择也是流动性管理的一部分。同样一套策略,放在主力合约上和放在远月合约上,滑点能差出好几倍。远月合约挂单稀薄,价格跳动不连续,程序发单进去就是给做市商送钱。程序化交易的第一课,是选对战场。主力合约、近月合约、成交活跃的品种,滑点天然就低。
还有一个细节,避开流动性差的时段。开盘前几分钟、收盘前几分钟、节假日前的夜盘,这些时段的盘口挂单会突然变少,程序如果照常交易,滑点会放大。在程序里加一个时段过滤,把这些垃圾时间避开,相当于白捡了一部分收益。
程序化交易不是把人的情绪去掉就完事了,它更考验你对市场微观结构的理解。滑点这个东西,你不管它,它就一直在那里啃你的利润。你把它当成一个参数去管理,它就从一个黑洞变成一个可以控制的成本项。论坛里的讨论看再多,不如把自己的策略拉出来,把滑点参数调一调,看看曲线到底差多少。那个差距,就是你要去填的坑。