3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在 JoinQuant (聚宽) 平台的分钟回测中,使用 get_current_data() 获取的 .last_price 不是当天的收盘价,也不存在未来函数问题。
具体取值逻辑如下:
在分钟回测模式下,策略的 handle_data 函数是在每分钟的第一秒触发的(例如 09:31:00)。此时,当前这一分钟(09:31:00 - 09:31:59)的行情还没有走完,因此你无法获取当前分钟的收盘价。
get_current_data()[security].last_price 获取的是当前时刻你能看到的最新切片价格,也就是上一分钟的收盘价。
举个例子:
09:35:00 运行 handle_data 时,.last_price 获取的是 09:34:00 ~ 09:34:59 这一分钟 K 线的收盘价。before_trading_start 中)调用,.last_price 返回的是昨日收盘价。未来函数是指在历史回测中使用了当时无法获取到的未来数据(例如在早上 10:00 获取了当天 15:00 的收盘价)。
get_current_data() 的设计初衷就是为了模拟真实交易环境中的“当前快照”。在分钟回测中,它严格遵守时间轴,只返回触发时刻已经产生的最新价格(即上一分钟的收盘价),因此绝对不会取到当天的最终收盘价,也不包含未来函数。
按分钟回测时,get_current_data()[security].last_price 获取的是上一分钟的收盘价(即当前时刻的最新价),请放心使用,不用担心未来函数问题。