3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
您的观察是非常准确的,JoinQuant(聚宽)系统的撮合机制确实是这样设置的。这主要与聚宽平台的 K线时间戳标识(后对齐) 以及 市价单撮合逻辑 有关。
以下是详细的机制解析:
在聚宽平台中,所有的行情K线数据为后对齐,即标识K线的时间为该分钟数据的结束时间。
11:15:00 的一分钟K线(Bar),它实际包含的数据时间段是 11:14:00 ~ 11:14:59。11:14:59 这一刻的最新价格。在按分钟回测时,策略(如 handle_data 函数)是在每分钟的第一秒运行的。
11:15:00 被触发执行时,系统传入的 data 是上一分钟的数据,也就是标识为 11:15:00 的这根K线(包含了 11:14:00 ~ 11:14:59 的行情)。根据聚宽API文档中关于【下单时的撮合逻辑】的说明:
当您在 11:15:00 触发交易信号并下达市价单时:
11:15:00 这根K线的收盘价。因此,您看到在 11:15:00 下单,成交价格使用的是 11:15 这根K线的收盘价,这完全符合聚宽系统的底层回测撮合设计。系统假设在 11:15:00 这一刻,您能获取到的最新市场切片价格就是上一分钟结束时的价格。