问题描述
请管理员说一下,在研究环境和回测环境,get_money_flow 函数每天几点能返回当天数据?
解决方案
在 JoinQuant(聚宽)量化平台中,关于 get_money_flow 函数获取资金流向数据的更新时间,需要结合平台的数据更新机制以及不同环境(回测/研究)的规则来理解:
1. 平台数据整体更新机制
根据聚宽 API 文档说明,当日的日线级别回测数据(包括行情、财务、资金流向等)会在收盘后通过多数据源进行校验,并在 T+1(第二天)的 00:01 更新。
2. 回测环境中的获取规则
在回测环境中,您永远无法获取到回测“当天”(当前逻辑时间)的资金流向数据。
- 原因:为了严格避免未来函数。资金流向是全天交易的汇总数据,如果在盘中就能获取到当天的全天资金流向,就等于提前知道了未来的信息。
- 表现:在回测中调用
get_money_flow时,系统会自动限制,您最多只能获取到回测逻辑时间前一个交易日的数据。这也是为什么有时会出现实际获取的数据条数比设定的count少一条的现象。
3. 研究环境中的获取规则
在研究环境中,您获取的是现实时间的数据:
- 当天盘中:无法获取当天的资金流向数据,因为全天交易尚未结束,数据还未生成。
- 当天盘后至次日凌晨:交易所收盘后,平台需要时间接收、清洗和校验数据。虽然部分数据可能会在盘后陆续入库,但为了保证数据的绝对准确和稳定,官方承诺的最终更新完成时间是 第二天(T+1)的 00:01。
- 结论:在研究环境中,建议您在 第二天凌晨 00:01 之后 再去获取前一天的
get_money_flow数据,以确保数据的完整性和准确性。
总结建议
无论是在编写回测策略还是进行盘后研究,使用 get_money_flow 时都应以获取昨日及历史数据为基准进行逻辑编写,切勿依赖当天实时更新的资金流向数据来做日内决策。