3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
您好!理解财务数据的时间逻辑确实是量化回测中非常关键的一步,这直接关系到策略是否包含了**“未来函数”**。
您的理解有一点偏差。在 JoinQuant 平台中,财务数据(如财报、市值等)的获取并不是精确到当天的 9:30 或 15:00,而是基于**“按天(收盘后)”**的逻辑来严格对齐的。
为了让您彻底明白,我们可以用一句话来总结核心原则:“在今天的任何交易时刻(无论是9:30还是14:50),你只能看到昨天及以前已经公开的财务数据。”
get_fundamentals 函数的默认逻辑当您在回测中调用 get_fundamentals 查询财务数据,且不传入 date 参数时:
context.current_dt 的前一天。假设某上市公司在 6月23日晚上(盘后) 发布了最新的季度财报。
场景 A:回测运行到 6月23日 09:30
context.current_dt 是 6月23日。场景 B:回测运行到 6月24日 09:30
context.current_dt 是 6月24日。如果您使用的是聚宽因子库(如在自定义因子中设置 dependencies = ['operating_revenue']):
operating_revenue 表示每天可以看到的最新单季度数据。您不需要去纠结是 9:30 还是 15:00。您只需要记住:系统为了保护您的策略不使用未来数据,永远只给您提供“昨天及以前”已经确定的财务报表和市值信息。 这样回测出来的结果才是真实可信的。