Senzoukria · 术语表

成交假设

成交假设是一次回测或一个模拟器用来判定一张模拟委托是否成交、何时成交、以什么价格成交的那些规则:信号时机、市价单价格、限价单成交、止损成交、跳空和成本。它们是结果的一部分,因为历史数据记录的是什么成交过,而不是一张新委托本会拿到什么。

更新于 2026 年 9 月首次发布:2026年10月9日

本页目录
  1. 每一个执行模型都要做的那些决定
  2. 为什么限价成交最难
  3. 在 Senzoukria 里
  4. 常见错误
  5. 相关内容
  6. 同一栏目
  7. 其他语言版本
  8. 常见问题

每一个执行模型都要做的那些决定

主要假设的乐观版与保守版
假设乐观版保守版
信号时机在产生信号那根 K 线的收盘价成交在下一根 K 线的开盘价成交
市价单价格最后成交价下一个价格再加上不利方向的滑点
限价单价格一触及限价就成交只有价格穿过限价才成交
止损单恰好在止损价成交在止损价与它之后第一个价格之中更差的那个成交,跳空也算
有歧义的 K 线假设目标先到假设止损先到
成本没有按张的手续费加上滑点

为什么限价成交最难

历史上在你限价价格上的一笔成交印,证明的是有人在那里成交过,而不是你的委托本会被轮到。在多数期货交易所,挂着的委托是按队列顺序成交的,而一张在信号那一刻才放出去的委托,是排到队尾的。当价格只是触及一个位置然后转头时,队列前面那些被成交了,而后面那些没有。因此「触及即成交」的规则,恰恰在那些正好在限价处转头的交易上高估了成交——而那些往往是最好的交易。

「穿越」规则要求价格至少越过限价一跳。它略微低估了成交,并拿掉了那些最讨好的。用逐笔委托数据做的委托簿回放能估计队列位置,但只在存在这类历史的地方才行。

在 Senzoukria 里

自动回测在收好的 K 线上做决定,并在下一根 K 线的开盘价上应用它们。以跳为单位设定的滑点总是惩罚入场,而每一笔交易都扣掉按张计的往返手续费;默认值是 1 跳和 1.24 美元。止损和目标是对着 K 线的最高价与最低价检验的,并在它们自己的价格上成交:一个被某根 K 线最高价触及的目标算作成交,而一根开在止损之外的 K 线仍然按止损价记录,所以穿过止损的跳空没有被建模。当一根 K 线同时触及两个离场时,止损胜出。

回放里用的模拟账户,在成交价达到一张限价单的触发价时按触发价成交它,而它的源码把这描述为一个没有滑点的理想化成交;而结果面板注明回放场次不扣佣金。因此回放度量的是在宽松执行之下的阅读和决策;要检验成本,该去自动回测那边。

常见错误

  • 在一套在极端处逆势挂单的策略里,把一个被触及的限价当成一个成交了的限价。
  • 以为跨过时段休息和新闻发布时,止损会在它的价格上成交。
  • 把一个不含成本的回放结果,和一个含成本的回测结果作比较。
  • 从不用更差的假设重跑一遍,去看这个结果在哪里会变号。

同一栏目

其他语言版本

常见问题

限价单我该用哪一种成交假设?
对那些限价挂在转折点上的策略,要求价格至少穿过限价一跳,或者显式地对成交率打折。把结果和「触及即成交」那版比一比:两者之间的差距,就是这份优势里取决于队列位置的那一部分。
有了逐笔数据,就不需要成交假设了吗?
不是。逐笔数据解决了一根 K 线之内价格的先后顺序,但它记录的仍然只是已经执行的成交。你的委托在一个挂单价格上本会不会成交、以及市场会因为它而移动多少,仍然是假设。
NEXT

继续阅读