问题描述
get_money_flow模拟实盘或实盘时可以获取当天数据吗? 如10:00调用,获取当天截止10:00的数据。
API文档说明如下:
在回测中,为避免未来函数,无法获取回测当前逻辑时间的那一条数据(所以有时会出现实际获取数据比count少一条的现象)
解决方案
明确地回答您:不可以。
在 JoinQuant 的模拟实盘或实盘环境中,如果在盘中(例如 10:00)调用 get_money_flow 函数,是无法获取当天截止到该时刻的资金流向数据的。
原因解析:
- 数据频率限制:根据 JoinQuant API 文档说明,
get_money_flow提供的数据频率为天(日频)。这意味着资金流向数据是基于整个交易日的成交情况进行汇总计算的。 - 盘后更新:日频的资金流向数据通常需要在每天收盘后,经过交易所数据汇总和平台清洗计算后才会更新。在盘中时刻,当天的最终数据尚未生成。
- 模拟/实盘表现:在模拟交易中,如果您在今天盘中调用该函数,您最新只能获取到**昨天(前一个交易日)**的资金流向数据。这与回测中为了避免未来函数而无法获取当天数据的逻辑在表现上是一致的(即当天的数据在当天盘中是不可见的)。
如果您需要盘中的实时资金流向或买卖盘情况,建议考虑使用 get_current_tick 或 get_ticks 获取实时的盘口买卖量(如 b1_v 到 b5_v, a1_v 到 a5_v)以及成交明细,自行在策略内部进行短周期的资金流向估算。