3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在 JoinQuant 平台上获取 Alpha 191 因子值(或使用 get_factor_values 等因子获取函数)时,关于获取到的因子值对应的时间,主要取决于数据更新机制以及你所处的运行环境(回测/模拟 vs 研究环境)。
简单来说:因子值是基于日线收盘数据计算的,因此在盘中交易时,你只能获取到昨天(前一个交易日)的因子值。
以下是详细的规则解析:
在回测或模拟交易中(例如在 handle_data 或 market_open 中调用):
end_date=None):系统为了避免未来函数,会自动将 end_date 设定为当前逻辑时间的前一个交易日。例如,当前回测时间是 2023-10-10 09:30,你获取到的因子值实际上是 2023-10-09(昨天) 收盘后计算出来的因子值。end_date:如果你强行指定 end_date 为当天(例如 context.current_dt),由于当天的因子在盘中还未生成,系统通常会返回 NaN,或者自动回退到能获取到的最新数据(即昨天的数据)。在研究环境中调用时:
end_date 为历史某天:如果你指定 end_date='2023-10-10',你获取到的就是 2023-10-10 这一天收盘后计算的因子值。end_date 为今天(现实时间):
end_date 为今天,你就能获取到今天收盘后的因子值。end_date 为昨天,获取到“昨天”的因子值。在策略运行的盘中,永远无法获取当天的因子值(因为还没收盘)。