不是普通的向量化回测,可以理解成“带撮合过程的账户模拟回测”,但也不要把它理解成简单的“信号一出就按K线价格立刻成交”。
天勤回测是事件驱动的,回测里下单、撤单、成交都要跟着 `api.wait_update()` 往后推进;而且撮合不是只看你这一根 5 分钟 K 线的收盘价。对最小订阅周期的 K 线,回测内部会按生成出来的盘口去做撮合,所以就可能出现你看到的两类现象:
1. 反手时,平空和开多不是同一个时刻完成,看起来时间错开。
2. 限价单价格看着“好像到了”,但按当时撮合条件其实没有成交,后面就撤掉了。
如果你这里是用 `TargetPosTask` 反手,还要再注意一点:`set_target_volume()` 不是调用那一刻立刻把单都发完,它是在后续 `api.wait_update()` 里持续执行;行情变化后,任务还可能先撤掉原来的委托,再按新价格重下,所以回测里看到“平仓先成交,开仓晚一点”或者“挂一会儿最后撤单”是正常的。
所以你的理解大方向是对的:它不是普通向量化回测,而是从头到尾拿一个模拟账户按撮合规则去推进。只是它的推进和成交结果,会受到你订阅的数据周期、下单方式、以及 `TargetPosTask`/撤单重报逻辑影响,因此不一定和你自己写的向量化结果一一对应。
如果你想让结果更细一些,可以试试订阅更小周期的数据,再对比成交时序。



有其他问题欢迎加入官方Q群748265037一起交流